Notion
Pages, databases and blocks that a Notion connection has been given.
Pages, databases and blocks that a Notion connection has been given.
API key
- Open app.notion.com and create an API key with only the access your apps need.
- Copy it. It may be shown only once.
What to create: An internal connection's API token (a workspace owner creates the connection in Notion's developer portal).
Add it to your Gateway. It asks for the key:
everyapp provider add notionUse it in an app
In the app's everyapp.config.ts:
capabilities: {
notion: { access: "read", why: "What the app does with it." },
},The app calls Notion's API with integrationFetch(), and the Gateway adds the key. Use "write" if the app changes things. More in API providers.
Check it worked: everyapp provider show notion shows the key as set.
Rate limits: 180 a minute. Per connection: 180 a minute, 600 on Business and Enterprise; data source queries about 3 per second.
Connect accounts
Each person connects their own Notion account in the Gateway, once, and every app that asks uses it. Apps never see the tokens. How connecting works
The redirect URI to register, with your Gateway's address (like apps.example.com):
https://<your gateway>/connect/notion-oauth/callbackNotion has no scopes: the person picks the pages to share on Notion's consent screen. Make the integration public to get a client id and secret. Apps send Notion-Version on every call.
- Open notion.so and create an OAuth app (also called a client or an integration).
- Add the redirect URI above.
- Copy the client ID and client secret. The secret is often shown only once.
Add it to your Gateway. It asks for the client ID and secret:
everyapp provider add notion-oauthOr add it in Manage workspace → Providers.
Use it in an app
capabilities: {
"notion-oauth": { access: "read", scopes: ["workspace.read"], why: "What the app does with it." },
},Apps ask for these scope sets:
| Set | Allows |
|---|---|
workspace.read | Shared pages and databases (read) |
workspace.write | Shared pages and databases (read and write) |
Check it worked: everyapp provider show notion-oauth shows the client as set. Then open the account menu → Connected accounts → Connect Notion.
Something wrong or missing? Open an issue.