π Quickstart
Connect to Notion with Nango and see data flow in 2 minutes.1
Create the integration
In Nango (free signup), go to Integrations -> Configure New Integration -> Notion.
2
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.
3
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
4
Implement Nango in your app
Follow our quickstart 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 |