Notion Migration Guide
Upgrading to 4.0.0
Version 4.0.0 migrates the connector from Notion API version 2022-06-28 to 2025-09-03. This is a major update driven by Notion's introduction of multi-source databases, where the concept of a "database" has been split into "databases" (containers) and "data sources" (individual schemas/property sets).
Breaking Changes
-
databasesstream replaced bydata_sources: Thedatabasesstream has been removed and replaced with a newdata_sourcesstream. The new stream returns objects with"object": "data_source"instead of"object": "database", along with a different parent structure (database_idparent anddatabase_parentgrandparent fields). -
pagesstream parent field updated: Pages that belong to a database now reportparent.type: "data_source_id"with aparent.data_source_idfield instead ofparent.type: "database_id"with aparent.database_idfield. -
blocksstream schema additions: Newin_trashboolean field added anddata_source_idparent type added.
Migration Steps
A full schema refresh and data reset are required for the Data Sources (formerly Databases), Pages, and Blocks streams.
- Select Connections in the main nav bar.
- Select the connection(s) affected by the update.
- Select the Schema tab.
- Click Refresh source schema to pick up the new
data_sourcesstream and updatedpagesschema. - Enable the new Data Sources stream if you were previously syncing the Databases stream.
- Click Refresh source schema to pick up the new
- Select the Status tab.
- In the Enabled streams list, click the three dots on the right side of the Pages stream and select Clear data.
- Do the same for the Blocks stream if you are syncing it.
- Trigger a new sync by clicking Sync Now.
For more information on clearing your data in Airbyte, see this page.
Upgrading to 3.0.0
We're continuously striving to enhance the quality and reliability of our connectors at Airbyte. As part of our commitment to delivering exceptional service, we are transitioning source Notion from the Python Connector Development Kit (CDK) to our innovative low-code framework. This is part of a strategic move to streamline many processes across connectors, bolstering maintainability and freeing us to focus more of our efforts on improving the performance and features of our evolving platform and growing catalog. However, due to differences between the Python and low-code CDKs, this migration constitutes a breaking change for users syncing data from the Comments stream.
Specifically, we’ve evolved and standardized how state is managed for incremental streams that are nested within a parent stream. This change impacts how individual states are tracked and stored for each partition, using a more structured approach to ensure the most granular and flexible state management. To gracefully handle these changes for your existing connections, we highly recommend clearing your data for the Comments stream before resuming your syncs with the new version.
If you are not syncing data from the Comments stream, this change is non-breaking, and no further action is required.
Migration Steps
Data for the Comments stream will need to cleared to ensure your syncs continue successfully. To clear your data for the Comments stream, follow the steps below:
- Select Connections in the main nav bar.
- Select the connection(s) affected by the update.
- Select the Status tab.
- In the Enabled streams list, click the three dots on the right side of the Comments stream and select Clear data.
After the clear succeeds, trigger a sync for the Comments stream by clicking "Sync Now". For more information on clearing your data in Airbyte, see this page.
Upgrading to 2.0.0
Version 2.0.0 introduces a number of changes to the JSON schemas of all streams. These changes are being introduced to reflect updates to the Notion API. Some breaking changes have been introduced that will affect the Blocks, Databases and Pages stream.
- The type of the
rich_textproperty in the Pages stream has been updated from an object to an array ofrich_textobjects - The type of the
phone_numberproperty in the Pages stream has been updated from a string to an object - The deprecated
textproperty in content blocks has been renamed torich_text. This change affects the Blocks, Databases and Pages streams.
A full schema refresh and data reset are required when upgrading to this version.