What gets indexed
- Pages: full text content from all blocks, including nested content inside toggles, callouts, and other containers
- Databases: property values for each row (title, text fields, select values, people, dates, and other structured properties)
- Wikis: pages organized as wiki sections
- Child pages: pages nested inside other pages (with recursive indexing enabled)
- Table content: table row data is extracted and indexed as text
AI blocks and unsupported block types are skipped — Notion’s API does not provide access to their contents.
Prerequisites
You need a Notion integration token. To create one:- Go to notion.so/my-integrations and click New integration.
- Give the integration a name and select the workspace you want to connect.
- Set Capabilities to at least Read content.
- Click Submit and copy the Internal Integration Token.
Connect Notion
1
Go to Admin > Connectors
Navigate to Admin Panel > Connectors and select Notion.
2
Enter your integration token
Paste your Notion internal integration token into the Integration token field.
3
Configure scope (optional)
By default, Hadiq.io indexes all pages and databases the integration has access to.To restrict indexing to a specific section of your workspace, enter a Root page ID. Hadiq.io will start from that page and recursively index all child pages beneath it.Find a page ID in its URL:
https://notion.so/Page-Title-<page-id> — the last segment after the final - is the ID.4
Save
Click Save. Hadiq.io connects to Notion and begins indexing. Large workspaces with many nested pages may take a while on the initial sync.
How recursive indexing works
Notion pages can be deeply nested. Hadiq.io supports two indexing modes:- Search-based indexing (default): uses the Notion Search API to discover pages. This is faster but may miss some pages that Notion’s search index hasn’t picked up.
- Recursive indexing: enabled when you set a root page ID, or can be enabled globally. Hadiq.io traverses the page tree starting from the root, following child page references. This is more complete but slower for large workspaces.
Permission syncing
Notion’s API does not expose granular per-page access control lists to integrations. As a result, Hadiq.io cannot automatically enforce Notion page-level permissions in search results. To control access in Hadiq.io, scope the connector to only the pages and databases that should be broadly accessible, and use separate connectors for different access levels if needed.Limitations
- Pages not shared with the integration are not indexed.
- AI blocks are not indexed (Notion API limitation).
- File attachments uploaded to Notion pages are not indexed — only the text blocks and property values.
- Database relations and rollup values are not fully resolved; only the raw values are indexed.
- Notion’s search API may occasionally miss recently created pages. Use recursive indexing with a root page ID for the most complete coverage.