ElevenLabs Flows webhook: what changed, and Sume's per-job webhook
ElevenLabs Flows template runs can send a terminal result to a webhook, and webhook targets now need type all or ids. Sume sets the callback per job.

Per the ElevenLabs changelog, Flows template runs can send their terminal result to a configured webhook, and webhook targets now require an explicit type of all or ids; the earlier defaults were removed. Sume has no target set to configure: you pass a webhook_url on each job and verify each delivery.
Vendor wording is from the ElevenLabs changelog read 2026-10-01. The changelog lists the Flows template API and the webhook target change as separate items, so this post does not claim they are linked. Sume behavior is from Webhooks.
What did ElevenLabs change?
Two entries matter here. The Flows Template API adds endpoints to list and retrieve published Flows templates, start template runs, and retrieve run results; runs can target a published version and send their terminal result to a configured webhook. Separately, webhook targets now require a type discriminator, all or ids. If you create webhook targets from code, send the type explicitly.
How does Sume scope a webhook?
Send mode: "webhook" with a public HTTPS webhook_url on the submit request. The URL belongs to that job. The docs say redeliver does not change the destination URL and that a new URL is a new job. Delivery is terminal-only: job.completed, job.failed, job.canceled.
| Question | ElevenLabs (changelog) | Sume (docs) |
|---|---|---|
| Where is the target set? | A configured webhook target with type all or ids | webhook_url on each submit request |
| What is delivered? | Terminal result of a Flows template run | Terminal job events only, no progress |
| Dedupe key | Not stated in the changelog | job_id, the idempotency key for receivers |
What about bulk runs?
For a batch of Format runs, the bulk-run docs say the queue has no webhook: communication.webhook_url is per item, and queue-level progress comes from polling status_url. If you expected one callback for a whole set, plan on a callback per item and a poll for the batch.
How do I verify a delivery?
Use verifyWebhook from @sume-com/sdk on the raw body with your workspace signing secret; the docs show SUME_COM_WEBHOOK_SIGNING_SECRET. Keep status_url polling as a backup for missed deliveries. For failures, start with debugging Sume webhook deliveries.
Sources
Related posts
More in Developers
- is_final_audio_for_turn vs Sume TTS sentence boundaries: wav or mp3
ElevenLabs now emits is_final_audio_for_turn after every byte, even for MP3. Sume marks boundaries differently: sentence segments, sliced only for wav or raw.
- eleven_turbo_v2_5 deprecated: use Flash; Sume TTS Router ids
ElevenLabs lists eleven_turbo_v2_5 as deprecated and suggests eleven_flash_v2_5. Sume's TTS Router pins an explicit catalog id, so list the ids first.
- ElevenLabs Voice Design 409: wait and retry, or new key on Sume?
Voice Design now returns 409 while a preview generation is in progress; ElevenLabs says retry. On Sume, reuse an Idempotency-Key only for the same payload.
- Facebook Page story API: media from an earlier post is rejected
Meta's Stories API says a story's photo or video cannot have been used in a published post. Make the story variant a new file with a Sume job, not the old URL.
Written by Sume