Overview
Add Notion integration for documentation sync and project management.
Webhook Support ✅ (New in 2024)
Notion now supports webhooks! Key events:
Events
page.content_updated - Page content changed
page.properties_updated - Page properties changed
database.page_added - New page added to database
database.page_updated - Page in database updated
comment.created / comment.updated - Comments on pages
Identification
- Notion uses signature verification (details TBD)
- Payload contains
type, entity, data
Payload Structure
{
"type": "page.content_updated",
"entity": { "id": "page_id", "type": "page" },
"data": {
"parent": { "type": "database_id", "id": "xxx" }
},
"workspace_id": "xxx"
}
Polling Alternative
REST API for database queries:
POST /databases/{id}/query - Query with filters
- Filter by
last_edited_time for incremental sync
- Rate limit: 3 requests/second
Tasks
Use Cases
- Doc Sync: Keep Notion docs in sync with PRs
- Project Tracking: Auto-create Notion pages for PRs
- Comment Sync: Mirror PR comments to Notion
- Release Notes: Auto-generate release notes in Notion
Overview
Add Notion integration for documentation sync and project management.
Webhook Support ✅ (New in 2024)
Notion now supports webhooks! Key events:
Events
page.content_updated- Page content changedpage.properties_updated- Page properties changeddatabase.page_added- New page added to databasedatabase.page_updated- Page in database updatedcomment.created/comment.updated- Comments on pagesIdentification
type,entity,dataPayload Structure
{ "type": "page.content_updated", "entity": { "id": "page_id", "type": "page" }, "data": { "parent": { "type": "database_id", "id": "xxx" } }, "workspace_id": "xxx" }Polling Alternative
REST API for database queries:
POST /databases/{id}/query- Query with filterslast_edited_timefor incremental syncTasks
NotionPollerinpolling/notion.pynotion_token)Use Cases