Repository navigation
Databases
When a page contains a database (child_database), pull exports its rows to a CSV file next to the page's Markdown file and links to it:
docs/
└── Roadmap/
├── Roadmap.md
└── Tasks.csv
[🗃️ Tasks](./Tasks.csv) <!-- notion:child_database 1e369015-c240-8021-a930-e3ee43ea0ef7 -->-
File name: the database title, with spaces turned into
_and unsafe characters removed (Product Inventory→Product_Inventory.csv). -
Untitled databases are named
Database_<first 8 characters of the ID>.csv. -
Name clashes on the same page get
_2,_3and so on. - The header is the database's properties, and each row is one entry.
- If an export fails, you get a warning and the rest of the pull carries on.
Simple Notion tables (the table block, not a database) are not exported. They become Markdown tables inside the page. See Markdown Support.
Database sync is one way for now: Notion → CSV. Edits you make to a CSV file are not pushed back. The database block itself is a kept block, so a push never deletes or changes it (see Directory Layout and Kept Blocks).
The client uses Notion API version 2026-03-11, which reads databases through their data sources. The tool reads each database through its first data source, so you don't need to do anything differently: give the integration access to the page that holds the database.