Skip to main content

Notion Connector

Notion Notion is a productivity and collaboration platform that combines note taking, project management, and database capabilities. This component allows you to manage pages, databases, and users within your Notion workspace.

API Documentation

This component was built using the Notion API.

Connections

Internal Integration Secret

Connect to Notion using an Internal Integration Secret

To create an internal integration for Notion, set up a private integration that works within a single Notion workspace. Internal integrations are ideal for testing or for integrations that will only be used within one workspace.

For detailed information about Notion integrations, refer to the Notion Integration Documentation.

Prerequisites

  • A Notion account with permission to create integrations in the workspace
  • Access to the Notion integration settings
  • Permission to connect the integration to specific pages or databases in the workspace

Setup Steps

  1. Visit notion.so/my-integrations and log into Notion.
  2. Click Create new integration.
  3. Fill in the required integration details:
    • Name: Enter a descriptive name for the integration
    • Logo: Optionally upload a logo
    • Associated workspace: Select the workspace where the integration will be created
  4. Under Capabilities, select the permissions needed for the integration:
    • Read content: Allows reading pages, databases, and other content
    • Update content: Allows modifying existing content
    • Insert content: Allows creating new content
  5. Under Content Capabilities, choose specific content types if needed (pages, databases, comments, etc.).
  6. Save the integration settings.

Get the Integration Token

  1. Navigate to the Secrets tab in the integration settings.
  2. Copy the Internal Integration Token value.
    • The token format is: secret_ followed by a series of alphanumeric characters
    • Example format: secret_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Configure the Connection

  • Enter the Internal Integration Token into the connection configuration.

Connect to Content

After creating the integration and configuring the connection, the integration must be explicitly connected to specific pages or databases in Notion:

  1. Navigate to the Notion page or database that the integration should access.
  2. Click the ... (more) menu in the top right corner of the page.
  3. Select Connect to from the menu.
  4. Choose the integration from the list.

The integration will now have access to that content based on the capabilities configured during setup. Repeat this process for each page or database that the integration needs to access.

InputCommentsDefault
Internal Integration SecretYour Notion Internal Integration Secret. Create an integration in your Notion integrations settings to obtain this token.

OAuth 2.0

Connect to Notion via OAuth 2.0

To create an OAuth 2.0 integration for Notion, set up a public integration that allows users to authenticate with their Notion workspaces.

For detailed information about Notion integrations, refer to the Notion Integration Documentation.

Prerequisites

Setup Steps

  1. Visit notion.so/my-integrations and log into Notion.
  2. Click Create new integration.
  3. Fill in the required integration details:
    • Name: Enter a descriptive name for the integration
    • Logo: Optionally upload a logo
    • Associated workspace: Select the workspace where the integration will be created
  4. Under Capabilities, select the permissions needed for the integration:
    • Read content: Allows reading pages, databases, and other content
    • Update content: Allows modifying existing content
    • Insert content: Allows creating new content
  5. Under Content Capabilities, choose specific content types if needed (pages, databases, comments, etc.).
  6. Save the integration settings.

Configure OAuth Settings

  1. Navigate to the Distribution tab in the integration settings.
  2. Select Public integration to enable OAuth 2.0 authentication.
  3. Under Redirect URIs, add the OAuth callback URL: https://oauth2.integrations.acme.com/callback
  4. Configure any additional OAuth settings as needed.
  5. Review and save the distribution settings.

Get OAuth Credentials

  1. Navigate to the Secrets tab in the integration settings.
  2. Locate the OAuth credentials section.
  3. Copy the OAuth client ID value.
  4. Copy the OAuth client secret value.

Configure the Connection

  • Enter the OAuth client ID into the Client ID field.
  • Enter the OAuth client secret into the Client Secret field.

When users authenticate through OAuth 2.0, they will be redirected to Notion's authorization page where they can select which pages and databases to share with the integration. The integration will have access only to the content explicitly shared by the user, within the capabilities configured during integration setup.

This connection uses OAuth 2.0, a common authentication mechanism for integrations. Read about how OAuth 2.0 works here.

InputCommentsDefault
Client IDClient ID of your Notion app. Find this in your Notion integrations settings.
Client SecretClient Secret of your Notion app. Find this in your Notion integrations settings.

Triggers

New and Updated Database Items

Checks for new and updated items in a Notion database on a configured schedule.

InputCommentsDefault
ConnectionThe Notion connection to use.
Data Source IDThe unique identifier of the data source. Find this in the Notion URL or database settings menu. See Notion API Data Sources.

New and Updated Databases

Checks for new and updated databases in Notion on a configured schedule.

InputCommentsDefault
ConnectionThe Notion connection to use.

New and Updated Pages

Checks for new and updated pages in Notion on a configured schedule.

InputCommentsDefault
ConnectionThe Notion connection to use.

Actions

Create Database

Creates a database as a subpage in the specified parent page, with the specified properties schema set on its initial data source.

InputCommentsDefault
ConnectionThe Notion connection to use.
ParentThe parent page where the database will be created. Format: {"type": "page_id", "page_id": "..."} or {"type": "workspace", "workspace": true} for workspace-level.
TitleThe title of the database as it appears in Notion, formatted as a rich text array.
Initial Data Source PropertiesProperty schema for the initial data source. The keys are the names of properties as they appear in Notion.
IconThe icon of the new page. Either an emoji object or an external file object.
DescriptionThe description of the data source formatted as a rich text array. See Notion Rich Text Reference.
Cover ImageThe cover image of the new page, represented as a file object.

Create Database (Deprecated)

Creates a database as a subpage in the specified parent page, with the specified properties schema. Currently, the parent of a new database must be a Notion page or a wiki database.

InputCommentsDefault
ConnectionThe Notion connection to use.
ParentThe parent page where the database will be created. Format: {"type": "page_id", "page_id": "..."}
TitleThe title of the database as it appears in Notion, formatted as a rich text array.
PropertiesProperty schema of database. The keys are the names of properties as they appear in Notion. For relation properties, use data_source_id instead of database_id.

Create Database Item

Creates an Item on a database.

InputCommentsDefault
ConnectionThe Notion connection to use.
ParentThe parent database where the new page is inserted. Recommended format: {"type": "data_source_id", "data_source_id": "..."}. Legacy format {"database_id": "..."} is supported for single-source databases.
PropertiesThe values of the page's properties. Important: If the parent is a database, the schema must match the parent database's properties. If the parent is a page, only 'title' is valid. Learn more
ChildrenThe content to be rendered on the new page, represented as an array of block objects. Block reference
IconThe icon of the new page. Either an emoji object or an external file object.
Cover ImageThe cover image of the new page, represented as a file object.

Create Data Source

Add an additional data source to an existing database. A standard table view is created alongside the new data source.

InputCommentsDefault
ConnectionThe Notion connection to use.
Database IDThe unique identifier of the database. For single-source databases, this is also the data source ID. Find this in the Notion URL or database settings menu. See Notion API Database Reference.
PropertiesProperty schema of the data source. The keys are the names of properties as they appear in Notion.
TitleThe title of the database as it appears in Notion, formatted as a rich text array.
IconThe icon of the new page. Either an emoji object or an external file object.

Create Page

Creates a new page that is a child of an existing page or database.

InputCommentsDefault
ConnectionThe Notion connection to use.
ParentThe parent where the new page is inserted. For page parents: {"type": "page_id", "page_id": "..."}. For database parents (recommended): {"type": "data_source_id", "data_source_id": "..."}. Legacy format {"database_id": "..."} is supported for single-source databases.
PropertiesThe values of the page's properties. Important: If the parent is a database, the schema must match the parent database's properties. If the parent is a page, only 'title' is valid. Learn more
ChildrenThe content to be rendered on the new page, represented as an array of block objects. Block reference
IconThe icon of the new page. Either an emoji object or an external file object.
Cover ImageThe cover image of the new page, represented as a file object.

Get Current User

Get the currently logged in user

InputCommentsDefault
ConnectionThe Notion connection to use.

Get Database (Deprecated)

Retrieve a database by ID

InputCommentsDefault
ConnectionThe Notion connection to use.
Database IDThe unique identifier of the database. For single-source databases, this is also the data source ID. Find this in the Notion URL or database settings menu. See Notion API Database Reference.

Get Page

Retrieve a page by ID with optional property filters

InputCommentsDefault
ConnectionThe Notion connection to use.
Page IDThe unique identifier of the page in Notion. Find this in the page URL. See Notion API Page Reference.
Filter PropertiesComma-separated list of page property IDs to include in the response. Use this to limit the response to specific page properties.

Get User by ID

Get a user by their ID

InputCommentsDefault
ConnectionThe Notion connection to use.
User IDThe unique identifier of the user in Notion. See Notion API User Reference.

List Databases (Deprecated)

List all databases or data sources

InputCommentsDefault
ConnectionThe Notion connection to use.
Start CursorThe start cursor returned from a previous list or query action when at least one more page of records is available. Used for pagination.
Fetch AllWhen true, fetches all pages using pagination. This ignores the start cursor input.false

List Data Sources

List all data sources accessible to the integration.

InputCommentsDefault
ConnectionThe Notion connection to use.
Start CursorThe start cursor returned from a previous list or query action when at least one more page of records is available. Used for pagination.
Fetch AllWhen true, fetches all pages using pagination. This ignores the start cursor input.false

List Pages

List all pages

InputCommentsDefault
ConnectionThe Notion connection to use.
Start CursorThe start cursor returned from a previous list or query action when at least one more page of records is available. Used for pagination.
Fetch AllWhen true, fetches all pages using pagination. This ignores the start cursor input.false

List Users

List all users in the workspace with optional page size

InputCommentsDefault
ConnectionThe Notion connection to use.
Start CursorThe start cursor returned from a previous list or query action when at least one more page of records is available. Used for pagination.
Page SizeThe number of items to return per page. Maximum: 100.50
Fetch AllTurn this on to fetch all pages. This will ignore the start cursor and page size inputs.false

Query Database (Deprecated)

Query a Notion database or data source

InputCommentsDefault
ConnectionThe Notion connection to use.
Database IDThe unique identifier of the database. For single-source databases, this is also the data source ID. Find this in the Notion URL or database settings menu. See Notion API Database Reference.
Filter ObjectFilter conditions to apply to the database query. Supports compound filters using 'and' and 'or' operators. See Notion API Filter Documentation.

Query Data Source

Query a data source to retrieve pages with optional filtering and sorting.

InputCommentsDefault
ConnectionThe Notion connection to use.
Data Source IDThe unique identifier of the data source. Find this in the Notion URL or database settings menu. See Notion API Data Sources.
Fetch AllWhen true, fetches all pages using pagination. This ignores the start cursor input.false
SortArray of sort objects defining the order of query results. Earlier sorts take precedence. See Notion API Sort Documentation.
Filter ObjectFilter conditions to apply to the database query. Supports compound filters using 'and' and 'or' operators. See Notion API Filter Documentation.
Start CursorThe start cursor returned from a previous list or query action when at least one more page of records is available. Used for pagination.
Page SizeThe number of items to return per page. Maximum: 100.50
Result TypeType of results to return. Use 'data_source' (recommended) for the new API or 'database' for legacy support.database
Filter PropertiesLimit the properties included in the response. Provide an object where keys are property names and values are property values or arrays of values.

Raw Request

Send raw HTTP request to Notion

InputCommentsDefault
ConnectionThe Notion connection to use.
URLInput the path only (/users/me), The base URL is already included (https://api.notion.com/v1). For example, to connect to https://api.notion.com/v1/users/me, only /users/me is entered in this field.
MethodThe HTTP method to use.
DataThe HTTP body payload to send to the URL.
Form DataThe Form Data to be sent as a multipart form upload.
File DataFile Data to be sent as a multipart form upload.
File Data File NamesFile names to apply to the file data inputs. Keys must match the file data keys above.
Query ParameterA list of query parameters to send with the request. This is the portion at the end of the URL similar to ?key1=value1&key2=value2.
HeaderA list of headers to send with the request.
Response TypeThe type of data you expect in the response. You can request json, text, or binary data.json
TimeoutThe maximum time that a client will await a response to its request
Retry Delay (ms)The delay in milliseconds between retries. This is used when 'Use Exponential Backoff' is disabled.0
Retry On All ErrorsIf true, retries on all erroneous responses regardless of type. This is helpful when retrying after HTTP 429 or other 3xx or 4xx errors. Otherwise, only retries on HTTP 5xx and network errors.false
Max Retry CountThe maximum number of retries to attempt. Specify 0 for no retries.0
Use Exponential BackoffSpecifies whether to use a pre-defined exponential backoff strategy for retries. When enabled, 'Retry Delay (ms)' is ignored.false

Retrieve Database

Retrieve a database object by ID. Returns database-level information including child data sources.

InputCommentsDefault
ConnectionThe Notion connection to use.
Database IDThe unique identifier of the database. For single-source databases, this is also the data source ID. Find this in the Notion URL or database settings menu. See Notion API Database Reference.

Retrieve Data Source

Retrieve a data source object containing structural information about columns and configuration.

InputCommentsDefault
ConnectionThe Notion connection to use.
Data Source IDThe unique identifier of the data source. Find this in the Notion URL or database settings menu. See Notion API Data Sources.

Update Database

Update database-level attributes such as title, icon, cover, and inline status. To update data source properties, use the Update Data Source action.

InputCommentsDefault
ConnectionThe Notion connection to use.
Database IDThe unique identifier of the database. For single-source databases, this is also the data source ID. Find this in the Notion URL or database settings menu. See Notion API Database Reference.
ParentIf provided, the parent of the database will be changed to the specified page ID or workspace.
TitleThe title of the database as it appears in Notion, formatted as a rich text array.
Is InlineWhether the database should be displayed inline in the parent page. If not provided, the inline status will not be updated.
IconThe icon of the new page. Either an emoji object or an external file object.
Cover ImageThe cover image of the new page, represented as a file object.

Update Data Source

Update a data source object including its properties (schema), title, description, and trash status.

InputCommentsDefault
ConnectionThe Notion connection to use.
Data Source IDThe unique identifier of the data source. Find this in the Notion URL or database settings menu. See Notion API Data Sources.
PropertiesProperty schema of the data source. The keys are the names of properties as they appear in Notion.
TitleThe title of the database as it appears in Notion, formatted as a rich text array.
IconThe icon of the new page. Either an emoji object or an external file object.
Database IDIf provided, the parent of the data source will be changed to the specified database ID.