answerLoopsanswerLoops Docs
Integrations

Notion

Connect a Notion workspace and sync its pages and databases into the Knowledge Base so the AI can answer from docs your team keeps in Notion.

Overview

Notion is a Knowledge Base source, not a support channel — it doesn't bring in tickets, it feeds the content the AI answers from. Connect a workspace, and answerLoops pulls every page and database your Notion connection can see into the KB, alongside URL crawls, file uploads, GitHub repo sync, and resolved tickets.

Two things make Notion different from the other KB sources:

  • You control scope by sharing. There's no page picker in answerLoops. A Notion connection only sees pages that have been explicitly shared with it, so you decide what syncs by sharing (or unsharing) pages in Notion.
  • Notion imports unpublished. Its content is searchable from the dashboard immediately, but it is not used to answer customer questions or served to the website widget until you click Publish to widget on the Knowledge Base page. Every other source publishes on import; Notion is the exception because workspace docs are often internal drafts. Your publish choice is kept across re-syncs.

Prerequisites

  • A Notion connection (access token) created in the workspace you want to sync
  • ENCRYPTION_KEY set in your environment (the token is stored encrypted at rest)

There is no environment variable to configure for Notion itself — it is set up per workspace in the Settings UI.

This is a five-minute setup, not a one-click connect — Notion requires creating a credential and separately sharing content with it. Each step below is one click or field.

1. Create a Notion connection

  1. In Notion, open Settings → Developer, then click Open developer tools (top right) — this opens notion.so's developer portal in a new tab.
  2. Click + New connection.
  3. Enter a name (e.g. answerLoops). Leave Access token selected as the authentication method — it's the workspace-scoped option; OAuth is for multi-workspace public apps and isn't what you want here.
  4. Click Create connection.
  5. You land on the new connection's page. Under Capabilities → Content capabilities, uncheck Update content and Insert content — leave only Read content checked. answerLoops only reads from Notion.
  6. Under Capabilities → User capabilities, select No user information — the sync doesn't need Notion user profiles.
  7. Under Integration token, click the eye icon to reveal the Access token, then copy it (starts with ntn_ or secret_).

2. Share the pages you want synced

Creating the connection above grants it no content access by itself — you now have to point it at specific pages, one at a time:

  1. In Notion, open the page (or top-level page of a section) you want synced.
  2. Click ••• in the top-right corner of the page.
  3. Click Connections, then select the connection you just created.

Sharing a page also shares everything nested under it, so sharing one top-level parent page is usually enough — you don't need to repeat this for every child page, only for each separate top-level section you want included. answerLoops syncs everything the connection can see this way — nothing more, nothing automatic.

3. Connect in answerLoops

Go to Integrations → Notion, paste the access token from step 1, and click Connect. The card shows the connected workspace name once it validates the token.

4. Sync

Go to the Knowledge Base page. The Notion panel there has a Sync now button. Each sync walks every shared page and database, converts the content to text, splits it into chunks, and embeds it — the same pipeline every other KB source uses. Re-syncing replaces the previous Notion content (it does not merge), so removing a page from the integration's access and re-syncing removes it from the KB.

Clicking Sync now queues a background job — the panel shows it as queued, then Syncing N/M as it works through the pages, then done, and it's safe to leave the page. The sync no longer runs inside the button's request, which used to time out on any sizeable workspace. A second Sync now while one is still running is a no-op.

Use Sync now to refresh imported content after editing your Notion pages.

A re-sync fetches the whole workspace and builds the replacement before it swaps it in, so an interrupted sync — a Notion outage, a revoked token, a network drop — leaves the previously synced content in place and searchable. The swap only happens once the new import has been built successfully.

5. Publish to the widget

Right after a sync, the Notion source shows as Unpublished in the Sources list — it's searchable on the dashboard but held back from customer-facing answers and the website widget. When you're happy with what imported, click Publish to widget on the Notion panel. Unpublish reverses it. Re-syncing preserves whichever state you last chose.

Troubleshooting

On this page