Skip to main content
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 connection 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 connection can use the retrieve a page endpoint to fetch the latest page content — including the new title.
For detailed payload schemas for each webhook event type, see the Webhook events API reference.

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.
More event types may be added in the futureIf 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 connection 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.
What does “aggregated” mean?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

Linked databasesFor 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:

comment.updated

comment.deleted