Import from Notion

Upload the "Markdown & CSV" export of your Notion workspace. Databases with a Status column become Projects with tasks; the remaining .md pages go to your org's Wiki preserving the folder hierarchy.

How to export from Notion

  1. In Notion, open the workspace or space you want to migrate.
  2. Click the · · · menu top-right → Export.
  3. In the export dialog:
    • Export format: Markdown & CSV (not HTML, not PDF).
    • Include content: Everything.
    • Include subpages: on.
    • Create folders for subpages: on (this is what preserves the hierarchy).
  4. Wait for the export to finish (Notion emails the link if it's large).
  5. Download the ZIP. Don't unzip — Orkestra consumes it as-is.

The ZIP must be under 50 MB. If your workspace is larger, export by section (each database or page group separately) and do multiple imports.

What gets imported

Databases → Projects

  • Every .csv with a column named Status (or State) becomes an Orkestra Project.
  • Unique values of that column become WorkflowStates. Values matching Done, Completed, Closed, Resolved or Shipped (case-insensitive) are marked as completed.
  • Each CSV row becomes a Task. Title = Name or Title column. Priority = Priority column (Low/Medium/High/Urgent).
  • Other CSV columns are stored in the task description as **Column: value** blocks. No custom fields are created (Notion's native field types don't map 1:1 with Orkestra's).
  • The row ID (notion_id, Notion ID, ID) is stored in custom field notion_id. If the CSV doesn't ship an ID, the title is used as fallback.

.md pages → Wiki

  • Every .md not inside a database folder becomes a Wiki page (ORGANIZATION scope, PUBLIC visibility).
  • Folder hierarchy is preserved as parent-child relations in the wiki tree.
  • Notion appends a hex hash to every file/folder (e.g. My Page 32a4b5c6d7e8.md). Orkestra strips it from the visible title and preserves it as custom field notion_id.
  • Internal links [text](Page%20Name%20abc123.md) are rewritten to /wiki/<slug> if the target page was imported. Broken links become plain text and are counted in the preview.

Out of scope

  • Databases without a Status/State column — silently ignored with a warning. If you want to migrate one, add a temporary Status column before exporting, or use the generic CSV importer.
  • CSVs with more than 1,000 rows — truncated to the cap with a warning. For larger databases, split them.
  • Notion callouts, toggles, sync blocks, embeds — preserved as markdown/text as exported. They don't render as special blocks in Orkestra.
  • Embedded images — stay as markdown references to relative paths inside the ZIP. We don't upload binaries. To preserve them, upload by hand to the pages or tasks.
  • Relations between databases (Relation properties, Rollups) — silently ignored.
  • Views / filters / sorts — not migrated. Rebuild them with Saved Views in Orkestra.
  • Notion templates — not imported.
  • Assignees — the Assignee / Owner column in the CSV is detected but not used to assign tasks. Notion exports don't carry consistent emails, so Orkestra doesn't try to map.
  • Comments, discussions, mentions — Notion doesn't include them in the export.
  • Non-standard properties (Formula, Created by, Last edited, Select multi, Date range) — stored as text in the task description, not as typed custom fields.
  • Workspace settings, permissions, teamspaces — out of scope.

Requirements

  • The import requires an active organization (ORGANIZATION scope). You can't import into a personal workspace.
  • Admin or project/wiki creator permissions in the org.

Warnings vs silent ignores

The preview surfaces warnings for: CSVs without Status (skipped), CSVs > 1,000 rows (truncated), unexpected non-markdown files. Everything else above is silently ignored.

Steps in Orkestra

  1. Go to Settings → Import → Notion.
  2. Upload the export ZIP.
  3. Review the preview: number of projects to create, wiki pages, broken links, truncated rows.
  4. Execute. Atomic commit.

Resources