Supported resources
Notion separates a database container from the data sources inside that database. MantrixFlow exposes each discovered data source as its own stable stream so renaming a database or data source does not change pipeline identity.
A data-source stream has this form:
id, created_time, last_edited_time, in_trash, url, parent,
properties, created_by, and last_edited_by. Property values remain JSON
because every Notion data source can define a different schema.
Before you begin
- Open Notion integrations.
- Create an internal integration for the workspace that MantrixFlow will read.
- Enable read-content access and copy the internal integration token.
- Open each page or database that should be visible to MantrixFlow.
- Use Connections in Notion to share that content with the integration.
Creating an integration does not automatically grant access to workspace
content. Notion returns only pages and databases explicitly shared with the
integration or inherited through a shared parent page.
Create the source connection
- Open Connections in your MantrixFlow workspace.
- Click + New Connection and select Source.
- Select Notion.
- Enter a descriptive connection name and the internal integration token.
- Click Test Connection. MantrixFlow validates the token against the authenticated Notion bot identity.
- Save the connection after the test succeeds.
Discover and select data sources
- Create or open a pipeline that uses the Notion connection.
- Open Source and click Discover catalog.
- Expand the database groups and select the required data-source streams.
- Choose Full Table or Incremental for each selected data source.
- Preview representative rows.
- Save the stream settings.
Full Table and Incremental
Full Table reads every visible row from the selected data source and replaces its staging resource for the run. Incremental uses dlt merge semantics withid as the merge key and
last_edited_time as the cursor. The request uses an inclusive timestamp
boundary so records sharing the last checkpoint timestamp are reread safely and
deduplicated by primary key.
Checkpoint state advances only after successful staging and delivery. A failed
or partial run does not commit the candidate Notion cursor.
Incremental extraction is scheduled polling, not CDC. Deleted or permission-
revoked content may require a periodic Full Table reconciliation depending on
the destination model.
Transform Notion properties
Notion properties are stored in theproperties JSON object. Inspect a preview
to confirm each property’s type before writing SQL.
Example model for a task data source:
<id> with the staging relation shown in the transformation editor.
Use id as the destination Upsert key unless the published model produces a
different stable, unique key.
API behavior and safety limits
The connector uses the Notion2026-03-11 API contract and queries rows through
the modern data-source endpoint. Requests are limited to an average of three
per second per connection. 429 responses honor Retry-After; transient
server failures use bounded exponential retry.
Notion data-source queries can return at most 10,000 results for one query. If
Notion reports an incomplete request or the connector reaches that cap,
MantrixFlow fails the run instead of reporting partial data as complete. Split
very large operational datasets into smaller Notion data sources before
syncing them.
Multi-data-source databases
A single Notion database can contain multiple data sources. Discovery presents each one independently. Select the exact data source you want to sync. Older saved configurations that contain only a database ID are resolved automatically when the database has exactly one data source. When it has more than one, MantrixFlow asks for an explicit data-source selection rather than guessing.Verify a run
After starting the pipeline, open Runs and confirm:- the expected
notion.data_source_...streams are listed; - Rows failed is
0; - the destination shows the expected target tables;
- direct destination counts match the run result; and
- a second Incremental run updates edited pages without duplicating
id.
Limitations
- Notion is source-only.
- Authentication uses an internal integration token; OAuth is not available.
- Only content shared with the integration can be discovered or read.
- Search discovery can lag after permission changes.
- Data-source queries reaching 10,000 results fail safely; automatic time-window partitioning is not implemented.
- Rich page properties remain nested JSON and may need SQL extraction.
- Explicit page-content and nested-block resources are not selectable in the current self-serve catalog.
- The connector does not provide realtime CDC.
Troubleshooting
Next, review Sync modes and
Incremental sync.