> ## Documentation Index
> Fetch the complete documentation index at: https://docs.scoutos.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Sync Notion to Scout Databases for Agent Search

> Connect Notion and sync workspace pages and databases into a Scout Database. Keep runbooks, handbooks, and internal docs searchable by your agents.

Notion is where many teams keep their living knowledge — runbooks, product specs, onboarding guides, meeting notes, and employee handbooks. The Notion source imports that content into a Scout Database so your agents can search it by meaning and surface the right answer mid-conversation. Set it up once and Scout keeps the table current as pages change.

**Common use cases:**

* An **HR bot** that answers employee questions straight from the handbook
* A **support agent** that surfaces internal docs while helping a customer
* A **knowledge base** that stays current automatically as the team edits Notion

## Before You Start

Set up the destination before connecting Notion:

1. Create a **Database** and a destination **Table**. See [Creating Databases](/databases/creating-databases).

2. Add these columns to the table:

   | Column    | Type             |
   | --------- | ---------------- |
   | `title`   | Single Line Text |
   | `url`     | URL              |
   | `content` | Multi Line Text  |

3. Identify the Notion pages or databases you want to sync.

<Tip>
  Store the main body text in a column named `content`. Scout automatically chunks and embeds this field for semantic search — if body text lands anywhere else, retrieval won't work as expected.
</Tip>

## Connect the Notion Integration

<Steps>
  <Step title="Open Integrations">
    Go to **Integrations** in the Scout dashboard and find Notion in the list.
  </Step>

  <Step title="Click Connect">
    Click **Connect** next to Notion to start the OAuth flow.
  </Step>

  <Step title="Grant access in Notion">
    In the Notion authorization screen, select the workspace and grant access to the specific pages and databases you want Scout to read.
  </Step>
</Steps>

<Note>
  Keep permissions scoped narrowly at first — grant only the pages you intend to sync, then expand access later as your needs grow.
</Note>

## Create a Notion Source

<Steps>
  <Step title="Open your Database table">
    Navigate to **Databases**, open your Database, and select the destination table.
  </Step>

  <Step title="Add a Source">
    Click the **Sources** tab, then **Add Source**, and select **Notion**.
  </Step>

  <Step title="Choose the integration">
    Select the Notion integration you connected above.
  </Step>

  <Step title="Map fields to columns">
    Match the Notion fields to your table columns. See [Recommended Field Mapping](#recommended-field-mapping) below.
  </Step>

  <Step title="Set sync frequency">
    Optionally choose a schedule, or leave the source as manual-only.
  </Step>

  <Step title="Create the source">
    Click **Create** to save the source. You can run the first sync immediately.
  </Step>
</Steps>

## Recommended Field Mapping

| 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         |

<Tip>
  Keep these mappings consistent across every table that uses a Notion source. Consistent schemas make queries and metadata filters predictable across your Databases.
</Tip>

## What Gets Synced

**Syncs well:**

* Rich text blocks — paragraphs, headings, bullet lists, toggles, and callouts
* Inline tables
* Database rows and their properties

**Doesn't sync:**

* Embedded files and attachments (PDFs, images, videos)
* Inline databases (extracted as text, not as structured data)
* Linked page previews (not followed)

<Warning>
  **Nested pages.** Scout syncs only the pages you've granted access to and does not auto-crawl into nested child pages unless those are also explicitly granted. For deeply nested structures, grant access at a high enough level to cover everything you want synced.
</Warning>

## Run and Validate

<Steps>
  <Step title="Run the first sync manually">
    Trigger the initial sync from the Sources panel and watch it complete.
  </Step>

  <Step title="Check the content column">
    Open a few synced rows and confirm the `content` column holds actual body text — not just the page title.
  </Step>

  <Step title="Run a sample query">
    Run a semantic query against the table to confirm retrieval quality. See [Querying Data](/databases/querying-data).
  </Step>
</Steps>

<Note>
  An empty `content` field almost always means a mapping issue. Confirm the Notion body text is mapped to the `content` column and re-run the sync.
</Note>

## Common Issues

| Symptom                                      | What to Check                                                                                                              |
| -------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| **Missing pages**                            | Recheck the granted pages in Notion. Permission changes can take a few minutes to propagate — wait and re-run the sync.    |
| **Empty or thin content**                    | Confirm the page has real text rather than only embeds or attachments, and that body content maps to `content`.            |
| **Data looks outdated**                      | Enable a sync schedule for automatic re-syncs, or re-run manually after major edits.                                       |
| **Visible in Notion but missing from Scout** | Nested child pages need explicit access grants. Databases need their own integration grant, separate from the parent page. |

## Best Practices

* **Start small.** Sync one Notion section, validate content quality and retrieval, then expand.
* **Keep mappings consistent.** Use the same column mappings across every table backed by a Notion source.
* **Schedule only what changes.** Use a scheduled sync for frequently edited docs; skip it for static archives.
* **Scope with metadata.** Pair Notion content with metadata filters in your queries to narrow results to a specific section or topic.

## Next Steps

<CardGroup cols={3}>
  <Card title="Sources" icon="rotate" href="/databases/sources">
    Compare all source types and sync options.
  </Card>

  <Card title="Querying Data" icon="magnifying-glass" href="/databases/querying-data">
    Search synced content with semantic, keyword, and hybrid search.
  </Card>

  <Card title="Creating Databases" icon="table" href="/databases/creating-databases">
    Design your table schema before configuring a source.
  </Card>
</CardGroup>
