Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.useparagon.com/llms.txt

Use this file to discover all available pages before exploring further.

Synced Objects

Notion supports the following Synced Objects:
  • Files

    Notion pages are synced as Markdown files.

    • All child pages (including entries of a database) will be synced as distinct files with their parentId set to the ID of the parent page or database.
    • Page properties (including database entry properties) are synced to the file’s customFields object and are also prepended to the Markdown content as a YAML frontmatter block, so they are available both as structured metadata and as searchable text.
    • The Title property is used as the file name.
    • Pages that have no title will produce a synced file with an empty fileName.
    • Attachments and images are represented as links within the page Markdown and must be downloaded separately.

Page properties

When a Notion page has properties (for example, a database entry with Status, Tags, or Owner columns), each property is extracted into customFields on the synced File and rendered as YAML frontmatter at the top of the Markdown content. Supported property types include title, rich_text, number, select, multi_select, status, date, checkbox, url, email, phone_number, people, files, created_by, created_time, last_edited_by, last_edited_time, formula, unique_id, relation, rollup, and verification. Values are normalized to plain strings, numbers, booleans, or arrays. Example Markdown content for a database entry with Status, Priority, and Owner properties:
---
Status: In Progress
Priority: High
Owner: Jane Doe
---

# Page content goes here...

Files

Send a request to Enable Sync to start a file sync. Syncs for Notion can be created with one of the following configurations:
  • Global Sync: All pages and databases that are granted to the integration at time of authentication will be synced.
    Note: Due to limitations with Notion’s search API, Global Sync is not guaranteed to be exhaustive; newly created or recently modified pages may be missing after the initial sync.Any pages not captured will be included when they are updated by the user or in the next scheduled periodic full sync, which runs every 24 hours.You can alternatively use a Sync of specific pages to explicitly designate page root(s) based on a user selection, which will guarantee that those pages and their descendants will always be fully synced.
  • Sync of specific pages: Only a group of specific pages and their descendants will be synced. Use this option when your users will select pages in your UI to sync from Notion. Page-specific syncs use Notion’s hierarchy traversal API from the roots specified in configuration.pageIds, so all pages under the specified roots are always synced completely.
Example
{
    "integration": "notion",
    "pipeline": "files",
    "configuration": {}
}
Configuration options:No configuration options are required for a global Sync.