Create a Notion OAuth app for OpenConnector
Use a Notion public connection when OpenConnector needs users to authorize workspace pages or databases through OAuth. Notion also supports internal integration secrets, but OAuth is the right path when you want a user authorization flow.
OpenConnector service
| Service ID | Provider | Auth type |
|---|---|---|
notion | Notion | OAuth2 |
OpenConnector’s Notion OAuth provider requests capabilities such as read_content, insert_content, and update_content.
Prerequisites
- A running OpenConnector runtime.
- Access to the Notion integrations developer portal.
- Permission to create a public connection.
- The OpenConnector origin users open in the browser, such as
http://localhost:3000orhttps://connect.example.com.
Step 1: Set the OpenConnector callback URL
Build the callback URL by appending /oauth/callback to your OpenConnector origin. For local testing, use http://localhost:3000/oauth/callback. For a public deployment, set OOMOL_CONNECT_ORIGIN, restart OpenConnector, and use the public callback URL, such as https://connect.example.com/oauth/callback.
Step 2: Create a Notion public connection
In the Notion integrations developer portal:
- Create a new public connection.
- Fill in the connection name and workspace details.
- Add the exact OpenConnector callback URL under OAuth redirect URI configuration.
- Choose the installation scope that matches your use case.
- Configure the content capabilities needed by OpenConnector actions.
- Save the connection.
Notion’s official guide is Authorization. Notion notes that the installation scope is selected when creating a public connection, so choose it carefully.
Step 3: Copy the client credentials
From the Notion public connection settings, copy:
| Notion value | OpenConnector field |
|---|---|
| OAuth client ID | clientId |
| OAuth client secret | clientSecret |
Step 4: Save the Notion client in OpenConnector
Use the OpenConnector web console:
- Open the OpenConnector web console, such as
http://localhost:3000. - Open Providers and select Notion.
- Choose Configure OAuth Client or Edit OAuth Client.
- Paste the Notion client ID and client secret.
- Choose Save OAuth Client.
Step 5: Connect and test
After saving the OAuth client, choose Connect on the Notion provider page. Choose the Notion workspace content to share, approve access, return to OpenConnector, and confirm that the provider page shows the workspace as connected.
Use notion.search or notion.list_users as a low-risk test action from the console action list.
Troubleshooting
| Symptom | What to check |
|---|---|
| Notion rejects the redirect URI | The OAuth redirect URI in Notion must exactly match <openconnector-origin>/oauth/callback. |
| Shared content is missing | During authorization, select the pages or databases the connection should access. Notion access is scoped to shared content. |
| Write actions fail | Confirm the Notion connection has insert or update content capabilities and the shared page/database allows the operation. |
| The wrong workspace is connected | Start authorization in a browser profile signed in to the intended Notion workspace. |
| Internal integration token vs OAuth confusion | Use OAuth client ID and client secret for this guide. Internal integration secrets are a different setup path. |