Notion Connector
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
- Visit notion.so/my-integrations and log into Notion.
- Click Create new integration.
- 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
- 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
- Under Content Capabilities, choose specific content types if needed (pages, databases, comments, etc.).
- Save the integration settings.
Get the Integration Token
- Navigate to the Secrets tab in the integration settings.
- Copy the Internal Integration Token value.
- The token format is:
secret_followed by a series of alphanumeric characters - Example format:
secret_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- The token format is:
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:
- Navigate to the Notion page or database that the integration should access.
- Click the ... (more) menu in the top right corner of the page.
- Select Connect to from the menu.
- 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.
| Input | Comments | Default |
|---|---|---|
| Internal Integration Secret | Your 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
- A Notion account with permission to create integrations
- Access to the Notion integration settings
Setup Steps
- Visit notion.so/my-integrations and log into Notion.
- Click Create new integration.
- 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
- 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
- Under Content Capabilities, choose specific content types if needed (pages, databases, comments, etc.).
- Save the integration settings.
Configure OAuth Settings
- Navigate to the Distribution tab in the integration settings.
- Select Public integration to enable OAuth 2.0 authentication.
- Under Redirect URIs, add the OAuth callback URL:
https://oauth2.integrations.acme.com/callback - Configure any additional OAuth settings as needed.
- Review and save the distribution settings.
Get OAuth Credentials
- Navigate to the Secrets tab in the integration settings.
- Locate the OAuth credentials section.
- Copy the OAuth client ID value.
- 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.
| Input | Comments | Default |
|---|---|---|
| Client ID | Client ID of your Notion app. Find this in your Notion integrations settings. | |
| Client Secret | Client 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.
| Input | Comments | Default |
|---|---|---|
| Connection | The Notion connection to use. | |
| Data Source ID | The 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.
| Input | Comments | Default |
|---|---|---|
| Connection | The Notion connection to use. |
New and Updated Pages
Checks for new and updated pages in Notion on a configured schedule.
| Input | Comments | Default |
|---|---|---|
| Connection | The 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.
| Input | Comments | Default |
|---|---|---|
| Connection | The Notion connection to use. | |
| Parent | The parent page where the database will be created. Format: {"type": "page_id", "page_id": "..."} or {"type": "workspace", "workspace": true} for workspace-level. | |
| Title | The title of the database as it appears in Notion, formatted as a rich text array. | |
| Initial Data Source Properties | Property schema for the initial data source. The keys are the names of properties as they appear in Notion. | |
| Icon | The icon of the new page. Either an emoji object or an external file object. | |
| Description | The description of the data source formatted as a rich text array. See Notion Rich Text Reference. | |
| Cover Image | The 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.
| Input | Comments | Default |
|---|---|---|
| Connection | The Notion connection to use. | |
| Parent | The parent page where the database will be created. Format: {"type": "page_id", "page_id": "..."} | |
| Title | The title of the database as it appears in Notion, formatted as a rich text array. | |
| Properties | Property 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.
| Input | Comments | Default |
|---|---|---|
| Connection | The Notion connection to use. | |
| Parent | The 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. | |
| Properties | The 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 | |
| Children | The content to be rendered on the new page, represented as an array of block objects. Block reference | |
| Icon | The icon of the new page. Either an emoji object or an external file object. | |
| Cover Image | The 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.
| Input | Comments | Default |
|---|---|---|
| Connection | The Notion connection to use. | |
| Database ID | The 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. | |
| Properties | Property schema of the data source. The keys are the names of properties as they appear in Notion. | |
| Title | The title of the database as it appears in Notion, formatted as a rich text array. | |
| Icon | The 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.
| Input | Comments | Default |
|---|---|---|
| Connection | The Notion connection to use. | |
| Parent | The 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. | |
| Properties | The 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 | |
| Children | The content to be rendered on the new page, represented as an array of block objects. Block reference | |
| Icon | The icon of the new page. Either an emoji object or an external file object. | |
| Cover Image | The cover image of the new page, represented as a file object. |
Get Current User
Get the currently logged in user
| Input | Comments | Default |
|---|---|---|
| Connection | The Notion connection to use. |
Get Database (Deprecated)
Retrieve a database by ID
| Input | Comments | Default |
|---|---|---|
| Connection | The Notion connection to use. | |
| Database ID | The 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
| Input | Comments | Default |
|---|---|---|
| Connection | The Notion connection to use. | |
| Page ID | The unique identifier of the page in Notion. Find this in the page URL. See Notion API Page Reference. | |
| Filter Properties | Comma-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
| Input | Comments | Default |
|---|---|---|
| Connection | The Notion connection to use. | |
| User ID | The unique identifier of the user in Notion. See Notion API User Reference. |
List Databases (Deprecated)
List all databases or data sources
| Input | Comments | Default |
|---|---|---|
| Connection | The Notion connection to use. | |
| Start Cursor | The start cursor returned from a previous list or query action when at least one more page of records is available. Used for pagination. | |
| Fetch All | When true, fetches all pages using pagination. This ignores the start cursor input. | false |
List Data Sources
List all data sources accessible to the integration.
| Input | Comments | Default |
|---|---|---|
| Connection | The Notion connection to use. | |
| Start Cursor | The start cursor returned from a previous list or query action when at least one more page of records is available. Used for pagination. | |
| Fetch All | When true, fetches all pages using pagination. This ignores the start cursor input. | false |
List Pages
List all pages
| Input | Comments | Default |
|---|---|---|
| Connection | The Notion connection to use. | |
| Start Cursor | The start cursor returned from a previous list or query action when at least one more page of records is available. Used for pagination. | |
| Fetch All | When 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
| Input | Comments | Default |
|---|---|---|
| Connection | The Notion connection to use. | |
| Start Cursor | The start cursor returned from a previous list or query action when at least one more page of records is available. Used for pagination. | |
| Page Size | The number of items to return per page. Maximum: 100. | 50 |
| Fetch All | Turn 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
| Input | Comments | Default |
|---|---|---|
| Connection | The Notion connection to use. | |
| Database ID | The 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 Object | Filter 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.
| Input | Comments | Default |
|---|---|---|
| Connection | The Notion connection to use. | |
| Data Source ID | The unique identifier of the data source. Find this in the Notion URL or database settings menu. See Notion API Data Sources. | |
| Fetch All | When true, fetches all pages using pagination. This ignores the start cursor input. | false |
| Sort | Array of sort objects defining the order of query results. Earlier sorts take precedence. See Notion API Sort Documentation. | |
| Filter Object | Filter conditions to apply to the database query. Supports compound filters using 'and' and 'or' operators. See Notion API Filter Documentation. | |
| Start Cursor | The start cursor returned from a previous list or query action when at least one more page of records is available. Used for pagination. | |
| Page Size | The number of items to return per page. Maximum: 100. | 50 |
| Result Type | Type of results to return. Use 'data_source' (recommended) for the new API or 'database' for legacy support. | database |
| Filter Properties | Limit 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
| Input | Comments | Default |
|---|---|---|
| Connection | The Notion connection to use. | |
| URL | Input 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. | |
| Method | The HTTP method to use. | |
| Data | The HTTP body payload to send to the URL. | |
| Form Data | The Form Data to be sent as a multipart form upload. | |
| File Data | File Data to be sent as a multipart form upload. | |
| File Data File Names | File names to apply to the file data inputs. Keys must match the file data keys above. | |
| Query Parameter | A 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. | |
| Header | A list of headers to send with the request. | |
| Response Type | The type of data you expect in the response. You can request json, text, or binary data. | json |
| Timeout | The 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 Errors | If 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 Count | The maximum number of retries to attempt. Specify 0 for no retries. | 0 |
| Use Exponential Backoff | Specifies 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.
| Input | Comments | Default |
|---|---|---|
| Connection | The Notion connection to use. | |
| Database ID | The 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.
| Input | Comments | Default |
|---|---|---|
| Connection | The Notion connection to use. | |
| Data Source ID | The 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.
| Input | Comments | Default |
|---|---|---|
| Connection | The Notion connection to use. | |
| Database ID | The 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. | |
| Parent | If provided, the parent of the database will be changed to the specified page ID or workspace. | |
| Title | The title of the database as it appears in Notion, formatted as a rich text array. | |
| Is Inline | Whether the database should be displayed inline in the parent page. If not provided, the inline status will not be updated. | |
| Icon | The icon of the new page. Either an emoji object or an external file object. | |
| Cover Image | The 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.
| Input | Comments | Default |
|---|---|---|
| Connection | The Notion connection to use. | |
| Data Source ID | The unique identifier of the data source. Find this in the Notion URL or database settings menu. See Notion API Data Sources. | |
| Properties | Property schema of the data source. The keys are the names of properties as they appear in Notion. | |
| Title | The title of the database as it appears in Notion, formatted as a rich text array. | |
| Icon | The icon of the new page. Either an emoji object or an external file object. | |
| Database ID | If provided, the parent of the data source will be changed to the specified database ID. |