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

# Notion

> Connect Notion workspaces to Omni for unified search across pages, databases, and content blocks

The Notion connector enables Omni to index and search content from your Notion workspace, including databases, pages, and all nested content blocks.

## Overview

### What Gets Indexed

| Source           | Content                                                                                             |
| ---------------- | --------------------------------------------------------------------------------------------------- |
| Databases        | Database title, description, and property schema definitions                                        |
| Database Entries | Page content, properties (title, select, date, etc.), and nested blocks                             |
| Standalone Pages | Full page content including all nested blocks                                                       |
| Block Types      | Paragraphs, headings, lists, code blocks, tables, toggles, bookmarks, equations, callouts, and more |

### How It Works

1. You create a Notion internal integration and share content with it
2. The connector syncs all shared databases and pages via the Notion API
3. Page content is rendered from blocks — nested children are fully traversed and included
4. Incremental sync fetches only pages modified since the last sync

<Note>
  The connector uses read-only access. Omni cannot modify any content in your Notion workspace.
</Note>

## Prerequisites

Before setting up the Notion connector, ensure you have:

* **Notion account** with permission to create integrations
* **Omni deployment** with the Notion connector service running

## Setup

### Step 1: Create a Notion Internal Integration

1. Go to [My Integrations](https://www.notion.so/my-integrations)
2. Click **New integration**
3. Select the workspace you want to connect
4. Give the integration a name (e.g., "Omni Search")
5. Under **Capabilities**, ensure these are selected:
   * **Read content**
   * **Read user information (without email addresses)**
6. Click **Save**
7. Copy the **Internal Integration Secret** (starts with `ntn_`)

<Warning>
  Keep your integration secret secure. Anyone with access to this token can read content shared with the integration.
</Warning>

### Step 2: Share Content with the Integration

Notion integrations can only access pages and databases that have been explicitly shared with them. This is a critical step.

**To share a page or database:**

1. Open the page or database in Notion
2. Click the **...** menu in the top-right corner
3. Scroll to **Connections** and click **Connect to**
4. Find and select your integration (e.g., "Omni Search")

<Tip>
  Share top-level pages to grant access to all their child pages automatically. For example, sharing a team wiki's root page will make all nested pages accessible to the connector.
</Tip>

### Step 3: Connect in Omni

1. Navigate to **Settings** → **Integrations** in Omni
2. Find **Notion** and click **Connect**
3. Enter your Internal Integration Secret
4. Click **Connect**
5. Click **Sync Now** to start the initial sync

<Check>
  Your Notion connector is now configured. Initial indexing may take a while depending on the amount of content in your workspace.
</Check>

## Managing the Integration

### Viewing Sync Status

Navigate to **Settings** → **Integrations** to view the sync status for each source directly on the list, including last sync time, number of indexed items, and any errors. Click **Configure** on a source for more details.

### Sync Modes

The Notion connector supports two sync modes:

| Mode            | Description                                                      |
| --------------- | ---------------------------------------------------------------- |
| **Full**        | Syncs all shared databases and pages (used for initial sync)     |
| **Incremental** | Syncs only pages modified since the last sync (used for updates) |

After the initial full sync, the connector automatically performs incremental syncs to capture new and updated content.

### Adding More Content

To index additional pages or databases:

1. Share the new content with your integration in Notion (see Step 2)
2. The next sync will automatically include the newly shared content

### Removing the Integration

1. Navigate to **Settings** → **Integrations**
2. Click **Configure** against the Notion source
3. Click **Delete Permanently**

## Troubleshooting

<AccordionGroup>
  <Accordion title="Pages not appearing in search">
    The most common cause is that the page or its parent has not been shared with the integration.

    **Solution**:

    1. Open the page in Notion
    2. Click **...** → **Connections**
    3. Verify your integration is listed
    4. If not, add the connection and trigger a new sync
  </Accordion>

  <Accordion title="Token validation failed">
    The integration secret may be expired or revoked.

    **Solution**:

    1. Go to [My Integrations](https://www.notion.so/my-integrations)
    2. Select your integration and regenerate the secret
    3. Update the token in Omni via **Settings** → **Integrations** → **Notion**
  </Accordion>

  <Accordion title="Rate limiting errors">
    Notion has API rate limits. The connector handles these automatically with exponential backoff.

    **Solution**: Wait for the connector to retry. For large workspaces, initial sync may take longer due to rate limits.
  </Accordion>

  <Accordion title="Database entries missing">
    Database entries are only indexed if the parent database is shared with the integration.

    **Solution**: Ensure the database itself (not just individual entries) is shared with the integration via **Connections**.
  </Accordion>
</AccordionGroup>

## Security Considerations

* **Read-only access**: The connector only reads page and database content
* **Token security**: Integration secrets should be treated like passwords
* **Encrypted storage**: Credentials are encrypted at rest in Omni
* **Explicit sharing**: Only content explicitly shared with the integration is accessible — the connector cannot access your entire workspace by default

## Permissions

The Notion connector uses workspace-level permissions. All members of the Notion workspace can access synced content in Omni.

Content visibility in Omni is determined by what has been shared with the integration — only pages and databases explicitly shared with your Notion integration (see [Step 2](#step-2-share-content-with-the-integration)) are indexed and searchable.

## What's Next

<CardGroup cols={3}>
  <Card title="Search Your Data" icon="magnifying-glass" href="/user-guide/search">
    Learn how to search across Notion pages
  </Card>

  <Card title="AI Assistant" icon="robot" href="/user-guide/ai-assistant">
    Ask questions about your Notion content
  </Card>

  <Card title="Add More Connectors" icon="plug" href="/connectors/overview">
    Connect additional data sources
  </Card>
</CardGroup>
