Event types & delivery
Webhooks currently notify you about changes to pages and databases — such as when a new page is created, a title is updated, or someone changes a database schema. The events themselves do not contain the full content that changed. Instead, the webhook acts as a signal that something changed, and it’s up to your integration to follow up with a call to the Notion API to retrieve the latest content.
For example, let’s say a user updates the title of a page. You’ll receive a page.content_updated webhook event with the ID of the page that changed. From there, your integration can use the retrieve a page endpoint to fetch the latest page content — including the new title.
Event types
Event properties
All webhook event types share the following shape of properties:
Supported webhook event types
Notion currently supports the following webhook event types. Each event represents a meaningful change to content in a workspace — such as the creation of a page, a schema update, or a new comment.
If Notion supports additional event types or resources, your subscription won’t update automatically to receive them.
To subscribe to more event types or change the existing types your endpoint is receiving, update your subscription in the integration page’s Webhooks tab.
Below, you’ll find the list of available type values, a short description of what each event represents, and whether the event is aggregated. Aggregated events group multiple changes into a single notification to reduce noise and improve efficiency.
For high-frequency events like page.content_updated, Notion batches changes that occur within a short time window into a single webhook event. Events such as page.created, page.deleted, page.undeleted occur in quick succession, you may only recieve the most meaningful result event — or none at all if the state returns to its original one.
Event aggregration helps reduce redundant calls and improves reliability. Aggregated events may have a slight delivery delay (typically under one minute).
Event delivery
Events should be delivered within 5 minutes of their occurrences. Most should be be delivered within a minute. Here are a few things to keep in mind when consuming webhook events.
Event aggregation
Certain events that occur frequently, like page.content_updated, are aggregated by their entity within a brief time window. As a result, there may be a slight delay between the first occurrence of an event and its delivery to your webhook URL.
Event ordering
Events may arrive in a different order than they occurred. If event ordering is critical for your workflows, use the event’s timestamp field to reorder them. Also, webhook events may not show the most current state of the data. We strongly recommend fetching the latest data from the API.
Delivery retries
We aim for at-most-once event delivery. If your webhook endpoint fails to acknowledge receipt of an event, we will retry delivery up to 8 times using an exponential backoff schedule. The final retry attempt occurs approximately 24 hours after the initial event trigger.
Sample event payloads
Notion currently supports the following event types. We’ve added an example payload to describe the shape of each event.
page.created
page.properties_updated
page.content_updated
page.moved
page.deleted
page.undeleted
page.locked
page.unlocked
database.created
For linked databases, the entity.type is "block" instead of "database".
If you retrieve this block in the API, it has a type of "child_database".
database.content_updated
Deprecated in 2025-09-03 API version.
database.moved
database.deleted
database.undeleted
database.schema_updated
Deprecated in 2025-09-03 API version.
data_source.content_updated
New in 2025-09-03 API version. Replaces database.content_updated.
data_source.created
New in 2025-09-03 API version.
data_source.deleted
New in 2025-09-03 API version.
data_source.moved
New in 2025-09-03 API version.
data_source.schema_updated
New in 2025-09-03 API version. Replaces database.schema_updated.
data_source.undeleted
New in 2025-09-03 API version.
comment.created
For page comment:
For comment on a block: