#https://dev.mobmaxime.com/VBooking/API/api/campaigns/ReceiveCallWebhook###I'm using this as a we

1 messages · Page 1 of 1 (latest)

vast raptorBOT
#
AI-generated Answer for konica.m

Short answer: ElevenLabs does not send “in‑progress” call status via webhook. The only call webhooks fire after the call has ended and analysis is complete. To track status live and get the conversation_id, you must use the realtime socket and/or poll the Conversations API.

What’s supported

  • Post‑call webhooks: Enable post_call_transcription (full transcript + metadata including costs) or post_call_audio (audio only). These are delivered only after the call finishes. (elevenlabs.io)
  • Live conversation_id: When a call starts, the WebSocket sends a conversation_initiation_metadata event that includes conversation_id. Capture this and use it to poll status. (elevenlabs.io)
  • Poll status and costs: GET /v1/convai/conversations/:conversation_id returns status (initiated, in-progress, processing, done, failed) plus metadata; metadata includes timing and costs. (elevenlabs.io)
  • Discover recent calls: If you didn’t capture the ID, use GET /v1/convai/conversations to list conversations and their statuses. (elevenlabs.io)

Endpoints/URLs to use

Not for status/costs

  • The Twilio personalization “webhook” is only for providing dynamic variables at call start; it does not return conversation status or costs. (elevenlabs.io)

If your current ReceiveCallWebhook URL is expecting status during the call, there isn’t another webhook URL that will do that. Use the WebSocket event to get conversation_id immediately, then poll GET /conversations/:conversation_id until status becomes done and read the metadata costs, or rely on the post_call_transcription webhook after the call ends. (elevenlabs.io)

untold notch
#

Post-Call Webhook

Enter a valid callback URL - which url i need to add ?

vast raptorBOT
#
AI-generated Answer for konica.m

Short answer: the callback URL must be your own publicly reachable HTTPS endpoint that accepts POSTs from ElevenLabs. Do not enter an ElevenLabs URL.

What to enter

How to set it up

  • In the ElevenLabs dashboard, create a Webhook (Settings → Webhooks), then select it under Conversational AI/Agents “Post-Call Webhook.” Paste your HTTPS endpoint URL there. (elevenlabs.io)
  • Your endpoint must quickly return HTTP 200; repeated failures auto‑disable the webhook. Optionally verify requests via HMAC/OAuth headers. (elevenlabs.io)

What you will receive

  • Post-call webhooks fire after the call finishes and analysis is complete. The transcription webhook payload includes data.conversation_id, status, transcript, and metadata (timings, costs, phone details). The audio webhook sends conversation_id plus base64 audio. (elevenlabs.io)

Need in‑progress status?

  • ElevenLabs does not send mid‑call status via post‑call webhooks. For live status, poll GET /v1/convai/conversations/:conversation_id (statuses: initiated, in‑progress, processing, done, failed) or use the Conversational AI WebSocket stream. (elevenlabs.io)

If your current URL “is not working,” verify it’s publicly accessible over HTTPS, accepts JSON POSTs, returns 200, and that the webhook wasn’t auto‑disabled due to failures. (elevenlabs.io)

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

untold notch
vast raptorBOT
#
AI-generated Answer for konica.m

Short answer:

  • There’s no “in-progress” webhook. ElevenLabs only sends post-call webhooks after the call ends and analysis completes. To track live status (initiated, in-progress, processing, done, failed) you must poll GET /v1/convai/conversations/:conversation_id. (elevenlabs.io)
  • The “callback URL” is your own publicly reachable endpoint. Add that URL in Agents Platform → Settings → Post-call Webhook. Choose the event types you need. (elevenlabs.io)

Which webhook to enable for conversation_id and cost:

  • Enable post_call_transcription. Its payload includes data.conversation_id and data.metadata (timing, costs, phone details). If you enable only post_call_audio, you will not receive transcript/metadata/costs—only agent_id, conversation_id, and base64 full_audio. (elevenlabs.io)

Minimum requirements for your endpoint:

  • Respond 200 OK to each POST. Repeated failures (10+ consecutive, and last success >7 days ago or never) will auto-disable the webhook. For HIPAA workspaces, failed webhooks are not retried. (elevenlabs.io)
  • Verify the HMAC signature in the ElevenLabs-Signature header (format t=timestamp,v0=hash, where hash is HMAC-SHA256 of “timestamp.request_body” using your webhook secret). (elevenlabs.io)
  • If you enable post_call_audio, handle Transfer-Encoding: chunked (streaming body). (elevenlabs.io)
  • Optional: if you firewall, allowlist ElevenLabs egress IPs shown in docs. (elevenlabs.io)

How to get status and costs:

  • For status during/after the call: GET /v1/convai/conversations/:conversation_id and read the status field (initiated, in-progress, processing, done, failed). (elevenlabs.io)
  • For costs after the call: read the post_call_transcription webhook’s data.metadata (contains “call timing, costs, and phone details”). If you need a live breakdown, use the dashboard or fetch conversation details after completion. (elevenlabs.io)

Testing and example URL:

  • For local testing, expose your server with ngrok and paste that HTTPS URL into “Post-Call Webhook” settings (example: https://<your-id>.ngrok-free.app/api/convai-webhook). Store the generated webhook secret and use it to validate ElevenLabs-Signature. (elevenlabs.io)

Why your current URL “not working”:

  • Returning JSON like {"result":"Status update successfully."} is fine, but ElevenLabs only cares that you return HTTP 200. If your handler rejects the request, doesn’t parse JSON, fails HMAC validation, or you enabled only post_call_audio (no costs), you won’t see conversation_id + cost in the body you expect. Double-check event type selection, signature verification, and 200 responses. (elevenlabs.io)

References:

  • Post-call webhooks (types, payloads, HMAC, retries/disable, IPs, audio streaming). (elevenlabs.io)
  • Webhooks product guide (configure + event types incl. post_call_transcription). (elevenlabs.io)
  • Get Conversation API (poll status values).
untold notch
#

post_call_transcription how can i enble and this webhok is not called after call finish whyyy i added into Post-call webhooks and add in to securty section too

vast raptorBOT
#
AI-generated Answer for konica.m

Short answer

  • Enable: In Agents Platform → Settings → Post‑call webhooks, add your public HTTPS callback URL. This delivers type=post_call_transcription after the call ends and analysis completes. The payload includes conversation_id and a metadata object with timing, costs, and phone details. (elevenlabs.io)
  • Critical requirements: Your endpoint must return HTTP 200 to be counted as delivered (a “statusCode”:200 in the JSON body is not sufficient). Repeated non‑200s auto‑disable the webhook after 10 consecutive failures with no success in 7+ days. If you enabled HMAC, verify the ElevenLabs‑Signature header; otherwise your handler likely returns non‑200. If you firewall, allow the documented egress IPs. (elevenlabs.io)
  • Why you aren’t receiving it: Post‑call webhooks only send after analysis finishes; they won’t fire “in‑progress.” If your handler returns anything other than HTTP 200, or blocks/Times out, delivery is marked failed and may be auto‑disabled. Also note there were recent incidents that affected post‑call transcription webhooks (now resolved). (elevenlabs.io)
  • Verify independently: You can always GET the conversation to confirm status (initiated, in‑progress, processing, done) and fetch conversation_id and other fields while debugging your webhook. (elevenlabs.io)
  • Test setup: The cookbook shows a working example with a Next.js endpoint and ngrok; after creating the Post‑call webhook in Settings you’ll receive a secret to use for HMAC verification. (elevenlabs.io)

Checklist to fix your endpoint

  • Confirm your server actually returns HTTP 200 OK for ElevenLabs’ request (not just a JSON field “statusCode”:200). (elevenlabs.io)
  • If HMAC is enabled, compute HMAC-SHA256 over “timestamp.raw_body” and compare with ElevenLabs‑Signature (format t=...,v0=...). Return 200 only after signature passes. (elevenlabs.io)
  • Ensure your URL is public HTTPS and not gated by IP blocks; if you must allowlist, add the US/EU/Asia egress IPs documented (or the data‑residency IPs if applicable). (elevenlabs.io)
  • Re‑enable the webhook in Settings if it was auto‑disabled due to failures. (elevenlabs.io)
  • If you only enabled “Send audio data,” you’ll receive type=post_call_audio (base64 MP3) but not the transcript/metadata; make sure you’re handling type=post_call_transcription. (elevenlabs.io)

Notes

  • The transcription payload’s data.metadata includes call timing and costs; parse conversation_id from data.conversation_id. (elevenlabs.io)
  • You can poll GET /v1/convai/conversations/:conversation_id while testing to see when status becomes done.
untold notch
#

i applied all the stuff, but it's not working why