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.
- ElevenLabs Music Audio Reference vs Sume Music's image input
ElevenLabs Audio Reference guides Music v2/v2.5 with a track of about 30 seconds. Sume Music 1.0 takes a text prompt and one optional public HTTPS image URL.
- ElevenLabs Music v2.5 plan limits vs Sume's 5000-character prompt
ElevenLabs Music v2.5 plan chunks reach 6,132 characters, up to 30 lines of 200. Sume Music takes one 5000-character prompt and rejects duration fields.
- ElevenLabs STT 3 GB / 10 hour limit vs Sume STT 600 s jobs
ElevenLabs speech to text accepts files up to 3 GB and 10 hours in standard mode. Sume STT 1.0 reserves up to 10 minutes per job, so cut long recordings.
Written by Sume