Notion
Your team’s Notion workspace probably holds a lot of useful knowledge: runbooks, product specs, onboarding docs, meeting notes. The Notion source pulls that content into a Scout table so your agents can search and retrieve it.
Common use cases:
- An HR bot that answers questions from your employee handbook
- A support agent that surfaces relevant internal docs during a conversation
- A workflow that keeps a knowledge base current as Notion pages are edited
Before You Start
- Create a Collection and destination table first (see Creating Collections)
- Add at least these columns:
title(Single Line Text),url(URL),content(Multi Line Text) - Have your Notion workspace ready with the pages or databases you want to sync
Connect the Notion Integration
- Open Scout integrations in the dashboard
- Click Connect next to Notion
- In Notion, select the workspace and grant Scout access to the pages or databases you want
Keep permissions scoped to only the content you need. You can always expand access later.
Create a Notion Source
- Open your Collection table
- Click Sources -> Add Source
- Select Notion
- Choose the connected Notion integration
- Map Notion fields into table columns
- Optionally set a sync frequency
- Click Create
Recommended Field Mapping
Use consistent mappings so future syncs stay stable:
| Notion Field | Table Column | Type |
|---|---|---|
| Page title | title | Single Line Text |
| Page URL | url | URL |
| Body / content | content | Multi Line Text |
| Last edited time | updated_at | Datetime |
What Gets Synced
Notion has a few quirks worth knowing before your first sync:
What syncs well:
- Rich text blocks (paragraphs, headings, bullets, toggles, callouts)
- Inline tables
- Database rows and their properties
What doesn’t sync:
- Embedded files and attachments (PDFs, images, videos)
- Inline databases are extracted as text, not as structured data
- Linked page previews are not followed
Nested pages: Scout syncs the pages you grant access to. It does not automatically crawl into nested child pages unless those are also explicitly granted. If your Notion structure is deeply nested, grant access at a high enough level.
Run and Validate
After creating the source:
- Run the first sync manually
- Open a few rows in your table and check the
contentcolumn - Confirm it contains actual body text, not just a title
- Run a sample semantic query to check retrieval quality
If your content field is empty, the most common cause is a mapping issue — confirm body text is mapped to content, not left unmapped.
Common Issues
Missing Pages
- Recheck which pages were granted to the integration in Notion
- Permissions changes in Notion can take a few minutes to propagate — wait and rerun
Empty or Thin Content
- Confirm the page has actual text content, not only embeds or attachments
- Check that body content is mapped to your
contentcolumn, not left blank
Sync Runs but Data Looks Outdated
- Enable a schedule so Scout re-syncs automatically
- Re-run manually after significant edits in Notion
Pages Visible in Notion but Missing from Scout
- Nested child pages require explicit access grants in Notion
- Databases need their own integration grant separate from parent pages
Best Practices
- Start with one Notion section, validate quality, then expand scope
- Keep column mappings consistent across tables that use Notion sources
- Use scheduled sync for active docs that change frequently; skip it for static archives
- Pair with metadata filters in queries to scope results to specific Notion sections
Next Steps
- Sources: Compare all source types and sync options
- Querying Data: Search synced Notion content with semantic and hybrid search
- Web Scraping: Add public website content alongside Notion