Sources

Notion

Ingest a Notion workspace export — every page, every database row.

The notion source ingests a workspace export from Notion in Markdown & CSV format. Each page becomes one item; database rows become items as well, with the database itself acting as a parent.

Get the export

  1. In Notion, click Settings (top-left) → SettingsWorkspaceExport content.
  2. Choose Export format: Markdown & CSV.
  3. Check Include subpages so nested pages come along.
  4. Optionally check Include files & images (the export will be much larger).
  5. Click Export. Notion emails a download link when ready.
  6. Download the ZIP.

Register the export

bash
vault add-export \
  --source notion \
  --path ~/Downloads/notion-export.zip \
  --account workspace-name

Use your Notion workspace name as the account. If you export multiple workspaces (personal + a team), each gets its own --account.

What gets ingested

ItemNotes
One page item per .md filekind=page, body is the Markdown, ts from filesystem mtime when in the export.
One row item per CSV rowkind=database-row, columns become structured metadata.
Page hierarchyParent / child relationships preserved as tags.
Database schemaCaptured per-database from the CSV header.
Inline imagesImage references in Markdown remain as relative paths into staging/.

Ingest it

bash
vault ingest --source notion
vault
$ vault ingest --source notion
Extracting notion-export.zip ...
Walking 1,402 pages and 18 databases ...
pages: 1,402
database rows: 8,210
Run 15 completed in 22.7s

Caveats

  • Image references are relative. Notion's export embeds images as Page%20Name%20<id>/image.png. The bytes live in staging/ after extraction; the Markdown body keeps the relative path. Search works on the page text, not the images.
  • Synced blocks and links to pages become Markdown links — the link target may resolve to another item in the export but the parser does not auto-follow at ingest time.
  • No comments. Page comments aren't part of the Markdown export.
  • Database views are not preserved — only the underlying rows. Views are a UI concept and don't survive the export.
  • For very large workspaces, prefer multiple smaller per-area exports over one massive ZIP — the parser handles large archives but extraction is bound by your local disk.