Connect Notion to your agents for pages and databases.
Overview
A Notion credential lets agents read and update pages and databases that you share during authorization.
Why "Bring Your Own Key" (BYOK)?
Notion integrations are created in your workspace. BYOK keeps the OAuth client under your control.
Benefits:
- Your workspace — you choose which pages and databases to share at connect time
- Scoped access — read-only or read/write based on capability keys
- Your integration — the Notion integration appears in your workspace settings
Prerequisites
Before connecting, you'll need:
- A Notion account with access to the pages or databases you want agents to use
- Permission to create integrations in your workspace
Step 1: Create a Notion integration
- Go to Notion My Integrations
- Click New integration
- Name your integration (e.g., "Inference Agent")
- Select the workspace
- Under Capabilities, enable Read content and Update content as needed
- Copy the OAuth client ID and OAuth client secret
Step 2: Configure redirect URI
In your integration settings, set the redirect URI:
| Environment | Callback URL |
|---|---|
| Production | https://app.inference.sh/settings/secrets/oauth/notion |
| Staging | https://app.staging.inference.sh/settings/secrets/oauth/notion |
| Local dev | http://localhost:3000/settings/secrets/oauth/notion |
Step 3: Connect in inference shell
Configure credentials
- Go to Vault → credentials
- Find Notion and click Configure
- Enter:
- Client ID (
NOTION_CLIENT_ID) - Client Secret (
NOTION_CLIENT_SECRET)
- Client ID (
- Click Save credentials
Authorize the connection
- Click Connect
- Select the pages and databases to share with the integration
- Click Allow access
- Done — the credential status shows Connected
Notion access is page-based: the pages you select during OAuth determine what agents can read or write. There are no separate OAuth scope strings.
Capabilities
| Capability | Description |
|---|---|
notion.read | Read shared pages and databases |
notion.write | Create and update shared pages and databases (includes read) |
Using in apps
Declare Notion requirements in your app:
1# inf.yml2credentials:3 - key: notion.read4 description: Read project docs from Notion56 - key: notion.write7 description: Update status pages8 optional: trueAt runtime, your app receives:
1NOTION_ACCESS_TOKEN=oauth2-access-token2NOTION_WORKSPACE_ID=workspace-idUse the token with the Notion API.