Skip to main content
Import pages and databases from Notion workspaces into AGO. The connector preserves hierarchical structure, converts Notion blocks to Markdown, downloads Notion-hosted images, and supports database filtering and grouping.

Supported Content Types

Pages

Import individual pages or entire page trees:
  • Rich content (text, images, code blocks, lists)
  • Parent-child relationships preserved

Databases

Import database items as individual knowledge documents:
  • Two content modes: AGO detects whether content lives in item bodies or in database properties
  • Filter by property values to import specific records
  • Group items by a property to create a virtual folder hierarchy

Prerequisites

  1. A Notion workspace with content to import
  2. A Notion integration (OAuth or API token) with access to the target pages or databases
  3. Share the pages or databases with your Notion integration
For step-by-step OAuth setup instructions, see Connect Notion.

Setup Steps

  1. Navigate to Knowledge > Sources > Create New Source
  2. Select Notion as the connector type
  3. Authenticate via OAuth (recommended) or enter an API token
  4. With OAuth, choose a workspace and a page in the page picker. On deployments where Notion OAuth is unavailable, use an API token and enter the page or database ID manually. The manual ID field is hidden when OAuth is available.
  5. To import a database inside the selected page, choose Database under Content to import, then select one of the page’s accessible databases. You can also select a database directly in the page picker.
  6. Configure filtering and grouping options (see below)
  7. Save and run a manual sync

Configuration Options

Page Sources

To enable Append child links, open Advanced (JSON) and set "append_child_links": "true" in the existing configuration, keeping the quotation marks around "true". Save while still in JSON mode. The form’s switch currently does not enable this option.

Database Sources

Database Filtering

With an OAuth connection, choosing a database automatically loads its Select, Multi-select and Status properties. Check the values you want to import:
  • Values within the same property use OR: choosing two tags includes records with either tag.
  • Different properties use AND: a record must match each selected property.
  • Leave every value unchecked to import all records.
Click Calculate item count to see one total for all selected filters before importing. The calculation runs only when you click; changing filters does not trigger it. No page content is imported. Large selections may take longer to count. If you change the filters, database or workspace, calculate again to see the corresponding total. This counts matching database records, not the additional folders created by grouping. Changing the database or workspace clears the previous filters and grouping, since those properties belong to the previous database. Only databases shared with AGO in Notion appear in the picker. For other property types or more complex conditions, use Advanced (JSON). Existing advanced filters are preserved; clear them explicitly to switch to visual filters. With an API token, configure filters using JSON. Use Notion’s filter syntax to import specific records. For example, to import only published items:
You can combine multiple filters with and/or operators.

Database Grouping

With the OAuth database picker, open Advanced (JSON) to configure grouping and other optional import settings. The manual authentication and source configuration sections are hidden while you use the database selectors. Group database items by a property to create a folder-like structure in AGO: Example: Grouping a product database by “Category” with the title template {property_value} Section creates parent documents like “Electronics Section” and “Books Section”, with individual items nested underneath.

What Gets Imported

Content Conversion

Page content is imported as Markdown:
  • Text blocks become paragraphs
  • Heading blocks become Markdown headers (#, ##, ###)
  • Notion-hosted images are downloaded and stored as attachments; external images keep their original URL
  • Lists, code blocks, and tables are preserved
  • Toggle contents, callouts, and columns are included as readable text
  • Imported child pages and embedded databases retain their hierarchy and links in AGO
To import child pages and embedded databases inside database items, open Advanced (JSON) and set "import_subpages": "true", keeping the quotation marks around "true". Save while still in JSON mode. The form’s boolean setting currently does not enable this option.

Database Properties

When a database item has body content, AGO imports that body. Otherwise, AGO imports the title and includes the properties as Markdown when at least three properties have non-empty values. Items with fewer non-empty properties contain only their title.

Document Types

AGO creates different document types based on your Notion content:

Import Progress

Open Sync History to follow a running Notion import. For databases, AGO shows the number of imported items out of the total matching your filters, with a progress bar. The total appears after the database entries have been listed, before their page contents finish loading. During content loading, the current item also shows the loading count (for example, 12/150). The imported-item counter advances as entries are saved in AGO. Database and group containers are excluded from this count. Items from embedded databases are added to the total as they are discovered, without counting the same item twice. Once the items are imported, the remaining synchronization steps continue to appear in the history.

Troubleshooting

  • Verify the Notion integration has access to the target pages or database
  • For OAuth, try re-authorizing the connection
  • For API tokens, check the token hasn’t expired
  • Confirm the Notion integration is shared with the target pages (in Notion, click ”…” > “Connections” on the page)
  • Check filter configuration for databases — it may be excluding records
  • Verify the page or database ID is correct
  • Notion-hosted images are downloaded during sync — check the sync logs for download errors
  • If images fail to download, the original Notion URLs are preserved as a fallback
  • Large databases are paginated automatically, but check the sync history for errors
  • Verify the integration has access to the child pages you want to import