Integration reference
Notion Trigger and Action reference
React to pages, data sources, databases, comments, files, and views and automate Notion content.
Authentication
Connect the Notion workspace through OAuth and explicitly share required pages or data sources with the integration.
- Trigger account type:
oauth2; reconnect byoauth. - Action connection type:
oauth2; available modes: Connected Notion account.
Create or reuse the account from a Trigger or Action dialog, or manage it under Settings → Connected accounts. See Authentication and permissions for scopes and access diagnostics, or Connected accounts for reuse, reconnect, revocation, and credential rotation.
Scopes and permissions
The Trigger manifest does not declare a fixed base OAuth scope list. Installation access, API credentials, or the selected event configuration can still control available resources.
View 4 provider permissions or credential requirements
Insert content, Update content, Insert comments, Read content
Operation-specific requirements appear in the tables below. Custom event selections can add scopes dynamically, so the current Trigger or Action dialog remains authoritative for the exact consent request.
Use Notion as a Trigger
The current provider manifest contains 30 available Trigger definitions. Representative definitions include:
- Page Created
- Page Content Updated
- Page Properties Updated
- Data Source Schema Updated
- Comment Created
- File Upload Completed
View all 30 available Trigger definitions
| Trigger | Manifest key | Delivery | Additional scopes |
|---|---|---|---|
| Any Notion Event | notion.any_event.instant | instant | None declared |
| Custom Webhook Events | notion.custom_webhook_events.instant | instant | None declared |
| Page Created | notion.page_created.instant | instant | None declared |
| Page Content Updated | notion.page_content_updated.instant | instant | None declared |
| Page Properties Updated | notion.page_properties_updated.instant | instant | None declared |
| Page Moved | notion.page_moved.instant | instant | None declared |
| Page Deleted | notion.page_deleted.instant | instant | None declared |
| Page Undeleted | notion.page_undeleted.instant | instant | None declared |
| Page Locked | notion.page_locked.instant | instant | None declared |
| Page Unlocked | notion.page_unlocked.instant | instant | None declared |
| Database Created | notion.database_created.instant | instant | None declared |
| Database Moved | notion.database_moved.instant | instant | None declared |
| Database Deleted | notion.database_deleted.instant | instant | None declared |
| Database Undeleted | notion.database_undeleted.instant | instant | None declared |
| Data Source Created | notion.data_source_created.instant | instant | None declared |
| Data Source Content Updated | notion.data_source_content_updated.instant | instant | None declared |
| Data Source Schema Updated | notion.data_source_schema_updated.instant | instant | None declared |
| Data Source Moved | notion.data_source_moved.instant | instant | None declared |
| Data Source Deleted | notion.data_source_deleted.instant | instant | None declared |
| Data Source Undeleted | notion.data_source_undeleted.instant | instant | None declared |
| Comment Created | notion.comment_created.instant | instant | None declared |
| Comment Updated | notion.comment_updated.instant | instant | None declared |
| Comment Deleted | notion.comment_deleted.instant | instant | None declared |
| File Upload Created | notion.file_upload_created.instant | instant | None declared |
| File Upload Completed | notion.file_upload_completed.instant | instant | None declared |
| File Upload Expired | notion.file_upload_expired.instant | instant | None declared |
| File Upload Failed | notion.file_upload_upload_failed.instant | instant | None declared |
| View Created | notion.view_created.instant | instant | None declared |
| View Updated | notion.view_updated.instant | instant | None declared |
| View Deleted | notion.view_deleted.instant | instant | None declared |
Choose the narrowest event definition that fits the Workflow. Configure provider-specific resource and event filters in the Source dialog before adding broader Workflow Filters.
Use Notion Actions
The current Action manifest contains 7 operations. Representative Actions include:
- Create Page
- Create Data Source Page
- Update Page
- Append Page Content
- Create Comment
- Query Data Source
View all 7 available Action definitions
| Action | Manifest key | Access and auth | Manifest rate limit |
|---|---|---|---|
| Create Page | notion.create_page | Insert contentFastHook-managed account | 3/second |
| Create Data Source Page | notion.create_data_source_page | Insert contentFastHook-managed account | 3/second |
| Update Page | notion.update_page | Update contentFastHook-managed account | 3/second |
| Append Page Content | notion.append_block_children | Update contentFastHook-managed account | 3/second |
| Create Comment | notion.create_comment | Insert commentsFastHook-managed account | 3/second |
| Query Data Source | notion.query_data_source | Read contentFastHook-managed account | 3/second |
| Custom API Request | notion.custom_api_request | Read content, Insert content, Update content, Insert commentsFastHook-managed account | 3/second |
The Action editor reads its required permissions, fields, remote resource pickers, output schema, and rate limit from the provider manifest. Available fields can change with the selected operation and authentication mode.
Build a Workflow
- Create a Source using a Notion Trigger definition.
- Create a Workflow with that Source as its Trigger.
- Add the required Notion Action and select the connected account.
- Map Trigger or earlier-Step data into the Action fields with the field picker.
- Add a Filter, Paths, Delay, or Transformation when the route needs it.
- Activate the Workflow, produce a controlled event, and verify the run in Audit and in Notion.
Troubleshooting Notion
- The account is missing or cannot be selected
- Confirm the active FastHook team, provider, account status, and authentication mode. A disabled or revoked account cannot execute an Action.
- A resource picker is empty
- Verify that the connected provider identity can access the resource itself. OAuth consent does not add workspace, repository, channel, drive, project, base, or record permissions.
- The editor asks for additional scopes
- Reconnect the same account from the affected Trigger or Action so FastHook can request its current manifest scopes. Then reopen the editor and select the resource again.
- An active Workflow returns 401, 403, or a permission error
- Compare the selected operation’s access requirements below with the account recorded in Audit. Check provider-side membership and object access before repeating the Action.
- The provider returns 429 or a temporary 5xx
- Inspect the Step attempt and retryability in Audit. FastHook can retry temporary failures, but provider quotas and idempotency rules still apply.
Provider-specific checks
- Notion access follows the pages and data sources shared with the integration.
- Database and data-source concepts differ across Notion API versions; select the resource shown by the current picker.