Magicplan import
Three ways to turn a magicplan Statistics export into a project: in-app upload, forwarded email, and the MCP tool.
Magicplan is a phone app that measures a home and exports a Statistics CSV. RenovAI parses that export and creates the home’s rooms (spaces) — so you capture the home once and never re-type it.
Rooms belong to the Home, not to a project. A project is a lens over the same rooms, so you can import without having a renovation project at all — which matters if you are letting the property or simply keeping records. When you do import into a project, every room from that import is scoped into it.
Three ways to import
1. In-app upload — on a project’s Spaces & Tasks tab, upload the Statistics CSV. The fastest path when you’re already in the app.
2. Forwarded email — email the Magicplan export to a project’s conversation address. Postmark receives it, the inbound webhook extracts the CSV, and it imports into that conversation’s project. (Inbound is served by convex/inboundEmail.ts, authenticated with a shared secret.)
3. MCP tool — an AI assistant calls import_magicplan({ homeId, csvText }), or passes a projectId instead to scope the rooms into a project as well. Combine with create_project to go from nothing to a populated project in two tool calls. See MCP server.
What gets imported
All three paths funnel into one shared importer (importStatsCore), so the result is identical:
- The CSV’s ROOM ATTRIBUTES rows become spaces (name, type, floor, area, perimeter).
- The full parsed plan (all six sections — plan/floor/room/wall/object) is stored as the home’s “Magicplan context”, which the
get_magicplan_contextMCP tool can read. One current plan per home. - Re-importing reconciles only Magicplan-sourced spaces, across the whole home — rooms matched by name are updated in place (so their Tasks & Elements stay attached), and new rooms are added. Rooms you added by hand survive untouched. A re-import shows a confirmation preview (kept / removed / added) first.
- A room missing from the new file is archived, not deleted. It drops out of your room lists but keeps everything attached to it — tasks, elements, measured areas, finish zones. If the room reappears in a later export, the original is restored rather than duplicated. This matters because rooms are matched by name, so renaming a room in Magicplan reads as a removal plus an addition; archiving means a renamed room never costs you its work.
About the CSV
The Statistics export is a sectioned CSV — stacked blocks (PLAN ATTRIBUTES, FLOOR ATTRIBUTES, ROOM ATTRIBUTES, WALL ATTRIBUTES, OBJECT COUNT, Object Attributes) separated by header rows and blank lines, with numbers carrying unit suffixes (2.67 m, 6.02 m²). RenovAI’s parser handles all of it.