Sources

Notion

Import Notion pages and embedded call transcripts into the warehouse.

Connect Notion

  1. In Embrasure, open Warehouse → Ingestion → New sync and select Notion.
  2. Click Connect Notion.
  3. Choose the pages to share in Notion and allow access. You’ll return to Embrasure to start syncing.

Page text, properties, links, and available call transcripts are imported together. You don’t need an API key. Imported content uses the destination warehouse's access controls; Notion's individual page permissions are not copied.

Pages and transcripts

Each row contains the page ID, title, original URL, creation and edit times, properties, parent, and Markdown content. Meeting transcripts embedded in pages are included when Notion makes them available to the connection. Plain-text transcripts pasted into pages are imported too. This source does not record calls or transcribe audio.

Embrasure uses Notion's Markdown API with transcript retrieval enabled. It rereads pages so transcripts that finish processing later can be picked up. Keep the generated id key and sync_cursor selections.

Limits

  • Discovery follows Notion's search API and the authorized connection's access. Notion does not guarantee that search returns every accessible page, and its index can change during a scan. Recently shared pages may take time to appear. Share required pages directly with the connection and check that they appear in the warehouse; a successful sync means the returned pages were processed, not that every workspace page was enumerated.
  • Deleted pages and revoked access do not automatically remove previously imported warehouse rows. Remove retained copies separately when required.
  • Unsupported link previews and embeds retain their link and an explicit placeholder. References to unshared child content remain marked as unavailable; Embrasure does not request broader access.
  • Inaccessible root pages, genuinely truncated content, and transient API errors fail the batch instead of silently importing a partial transcript. Retrying resumes from the last committed batch.
  • Initial imports scan in edit-time order. Rows become queryable as batches finish; a recent batch timestamp does not mean the full import is complete. Check the connection's run status before treating results as the latest available in Notion.
  • A page can contain up to 4 MB of imported text and require up to 100 content reads. Larger pages fail with a clear error.
  • This connector imports searchable warehouse rows. It does not add Notion to the separate connected-document retrieval feature.

Operator setup

Create an Embrasure public connection in Notion’s developer portal, enable Read content only, and register https://api.embrasure.ai/v1/source-oauth/notion/callback as the redirect URI. The page picker is provided by Notion.

Set server-side NOTION_SOURCE_OAUTH_CLIENT_ID and NOTION_SOURCE_OAUTH_CLIENT_SECRET. In AWS, populate the matching Secrets Manager entries before enabling enable_notion_source_oauth_secrets for API and worker tasks. Set the deployment repository variable ENABLE_NOTION_SOURCE_OAUTH_SECRETS=true to preserve this setting on subsequent releases. The source remains unavailable while these credentials are missing. Never ask customers to create their own OAuth app or paste a token.

OAuth state is single-use and browser-bound. Tokens are encrypted, reconnects stay bound to the original Notion workspace, and rotating refresh credentials are stored atomically when Notion supplies expiring grants.