2026-03-11 and preserves Notion’s snake-case request and response fields. Inputs and outputs use the official @notionhq/client types.
Connect to Notion
OAuth is the preferred connection. It supports actions and webhook triggers across content, comments, users, and Notion agents. A personal access token can run actions with its Notion API capability, but it can’t own a webhook subscription or list every workspace user. UsenotionAccount("name") to select a named project account. Each action declares its least Notion capability, and deployment fails when the selected connection can’t satisfy it.
Example
automations/archive-completed-notion-pages.automation.ts
Provider setup
Configure the OAuth client ID and secret plus the verification token for the static Notion webhook subscription. Notion sends the verification token during subscription setup; capture it with a disposable secret-safe endpoint, configureNOTION_WEBHOOK_VERIFICATION_TOKEN, then set the production callback to /api/v1/events/notion.
Notion agent APIs are public beta and additionally require a workspace plan and integration access that supports agents.
Exports
notioncontains the packaged Notion actions and triggers.notionAccount("name")selects a named Notion connection.NotionClientis the official Notion client class returned bygetNotionApi.getNotionApicreates the authenticated Notion API helper for a custom account-backed action.
Triggers
- On Notion event
- On Notion comment created
- On Notion comment deleted
- On Notion comment updated
- On Notion database created
- On Notion database deleted
- On Notion database moved
- On Notion database restored
- On Notion data source content updated
- On Notion data source created
- On Notion data source deleted
- On Notion data source moved
- On Notion data source schema updated
- On Notion data source restored
- On Notion file upload completed
- On Notion file upload created
- On Notion file upload expired
- On Notion file upload failed
- On Notion page content updated
- On Notion page created
- On Notion page deleted
- On Notion page locked
- On Notion page moved
- On Notion page properties updated
- On Notion page transcript deleted
- On Notion page restored
- On Notion page unlocked
- On Notion view created
- On Notion view deleted
- On Notion view updated
Actions
- Get Notion background task
- Get Notion block
- List Notion block children
- Update Notion block
- Delete Notion block
- Append Notion block children
- Create Notion meeting note
- Query Notion meeting notes
- Create Notion page
- Get Notion page
- Get Notion page property
- Get Notion page markdown
- Update Notion page
- Move Notion page
- Update Notion page markdown
- Create Notion database
- Get Notion database
- Update Notion database
- Create Notion data source
- Get Notion data source
- List Notion data source templates
- Query Notion data source
- Update Notion data source
- Create Notion comment
- Update Notion comment
- Delete Notion comment
- Get Notion comment
- List Notion comments
- Create Notion view
- Get Notion view
- List Notion views
- Create Notion view query
- Get Notion view query results
- Delete Notion view query
- Update Notion view
- Delete Notion view
- Create Notion file upload
- Send Notion file upload
- Complete Notion file upload
- Get Notion file upload
- List Notion file uploads
- Search Notion
- Get current Notion user
- Get Notion user
- List Notion users
- List Notion custom emoji
- Query Notion agents
- Get Notion agent
- Get Notion agent insights
- Update Notion agent status
- Update Notion agent credit limit
- Delete Notion agent
- Batch manage Notion agents
- Create or update Notion session
- Get Notion session
- Query Notion sessions
- Query Notion session events
- Cancel Notion session