π Quickstart
Connect to Notion with Nango and see data flow in 2 minutes.Create the integration
In Nango (free signup), go to Integrations -> Configure New Integration -> Notion.
Authorize Notion
Go to Connections -> Add Test Connection -> Authorize, then log in to Notion. Later, youβll let your users do the same directly from your app.
Call the Notion API
Letβs make your first request to the Notion API (fetch a list of users). Replace the placeholders below with your secret key, integration ID, and connection ID:Or fetch credentials with the Node SDK or API.β
Youβre connected! Check the Logs tab in Nango to inspect requests.
- cURL
- Node
Implement Nango in your app
Follow our Auth implementation guide to integrate Nango in your app.To obtain your own production credentials, follow the setup guide linked below.
π Notion Integration Guides
Nango maintained guides for common use cases.- How to register your own Notion OAuth app
Register an OAuth app with Notion and obtain credentials to connect it to Nango
π§© Pre-built syncs & actions for Notion
Enable them in your dashboard. Extend and customize to fit your needs.Blocks
| Function name | Description | Type | Source code |
|---|---|---|---|
append-block-children | Adds new child blocks to a page or block (max 100 blocks). | Action | π Github |
append-bulleted-list | Adds bulleted list items to a page. | Action | π Github |
append-callout-block | Adds a callout block with icon to a page. | Action | π Github |
append-code-block | Adds a code block with syntax highlighting to a page. | Action | π Github |
append-divider | Adds a horizontal divider to a page. | Action | π Github |
append-heading-block | Adds a heading block to a page. | Action | π Github |
append-todo-block | Adds a to-do/checkbox item to a page. | Action | π Github |
delete-block | Archives a block, moving it to trash. | Action | π Github |
retrieve-block-children | Gets paginated list of child blocks within a block or page. | Action | π Github |
retrieve-block | Gets a block object by its ID. | Action | π Github |
update-block | Modifies the content of a block based on its type. | Action | π Github |
Comments
| Function name | Description | Type | Source code |
|---|---|---|---|
create-comment | Adds a comment to a page or existing discussion thread. | Action | π Github |
list-comments | Retrieves unresolved comments from a page or block. | Action | π Github |
Contents
| Function name | Description | Type | Source code |
|---|---|---|---|
fetch-content-metadata | Retrieve the entity type as well as an id for a Notion entity to later call fetch-database or fetch-rich-page based on the type. | Action | π Github |
content-metadata | Sync pages and databases metadata to further fetch the content using a dedicated action | Sync | π Github |
Databases
| Function name | Description | Type | Source code |
|---|---|---|---|
create-database-row | Create a new row in a specified Notion database. The properties are mapped to Notion-compatible formats based on the database schema. Supported property types include: - title (string): Creates a title property. - select (string): Creates a select property. - multi_select (array of strings): Creates a multi-select property. - status (string): Creates a status property. - date (string or object): Supports ISO date strings or objects with a start field. - checkbox (boolean): Creates a checkbox property. - number (number): Creates a number property. - url (string): Creates a URL property. - email (string): Creates an email property. - phone_number (string): Creates a phone number property. - rich_text (string): Creates a rich text property. - relation (array of IDs): Creates a relation property. | Action | π Github |
create-database | Creates a new database as subpage with defined properties schema. | Action | π Github |
query-database-filtered | Retrieves pages from database matching filter conditions. | Action | π Github |
query-database-sorted | Retrieves pages from database in sorted order. | Action | π Github |
query-database | Retrieves filtered and sorted pages from a database with pagination. | Action | π Github |
retrieve-database | Gets database schema and column structure. | Action | π Github |
update-database | Modifies database title, description, or properties schema. | Action | π Github |
databases | Sync a database content with each row as an entry. Store the top level database information in the metadata to be able to reconcile the database | Sync | π Github |
Pages
| Function name | Description | Type | Source code |
|---|---|---|---|
archive-page | Moves a page to trash by setting archived to true. | Action | π Github |
create-page | Creates a new page as child of a page or database with optional content blocks. | Action | π Github |
duplicate-page | Creates a copy of a page including all content and properties. | Action | π Github |
restore-page | Restores a page from trash by setting archived to false. | Action | π Github |
retrieve-page-property | Gets a specific property value from a page with pagination support. | Action | π Github |
retrieve-page | Fetches page properties and metadata by page ID. | Action | π Github |
update-page | Modifies page properties, icon, cover, or archived status. | Action | π Github |
Search
| Function name | Description | Type | Source code |
|---|---|---|---|
search-databases | Searches only databases shared with the integration. | Action | π Github |
search-pages | Searches only pages shared with the integration. | Action | π Github |
search | Searches all pages and databases shared with the integration by title. | Action | π Github |
Users
| Function name | Description | Type | Source code |
|---|---|---|---|
get-bot-user | Retrieves the bot user associated with the current integration token. | Action | π Github |
list-users | Gets paginated list of all workspace users excluding guests. | Action | π Github |
retrieve-user | Gets a single user by their ID. | Action | π Github |
users | Fetches a list of users from Notion | Sync | π Github |