Can Notion send webhooks? Start an AI video job from a page

Yes: Notion's Send webhook action posts page properties to your URL, and integration webhooks report changes. Call Sume from your own endpoint.

5 min readSume
All posts

Yes. Notion sends webhooks in two ways. The Send webhook action in buttons, database buttons and database automations sends an HTTP POST request to a URL you choose. Integration webhooks are subscriptions on a Notion connection that POST an event to your endpoint when a page or database changes. Neither one calls Sume for you: point either at a small endpoint of your own, and have that endpoint call Sume's POST /v1/videos.

Notion facts come from Notion's Webhook actions help page and its developer Webhooks reference, read 2026-09-29. Sume facts come from Videos and Webhooks. Sume has no Notion connector: the call is plain HTTPS from your server.

What can Notion's Send webhook action do?

It's a no-code trigger. Notion's help page says it's for starting workflows in your own or third-party apps, and that the action itself doesn't require authentication. It's limited in ways that matter for a video job:

  • It's available to users on paid plans.
  • Webhooks only support POST, and you can set up at most five webhook actions per automation.
  • Only database page properties, not page contents, can be sent. In a database automation you pick the properties for the content; database button properties can't be selected.
  • You can add custom headers with a key and a value.
  • There's no payload preview. Notion suggests a site such as webhook.site to see what your request looks like.
  • If the action fails, Notion pauses the automation and shows an exclamation mark, and you resume it by hand.

When should I use integration webhooks instead?

When you want to react to any change, not a button click. Notion's developer docs say a subscribed connection receives an HTTP POST to your endpoint whenever a page or database changes, and their example says Notion sends the request within a minute. Setup is a subscription in your connection's Webhooks tab: Notion first POSTs a one-time verification_token to your URL, and you paste it back to activate the subscription.

Every request after that carries an X-Notion-Signature header, an HMAC-SHA256 hash of the request body signed with the verification_token. Verify it before you trust the event, and fetch the page with the Notion API to read its current properties.

From Notion's Webhook actions and Webhooks pages, read 2026-09-29.
Send webhook actionIntegration webhooks
Set up inA button, database button or database automationA connection's Webhooks tab
Fires onThe button click or automation triggerPage and database changes you subscribe to
What arrivesSelected database page propertiesAn event with metadata such as page id and event type
Trust checkNo signature is documented; you can add a custom headerX-Notion-Signature, HMAC-SHA256 with the verification_token

How do I turn a Notion webhook into a Sume video job?

Put a small server between them. Your endpoint checks the Notion request, builds the video request, and submits it. A Sume video submit answers 202 with a job id, a polling_url and status: pending, so your endpoint can answer Notion quickly and let Sume call back later.

  • Send POST https://api.sume.com/v1/videos with model, prompt and your callback_url. The callback URL must be HTTPS.
  • Set an Idempotency-Key from something stable, such as the Notion page id and a version. Sume's docs say a replay returns the original job, and to reuse a key only for the same operation and payload.
  • Store the job id somewhere you can find it from the page.
  • Keep the API key on your server. Sume's authentication docs tell you to keep keys on trusted servers, so don't paste it into a Notion custom header.

Why does the payload matter before I build on it?

Notion's help page says you can't preview the payload and that page contents aren't sent, so treat the request body as something to inspect first. Log one real delivery at your endpoint, then read only the fields you saw. If you need the page's full text, fetch it from the Notion API with the page id.

Sources

Related posts

More in Integrations

All Integrations posts

Written by Sume