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.
Alle handelsmerken van derden (inclusief logo's en pictogrammen) waarnaar hierin wordt verwezen, zijn het eigendom van hun respectieve eigenaren. Tenzij integraties specifiek zijn aangeduid als Gemaakt door Notion, worden ze niet ondersteund of onderhouden door Notion. De externe producten of diensten waarmee de integraties verbinding maken, zijn geen toepassingen van Notion (zoals gedefinieerd in de Hoofdovereenkomst inzake abonnementen of Persoonlijke gebruiksvoorwaarden, indien van toepassing). Door een integratie in te schakelen of anderszins gebruik te maken van de Notion-integratiegalerij, ga je akkoord met de Voorwaarden van de integratiegalerie.