APIs & Integrations
Notion
Overview
Pre-built tooling
Pre-built integrations
Not seeing the integration you need? Build your own independently.
Access requirements
Pre-Requisites | Status | Comment |
---|---|---|
Paid dev account | ✅ Not required | Free, self-signup for a Notion account. |
Paid test account | ✅ Not required | Free Notion account can be used for testing. |
Partnership | ✅ Not required | |
App review | ✅ Not required | Only required for apps published to the Notion App Store. |
Security audit | ✅ Not required |
Setup guide
1
Create a Notion account
If you don’t already have one, sign up for a Notion account.
2
Create a new integration
- Go to My Integrations in your Notion account.
- Click + New integration.
- Fill in the integration details (as shown in the screenshots):
- Integration Name: Enter a name for your integration
- Associated workspace: Select the Notion workspace
- Type (required for Oauth): Select Public
- Company name: Enter your company name
- Website: Enter your company website URL
- Tagline: A short description of your integration
- Privacy Policy URL: Link to your privacy policy
- Terms of Use URL: Link to your terms of service
- Email: Developer contact email
- Logo: Upload a 512×512 image
- Redirect URIs: Add
https://api.nango.dev/oauth/callback
- Notion URL for optional template: (Optional) Add a public Notion page URL if you want to offer a template
- Click Save.
3
Obtain API credentials
- After saving, click Configure integration settings. You’ll then be redirected to your integration’s page.
- Under the Configuration tab, you’ll find both your: OAuth Client ID and OAuth Client Secret. Save these credentials securely as you’ll need them when configuring your integration in Nango.
- Under the Capabilities section, select the permissions your integration requires. These will be displayed to users.
4
Next
Follow the Quickstart.
Need help getting started? Get help in the community.
Useful links
Contribute useful links by editing this page
API gotchas
- The Notion OAuth API doesn’t support refreshing tokens, and so doesn’t return a refresh token. The access token never expires.
- When creating a Notion OAuth app, it is set to Internal by default. You need to make it Public to initiate an OAuth flow with users. Only then will you be able to obtain the OAuth client ID/secret and register your callback URL.
- No OAuth scope is required by default for Notion integrations.
- After authorization, users need to explicitly share specific pages or databases with your integration before you can access them.
- Notion has rate limits that vary by endpoint.
Contribute API gotchas by editing this page