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