---
title: Create a Notion OAuth app for OpenConnector
description: Create a Notion public connection, configure its OAuth redirect
  URI, and connect Notion to OOMOL OpenConnector.
lang: en
canonical_url: https://oomol.com/en/docs/openconnector-notion-oauth-app/
markdown_url: https://oomol.com/en/docs/openconnector-notion-oauth-app.md
---

# 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:3000` or `https://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](https://www.notion.com/my-integrations):

1. Create a new public connection.
2. Fill in the connection name and workspace details.
3. Add the exact OpenConnector callback URL under OAuth redirect URI configuration.
4. Choose the installation scope that matches your use case.
5. Configure the content capabilities needed by OpenConnector actions.
6. Save the connection.

Notion's official guide is [Authorization](https://developers.notion.com/guides/get-started/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:

1. Open the OpenConnector web console, such as `http://localhost:3000`.
2. Open **Providers** and select **Notion**.
3. Choose **Configure OAuth Client** or **Edit OAuth Client**.
4. Paste the Notion client ID and client secret.
5. 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. |
