Notion
Integrate your application with the Notion API
🚀 Quickstart
Connect to Notion with Tenklo and see data flow in 2 minutes.
In Tenklo (free signup), go to Integrations -> Configure New Integration -> 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.
Let's make your first request to the Notion API (fetch a list of users). Replace the placeholders below with your Environment API key, integration ID, and connection ID:
curl "https://api.tenklo.dev/proxy/v1/users" \
-H "Authorization: Bearer <NANGO-API-KEY>" \
-H "Provider-Config-Key: <INTEGRATION-ID>" \
-H "Connection-Id: <CONNECTION-ID>"Or fetch credentials with the Node SDK or API.
✅ You're connected! Check the Logs tab in Tenklo to inspect requests.
Follow our Auth implementation guide to integrate Tenklo in your app.
To obtain your own production credentials, follow the setup guide linked below.
📚 Notion Integration Guides
Tenklo 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 Tenklo
Official docs: Notion API documentation
🧩 Pre-built syncs & actions for Notion
Explore Nango-provided actions in your dashboard. Extend and customize them to fit your needs.
Others
| Function name | Description | Type | Source code |
|---|---|---|---|
append-block-children | Append new child blocks to an existing block or page. | 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 |
archive-page | Archive a page so it is removed from active workspace views. | Action | 🔗 Github |
create-comment | Create a comment on a page, block, or discussion thread | Action | 🔗 Github |
create-database | Creates a new database as subpage with defined properties schema. | Action | 🔗 Github |
create-data-source | Create a Notion data source in its supported parent container. | Action | 🔗 Github |
create-page | Create a new Notion page with properties and optional children. | Action | 🔗 Github |
delete-block | Delete or archive a block by ID. | Action | 🔗 Github |
duplicate-page | Duplicate a Notion page and its content | Action | 🔗 Github |
get-bot-user | Retrieve the bot user associated with the current integration token. | Action | 🔗 Github |
get-page-as-markdown | Retrieve a page in the current markdown export format if available. | Action | 🔗 Github |
get-page-property-item | Retrieve a single property item value from a page. | Action | 🔗 Github |
get-user | Retrieve a Notion user or bot by user ID | Action | 🔗 Github |
list-block-children | List child blocks for a page or block with pagination. | Action | 🔗 Github |
list-comments | List comments for a page or discussion thread. | Action | 🔗 Github |
list-data-source-templates | List templates available for a data source. | Action | 🔗 Github |
list-users | List Notion users and bots available to the integration. | 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 |
move-page | Move a Notion page to a new parent location (under another page or into a database). | Action | 🔗 Github |
query-data-source | Query entries in a Notion data source using filters and sorts. | Action | 🔗 Github |
restore-page | Restore a page from trash so it returns to active workspace views. | Action | 🔗 Github |
retrieve-block | Retrieve a single block by block ID. | Action | 🔗 Github |
retrieve-block-children | Gets paginated list of child blocks within a block or page. | Action | 🔗 Github |
retrieve-comment | Retrieve a Notion comment by comment ID | Action | 🔗 Github |
retrieve-data-source | Retrieve a Notion data source definition and schema. | Action | 🔗 Github |
retrieve-database | Gets database schema and column structure. | Action | 🔗 Github |
retrieve-page-property | Gets a specific property value from a page with pagination support. | Action | 🔗 Github |
retrieve-page | Retrieve a Notion page and its property values. | Action | 🔗 Github |
retrieve-user | Gets a single user by their ID. | Action | 🔗 Github |
search-databases | Searches only databases shared with the integration. | Action | 🔗 Github |
search-pages | Searches only pages shared with the integration. | Action | 🔗 Github |
search | Search pages, data sources, and other searchable Notion objects. | Action | 🔗 Github |
update-block | Update a block's supported fields or rich text content. | Action | 🔗 Github |
update-data-source | Update a Notion data source's title, description, or schema properties. | Action | 🔗 Github |
update-database | Modifies database title, description, or properties schema. | Action | 🔗 Github |
update-page-markdown | Update page content using markdown commands. Supports targeted edits, full replacement, insertion, and range replacement. | Action | 🔗 Github |
update-page | Update page properties and other mutable page fields. | Action | 🔗 Github |
content-metadata | Sync page and data source metadata for broad Notion content discovery. | Sync | 🔗 Github |
data-source-entries | Sync page entries from a Notion data source with properties and timestamps | Sync | 🔗 Github |
data-source-templates | Sync templates available for a Notion data source | Sync | 🔗 Github |
data-sources | Sync Notion data source definitions and schema metadata. | Sync | 🔗 Github |
users | Sync Notion users and bots visible to the integration. | Sync | 🔗 Github |