Skip to main content

πŸš€ 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:
curl "https://api.nango.dev/proxy/v1/users" \
  -H "Authorization: Bearer <NANGO-SECRET-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 Nango to inspect requests.
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. Official docs: Notion API documentation

🧩 Pre-built syncs & actions for Notion

Enable them in your dashboard. Extend and customize to fit your needs.

Blocks

Function nameDescriptionTypeSource code
append-block-childrenAdds new child blocks to a page or block (max 100 blocks).ActionπŸ”— Github
append-bulleted-listAdds bulleted list items to a page.ActionπŸ”— Github
append-callout-blockAdds a callout block with icon to a page.ActionπŸ”— Github
append-code-blockAdds a code block with syntax highlighting to a page.ActionπŸ”— Github
append-dividerAdds a horizontal divider to a page.ActionπŸ”— Github
append-heading-blockAdds a heading block to a page.ActionπŸ”— Github
append-todo-blockAdds a to-do/checkbox item to a page.ActionπŸ”— Github
delete-blockArchives a block, moving it to trash.ActionπŸ”— Github
retrieve-block-childrenGets paginated list of child blocks within a block or page.ActionπŸ”— Github
retrieve-blockGets a block object by its ID.ActionπŸ”— Github
update-blockModifies the content of a block based on its type.ActionπŸ”— Github

Comments

Function nameDescriptionTypeSource code
create-commentAdds a comment to a page or existing discussion thread.ActionπŸ”— Github
list-commentsRetrieves unresolved comments from a page or block.ActionπŸ”— Github

Contents

Function nameDescriptionTypeSource code
fetch-content-metadataRetrieve 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-metadataSync pages and databases metadata to further fetch the content using a dedicated actionSyncπŸ”— Github

Databases

Function nameDescriptionTypeSource code
create-database-rowCreate 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-databaseCreates a new database as subpage with defined properties schema.ActionπŸ”— Github
query-database-filteredRetrieves pages from database matching filter conditions.ActionπŸ”— Github
query-database-sortedRetrieves pages from database in sorted order.ActionπŸ”— Github
query-databaseRetrieves filtered and sorted pages from a database with pagination.ActionπŸ”— Github
retrieve-databaseGets database schema and column structure.ActionπŸ”— Github
update-databaseModifies database title, description, or properties schema.ActionπŸ”— Github
databasesSync a database content with each row as an entry. Store the top level database information in the metadata to be able to reconcile the databaseSyncπŸ”— Github

Pages

Function nameDescriptionTypeSource code
archive-pageMoves a page to trash by setting archived to true.ActionπŸ”— Github
create-pageCreates a new page as child of a page or database with optional content blocks.ActionπŸ”— Github
duplicate-pageCreates a copy of a page including all content and properties.ActionπŸ”— Github
restore-pageRestores a page from trash by setting archived to false.ActionπŸ”— Github
retrieve-page-propertyGets a specific property value from a page with pagination support.ActionπŸ”— Github
retrieve-pageFetches page properties and metadata by page ID.ActionπŸ”— Github
update-pageModifies page properties, icon, cover, or archived status.ActionπŸ”— Github
Function nameDescriptionTypeSource code
search-databasesSearches only databases shared with the integration.ActionπŸ”— Github
search-pagesSearches only pages shared with the integration.ActionπŸ”— Github
searchSearches all pages and databases shared with the integration by title.ActionπŸ”— Github

Users

Function nameDescriptionTypeSource code
get-bot-userRetrieves the bot user associated with the current integration token.ActionπŸ”— Github
list-usersGets paginated list of all workspace users excluding guests.ActionπŸ”— Github
retrieve-userGets a single user by their ID.ActionπŸ”— Github
usersFetches a list of users from NotionSyncπŸ”— Github