#what is the request body of postcall webhook send by eleven labs and how to authenticate it in my w

1 messages · Page 1 of 1 (latest)

violet jayBOT
#
AI-generated Answer for ayush_38869

Here’s exactly what ElevenLabs sends and how to verify it.

Request body (POST)

  • Common top-level fields
    • type: "post_call_transcription" or "post_call_audio"
    • event_timestamp: Unix seconds (UTC)
    • data: object with event-specific payload. (elevenlabs.io)
  • Transcription webhook (type = post_call_transcription)
    • data includes: agent_id, conversation_id, status, user_id, transcript[], metadata, analysis, conversation_initiation_client_data.
    • Note: since August 15, 2025, data also includes has_audio, has_user_audio, has_response_audio to align with the GET Conversation response. (elevenlabs.io)
  • Audio webhook (type = post_call_audio)
    • data includes only: agent_id, conversation_id, full_audio (base64-encoded MP3 of the full call). (elevenlabs.io)
  • Delivery detail for audio webhooks
    • Audio payloads may be delivered via HTTP streaming with Transfer-Encoding: chunked; read/assemble the full body before processing. (elevenlabs.io)

Authenticating the webhook (HMAC)

  • Header: ElevenLabs-Signature formatted as t=timestamp,v0=hash. (elevenlabs.io)
  • Compute expected signature: v0 must equal hex(HMAC-SHA256(secret, "<timestamp>.<raw_request_body>")). Use the exact raw bytes as received; compare in constant time and enforce a recent timestamp. (elevenlabs.io)

Operational notes

  • Respond with HTTP 200 quickly after validation. Webhooks that fail repeatedly can be auto-disabled; events are dispatched only once. (elevenlabs.io)
  • For HIPAA workspaces, failed post-call webhooks are not retried. (elevenlabs.io)
  • Optional: you can IP-allowlist ElevenLabs’ fixed egress IPs as an extra control. (elevenlabs.io)

Sources:

  • Post-call webhooks (payloads, migration note, HIPAA, IPs) (elevenlabs.io)
  • Webhooks (HMAC header format, verification flow, delivery behavior) (elevenlabs.io)
  • Post-call webhooks (audio streaming/chunked delivery) (elevenlabs.io)
upbeat monolith
#

if call is cut or not picked do i get request on my webhook

violet jayBOT
#
AI-generated Answer for ayush_38869

Short answer: not guaranteed.

  • ElevenLabs only documents post-call webhooks being sent “after a call has finished and analysis is complete.” The docs do not promise a webhook if the call never connects or is not answered. (elevenlabs.io)
  • You can check the outcome of attempted calls via the Conversations API; conversation status values include failed, which covers cases where a call did not proceed. (elevenlabs.io)
  • Audio webhooks are only sent when there is audio of a conversation, so an unanswered call (no audio) would not generate an audio webhook. (elevenlabs.io)
  • If a call is answered by voicemail and your agent handles it (via the Voicemail Detection tool), that is a connected conversation; you should receive the normal post-call webhook once it ends. (elevenlabs.io)

If you need to track no-answer or failed dials, rely on the Conversations API (and/or your telephony provider callbacks) rather than waiting for a post-call webhook. (elevenlabs.io)

Sources:
Webhooks | ElevenLabs Documentation
Get conversation details | ElevenLabs Documentation
Post-call webhooks | ElevenLabs Documentation
Voicemail detection | ElevenLabs Documentation
Get conversation details | ElevenLabs Documentation

upbeat monolith
#

does calls that are not picked send post call transcription