Skip to main content

Notion Integration

Sync your Notion pages, databases, and wikis to your Inherent knowledge base.

What Gets Synced

Content TypeSyncedNotes
PagesYesAll text content
DatabasesYesAs structured documents
Linked databasesYesFollows links
CommentsNoNot synced
Page historyNoOnly latest version

Quick Setup

1. Connect Notion

  1. Go to DashboardIntegrationsNotion
  2. Click Connect Notion
  3. Select pages/databases to share with Inherent
  4. Complete authorization

2. Configure Sync

Choose what to sync:

{
"root_pages": ["page-id-1", "page-id-2"],
"databases": ["database-id-1"],
"include_subpages": true,
"sync_linked_pages": true
}

3. Initial Sync

The initial sync processes all selected pages. Large workspaces may take several minutes.

Sync via API

curl -X POST https://api.inherent.systems/v1/integrations/notion \
-H "Authorization: Bearer $INHERENT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"access_token": "secret_...",
"config": {
"root_pages": ["page-id"],
"include_subpages": true
}
}'

Content Mapping

Pages

Notion pages become documents with:

  • Title → title metadata
  • Content → Document content (converted to markdown)
  • Properties → Additional metadata
  • URL → source_url metadata

Databases

Database entries become individual documents:

  • Title property → title
  • All properties → Metadata fields
  • Page content → Document content

Block Support

Block TypeSupport
ParagraphFull
Headings (H1-H3)Full
Bulleted/Numbered listsFull
ToggleFull (expanded)
CodeFull (with language)
QuoteFull
CalloutFull
TableFull
ImageCaption only
EmbedURL only
Synced blockFull

Metadata Extraction

{
"title": "Engineering Wiki",
"source": "notion",
"source_id": "abc123-def456",
"source_url": "https://notion.so/...",
"notion_type": "page",
"last_edited": "2024-01-15T10:00:00Z",
"created_by": "John Doe"
}

Database properties are also extracted:

{
"title": "API Design Guidelines",
"status": "Published",
"category": "Engineering",
"owner": "Platform Team",
"tags": ["api", "guidelines", "standards"]
}

Permissions

Your Notion integration needs access to:

  • Pages you want to sync
  • Databases you want to sync
  • User information (for author metadata)

Share pages/databases with your integration in Notion.

Troubleshooting

Pages Not Syncing

  1. Verify page is shared with the Inherent integration
  2. Check if page is in a selected root page tree
  3. Confirm page has content (empty pages are skipped)

Missing Content

  1. Check block type support (see table above)
  2. Verify synced blocks resolve correctly
  3. Check for permission issues on linked content

Rate Limits

Notion API has rate limits. Inherent handles retries automatically, but large workspaces may experience delays.

Example: Sync Company Wiki

{
"config": {
"root_pages": ["company-wiki-page-id"],
"include_subpages": true,
"sync_linked_pages": true,
"exclude_patterns": [
"*/Archived/*",
"*/Drafts/*"
],
"chunking": {
"strategy": "headings",
"max_tokens": 512
}
}
}