Our Notion integration is a read-only import and sync connector in the Admin Panel for the customer's Trust Center. The goal is to gate-keep content for security and compliance reviews through a public website. Content is either public, contact-assigned with our without NDA or entirely internal. The access level is modifiable by the workspace's content managers.
A workspace admin explicitly connects Notion via OAuth (handled through Nango), then users can browse/search their authorized Notion pages and databases, select content, and import it into our document library. For selected pages, we read page metadata and block content and convert it to markdown; if a page contains a file block (e.g., PDF/file), we download that file and attach it to the document instead.
We store the imported document plus source metadata (Notion page ID, URL, title, timestamps, parent/icon) in our tenant-scoped CMS so it can be published and managed in our app. We run incremental metadata sync every 4 hours (and allow manual sync) to keep already-linked documents up to date.
We do not create, edit, or delete anything in Notion; we only read content the user has authorized and can disconnect at any time, which stops syncing and removes the connection record from our side.
How to use
1. A workspace admin starts Notion connection in our Integrations page. 2. We create a secure OAuth session via Nango and redirect the admin to Notion consent. 3. After consent, Nango sends us the connection details, and we save only the connection reference in our tenant-scoped integrations table. 4. An authorized user opens “Import from Notion” in our document flow. 5. We call Notion (through Nango) to list/search pages and databases the connected account can access. 6. The user selects a page to import. 7. We fetch page metadata (ID, title, URL, last edited time). 8. If the page contains a supported file block (for example PDF/file), we securely download that file and store it in our document storage. 9. If no file block is present, we read page blocks and convert the content to markdown for our document editor. 10. We create/update a document in our app, linking it to the Notion source (source = notion, source_id = Notion page ID) and storing sync metadata (URL, timestamps, parent/icon info). 11. We run incremental background sync every 4 hours (and support manual sync) to refresh metadata/title/timestamps for already linked Notion-sourced documents. 12. Users can disconnect Notion at any time; we delete the active connection record on our side and stop future syncs.
- We use Notion only to read authorized content for import/sync into our Trust Center documents. - We do not create, edit, or delete Notion content. - Access is tenant-scoped and tied to explicit user authorization.
Todas las marcas comerciales de terceros (incluidos logotipos e íconos) a las que se hace referencia en este documento son propiedad de sus respectivos propietarios. A menos que se indique específicamente que fueron creadas por Notion, las integraciones no cuentan con soporte ni mantenimiento por parte de Notion. Los productos o servicios de terceros a los que se conectan las integraciones son aplicaciones que no pertenecen a Notion (de acuerdo con lo definido en el Acuerdo de suscripción principal o en los Términos de uso personalde Notion, según corresponda). Al activar cualquier integración o usar la Galería de integraciones de Notion, aceptas los Términos de uso de la galería de integraciones de Notion.