#Hello,I have set the Dynamic variable during triggered the https://api.elevenlabs.io/v1/convai/twi

1 messages · Page 1 of 1 (latest)

fleet pebbleBOT
#
AI-generated Answer for jayeshkhatik_54264

Short answer:
To pass dynamic variables to a Twilio outbound call, you must include them inside the conversation_initiation_client_data.dynamic_variables object in your POST body, and reference them in your agent’s prompt using double curly braces with an exact name match. Example:

POST https://api.elevenlabs.io/v1/convai/twilio/outbound-call
{
"agent_id": "AGENT_ID",
"agent_phone_number_id": "PHONE_NUMBER_ID",
"to_number": "+1XXXYYYZZZZ",
"conversation_initiation_client_data": {
"dynamic_variables": {
"customer_name": "John Doe",
"account_status": "premium"
}
// optionally:
// "conversation_config_override": {
// "agent": { "first_message": "Hi {{customer_name}}!" }
// }
}
}

What to check:

  • Prompt placeholders: Use {{customer_name}} style in your agent prompt/first message, and ensure the key names match exactly (case‑sensitive).
  • Where you put the data: Dynamic variables must be nested under conversation_initiation_client_data when calling /v1/convai/twilio/outbound-call.
  • Types: Values must be strings, numbers, or booleans (no objects/arrays).
  • Reserved names: Don’t prefix your own variables with system__ (reserved for built-ins like system__call_sid).
  • If you’re overriding prompt/first_message instead of using variables, enable those override permissions in the agent’s Security settings; otherwise the override is ignored. Dynamic variables do not require that setting.
  • Note on Twilio guides: The webhook-based “Twilio personalization” docs are for inbound calls. For outbound calls, pass conversation_initiation_client_data directly in your API request as shown above.

If it’s still not substituting, please share:

  • The exact JSON you POSTed (with conversation_initiation_client_data.dynamic_variables),
  • The exact {{...}} placeholders used in your agent prompt/first message,
    and I’ll pinpoint the mismatch.
grave ore
#

Thank it's working

fleet pebbleBOT
#
AI-generated Answer for jayeshkhatik_54264

Awesome—glad it’s working!

For future reference:

  • Dynamic variables: syntax ({{variable_name}}), system variables, and troubleshooting. (elevenlabs.io)
  • Outbound call API: accepts conversation_initiation_client_data for passing dynamic_variables at call start. (elevenlabs.io)
  • Conversation initiation client data structure: dynamic_variables and optional overrides. (elevenlabs.io)

If you need a minimal JSON example for conversation_initiation_client_data, I can share one.

Sources:
Dynamic variables | ElevenLabs Documentation
Outbound call via twilio | ElevenLabs Documentation
Personalization | ElevenLabs Documentation

grave ore
fleet pebbleBOT
#
AI-generated Answer for jayeshkhatik_54264
grave ore
#

{"result":"1. Describe how you implemented server-side rendering with Angular Universal to improve performance and SEO; what challenges and trade-offs did you address?\n2. How did you design real-time vehicle tracking with Google Maps, Mapbox, and PubNub; explain data flow, synchronization, and handling of high update rates?\n3. What error handling and authentication patterns did you implement with Angular HttpClient when integrating RESTful APIs in your portals?\n4. Describe your approach to component architecture, state management, and reuse in scalable Angular applications like Proveera Exports.\n5. Explain how you built CI/CD pipelines with GitHub Actions for testing and deployment; how did you handle rollbacks and environment configurations?","call_id":null}

i returning this type of questions string but elevenlab consider this questions string as single question.

fleet pebbleBOT
#
AI-generated Answer for jayeshkhatik_54264

Here’s what the Conversations API returns for status, and how to send multiple questions so they aren’t treated as a single message.

  1. Conversation status values
  • status (string, not numeric) can be one of: initiated, in-progress, processing, done, failed. See GET /v1/convai/conversations/:conversation_id. (elevenlabs.io)
  • In list responses you’ll also see call_successful with possible values: success, failure, unknown. See GET /v1/convai/conversations. (elevenlabs.io)
  1. Your multi-line “questions” string being treated as one question
  • Passing a single text value (e.g., via dynamic variables or a single text input) is processed as one user message. To submit multiple questions, send them as separate user messages:
    • Over WebSocket: send multiple events of type "user_message", each with its own text. (elevenlabs.io)
    • Via SDKs: call the sendMessage (or equivalent) method multiple times to enqueue distinct user turns. (elevenlabs.io)
  • If you’re starting a Twilio outbound call and need to pass initial data, use conversation_initiation_client_data in the request. This supports overrides and dynamic_variables at conversation start. (elevenlabs.io)

References

  • Get conversation details (statuses): GET /v1/convai/conversations/:conversation_id. (elevenlabs.io)
  • List conversations (call_successful enum): GET /v1/convai/conversations. (elevenlabs.io)
  • Client-to-server events (multiple user_message events). (elevenlabs.io)
  • Twilio outbound call (conversation_in
grave ore
#

please share the example

fleet pebbleBOT
#
AI-generated Answer for jayeshkhatik_54264

Here are the verified details and examples from the official ElevenLabs docs.

Conversation status values (Conversations API)

  • GET /v1/convai/conversations/:conversation_id returns status as an enum string with these allowed values: initiated, in-progress, processing, done, failed. See the example response on the endpoint page. (elevenlabs.io)
  • You can list conversations with GET /v1/convai/conversations; each item includes status plus fields like call_successful (success|failure|unknown) and direction (inbound|outbound). Filtering options are documented on that page. (elevenlabs.io)

Why your “numbered questions” are treated as one item

  • Tool and client-tool results are appended to the conversation context as one message; if you return a single string, the agent sees a single blob of text. The docs note that when a tool is configured to wait for a response, the response is appended to the conversation context. (elevenlabs.io)

How to pass multiple questions as discrete items (example)

  • Return structured JSON (not one string). For example, have your webhook/tool return:
    { "response": { "questions": [
    "Describe how you implemented server-side rendering with Angular Universal
",
    "How did you design real-time vehicle tracking with Google Maps, Mapbox, and PubNub
",
    "What error handling and authentication patterns did you implement with Angular HttpClient
"
    ]}}
    Then map that array into a dynamic variable via tool assignments:
    • source: response
    • dynamic_variable: questions
    • value_path: response.questions
      Assignments use dot notation to pick values from your tool’s JSON response and write them to dynamic variables. (elevenlabs.io)

How the agent uses that data

  • Dynamic variables can be referenced in your prompt/first message (e.g., {{questions}}) or consumed by the LLM from the appended tool result, allowing you to instruct the agent (in its system prompt) to iterate over the array and ask items one by one. The behavior of dynamic variables and assignment via tool responses is described in the dynamic variables guide. (elevenlabs.io)

References

  • Get conversation details (statuses): GET /v1/convai/conversations/:conversation_id. (elevenlabs.io)
  • List conversations (filters, call_successful): GET /v1/convai/conversations. (elevenlabs.io)
  • Client tools “wait for response” appends the result to context. (elevenlabs.io)
  • Dynamic variables and dot-notation assignments from tool responses. (elevenlabs.io)
  • Tools API shows the assignments structure (source, dynamic_variable, value_path). (elevenlabs.io)

If you’d like, share which tool type you’re using (client tool vs. webhook/server tool

grave ore
#

Hello, after the call, I need to get the status. What should I do? Which type of changes i should do elevenlab?

fleet pebbleBOT
#
AI-generated Answer for jayeshkhatik_54264

Short answer: use post‑call webhooks (recommended) or poll the Conversations API.

What to do

  • Enable post‑call webhooks for your agents to be notified when a call ends and analysis is finished. Choose:
    • post_call_transcription for full transcript, analysis, metadata (includes a status field).
    • post_call_audio for just the full-call audio (base64). (elevenlabs.io)
  • Secure and harden delivery:
    • Validate the ElevenLabs-Signature HMAC on every request, optionally allowlist the documented IPs, and ensure your endpoint returns HTTP 200; repeated failures auto‑disable delivery. (elevenlabs.io)
  • Update parsers for the Aug 15, 2025 webhook format change: transcription webhooks now also include has_audio, has_user_audio, has_response_audio (aligned with the GET Conversation response). (elevenlabs.io)

If you prefer polling (or as a fallback)

  • Call GET /v1/convai/conversations/:conversation_id and check status (initiated | in-progress | processing | done | failed). The response also includes the optional analysis object and the has_audio flags noted above. (elevenlabs.io)
  • To enumerate recent calls or find the ID to poll, use GET /v1/convai/conversations (filters available by agent_id, time, success, etc.). (elevenlabs.io)
  • To fetch the recording after completion, call GET /v1/convai/conversations/:conversation_id/audio. (elevenlabs.io)

Small but important agent change (if you created the agent via API/SDK)

  • Add the End Call system tool so the agent can explicitly terminate calls; it’s added by default for agents created in the dashboard but must be added manually for API/SDK-created agents. (elevenlabs.io)

If you share how you’re placing calls (telephony vs WebRTC) and whether you can accept webhooks, I can point you to the exact setup steps.

Sources:
Post-call webhooks | ElevenLabs Documentation
Post-call webhooks | ElevenLabs Documentation
Post-call webhooks | ElevenLabs Documentation
Get conversation details | ElevenLabs Documentation
List conversations | ElevenLabs Documentation
Get conversation audio | ElevenLabs Documentation
End call | ElevenLabs Documentation

grave ore
#

I have created one GET api and created post-webhook in the elevenlab and map this with agent. but still this method is not calling.

method API is created in .net core

fleet pebbleBOT
#
AI-generated Answer for jayeshkhatik_54264

Likely cause: you created a GET endpoint but enabled a post-call webhook. Post-call webhooks only send POST requests after a call ends, so a GET action in your .NET app will never be hit.

What to check

  • If you enabled a post-call webhook

    • Listener must be an HTTPS POST endpoint that returns HTTP 200 quickly; ElevenLabs will not call GET. (elevenlabs.io)
    • Enable it in Agents Platform settings and note that repeated failures auto‑disable the webhook (10+ consecutive failures, last success >7 days). (elevenlabs.io)
    • Verify HMAC signature in the ElevenLabs-Signature header (format t=timestamp,v0=hash). Optionally allowlist ElevenLabs egress IPs if your firewall blocks requests. (elevenlabs.io)
    • Event types you can receive: post_call_transcription and post_call_audio. These fire only after a conversation finishes. (elevenlabs.io)
  • If you intended to call your API during the conversation

    • Use a Server Tool (Webhook tool) on the agent. You can set Method=GET and define path/query/body params; the agent will invoke it when the LLM decides it’s relevant. Provide a clear name/description and instruct usage in the system prompt. (elevenlabs.io)
    • Test tool calls via Simulate Conversations/Tool Call Testing to confirm the agent actually triggers the tool and passes parameters. (elevenlabs.io)

Quick next steps (pick one path)

  • For post‑call data: implement a POST /webhook in .NET, return 200, verify HMAC, ensure the endpoint is publicly reachable over HTTPS, and re‑enable the webhook if it was auto‑disabled. Then place a test call and confirm delivery. (elevenlabs.io)
  • For in‑call API usage: add a Webhook tool with Method=GET, wire it to your agent, and update the agent prompt to say exactly when to call it. Use the simulator to verify tool_calls appear. (elevenlabs.io)

If you share which one you configured (post‑call webhook vs. server tool), I can point you to the exact place in the dashboard and the expected payload/behavior. (elevenlabs.io)

Sources:
Post-call webhooks | ElevenLabs Documentation
Post-call webhooks | ElevenLabs Documentation
Post-call webhooks | ElevenLabs Documentation
Post-call webhooks | ElevenLabs Documentation
Server tools | ElevenLabs Documentation
Simulate Conversations | ElevenLabs Documentation
Post-call webhooks | ElevenLabs Documentation
Server tools | ElevenLabs Documentation
Server tools | ElevenLabs Documentation

grave ore
#

GET. (elevenlabs.io)
Enable it in Agents Platform settings and note that repeated failures auto‑disable the webhook (10+ consecutive failures, last success >7 days).

please provide the steps to check.

fleet pebbleBOT
#
AI-generated Answer for jayeshkhatik_54264

Below are the quickest checks to get your webhook firing again. All items are taken from ElevenLabs’ official docs.

  1. Confirm the HTTP method
  • ElevenLabs webhooks call your endpoint with POST, not GET. If your .NET endpoint only accepts GET, it will never be invoked. Switch it to accept POST. (elevenlabs.io)
  1. Ensure the webhook is enabled and mapped to Agents
  • Create/enable the webhook in the general Settings > Webhooks page. Then select it in product settings (Agents Platform) so it listens for post‑call events. (elevenlabs.io)
  • You can also enable Post‑call Webhooks for all agents from the Conversational AI settings page. (elevenlabs.io)
  • Cookbook example: Agents Platform settings > “Post‑Call Webhook” > create webhook and paste your URL. (elevenlabs.io)
  1. Check for auto‑disable due to failures
  • Webhooks auto‑disable after 10+ consecutive failures if the last success was over 7 days ago (or never succeeded). Re‑enable them in Settings when this happens. (elevenlabs.io)
  1. Verify success criteria on your endpoint
  • Must return HTTP 200 quickly for each POST; failures count toward auto‑disable. For HIPAA compliance there are no retries if a webhook fails. (elevenlabs.io)
  1. Validate signatures
  • Use the shared secret shown when you create the webhook to verify the ElevenLabs‑Signature header (format: t=timestamp,v0=hash where hash is HMAC‑SHA256 of “timestamp.request_body”). (elevenlabs.io)
  1. Trigger a real event to test
  • Post‑call webhooks fire after a call ends and analysis completes. Start and complete a test call to generate an event. If testing locally, expose your server (e.g., via ngrok) and use that public URL in the webhook settings. (elevenlabs.io)
  1. Permissions
  • Only workspace admins can configure webhooks for a workspace. Confirm you have the required role. (elevenlabs.io)

If after these checks the POST still doesn’t hit your server, re‑enable the webhook (if

grave ore
#

please share the steps to check errors of webhook calling

fleet pebbleBOT
#
AI-generated Answer for jayeshkhatik_54264

Here’s how to diagnose webhook-call failures using only what’s in ElevenLabs’ docs:

  1. Verify it’s enabled and attached to your agent
  • Go to General Settings > Webhooks and confirm the webhook is enabled. Webhooks can be auto‑disabled after 10+ consecutive failures if the last success was >7 days ago; re‑enable it here. Then make sure this webhook is selected inside the product settings (Agents Platform). (elevenlabs.io)
  1. Confirm HTTP method and success criteria
  • ElevenLabs sends POST requests to your listener. If your endpoint only supports GET, it won’t be called. Your handler must quickly return HTTP 200 on receipt; repeated non‑200 responses can cause auto‑disable. (elevenlabs.io)
  1. Check signature validation
  • Inspect the ElevenLabs-Signature header (format: t=timestamp,v0=hash). Compute HMAC-SHA256 over “timestamp.request_body” with your shared secret and compare to v0. Also validate the timestamp tolerance. If validation fails, log the reason and still ensure your server returns a 2xx once you’ve accepted the event for processing. (elevenlabs.io)
  1. Confirm URL reachability and correct secret
  • If developing locally, expose your endpoint (e.g., ngrok) and paste the public URL into Agents Platform > Post‑Call Webhook settings. After saving, copy the webhook secret and use it in your server for HMAC checks. Update the URL/secret whenever they change. (elevenlabs.io)
  1. Verify header/secret configuration in the UI
  • In Agents Platform settings, you can configure the webhook URL and manage which secrets are sent in headers. Click the webhook to confirm the expected headers are being sent. (elevenlabs.io)
  1. Understand delivery behavior while debugging
  • Each webhook event is dispatched only once; there’s no documented re‑delivery UI. If you miss an event during debugging, fetch product data via the API instead. (elevenlabs.io)

If you still can’t identify the issue after these checks, capture your server’s raw request logs (status code, headers, body) around the POST attempts and contact ElevenLabs Support with details. (help.elevenlabs.io)

Sources:
Webhooks | ElevenLabs Documentation
Webhooks | ElevenLabs Documentation
Webhooks | ElevenLabs Documentation
Data Collection and Analysis with Agents Platform in Next.js | ElevenLabs Documentation
Twilio personalization | ElevenLabs Documentation
Webhooks | ElevenLabs Documentation
How can I contact support? – ElevenLabs

grave ore
#

still not wroking. is that anot her way to call webhook?

fleet pebbleBOT
#
AI-generated Answer for jayeshkhatik_54264

Short answer: yes—but not via GET. ElevenLabs sends webhooks as HTTP POST only. A GET-only endpoint will never be called. Use one of these supported options instead:

  • Keep using post‑call webhooks (POST only)

    • Ensure the webhook is enabled in Settings, attached to Agents Platform, and re‑enable it if auto‑disabled after 10+ consecutive failures with no success in the last 7 days. Return HTTP 200 quickly and verify the ElevenLabs-Signature HMAC. If you enabled “Send audio data,” handle chunked transfer. For HIPAA, failed webhooks are not retried.
  • Call your API during the conversation via a Webhook Tool (supports GET/POST/
)

    • Add a webhook tool to the agent and set Method=GET if you need a GET call. See the tools overview and the Zendesk integration which shows a webhook tool using Method: GET. You can also create/manage tools via the ConvAI CLI.
  • Use the Twilio personalization webhook (on inbound calls)

    • If you’re using Twilio, the platform can POST to your endpoint at call start to fetch conversation-init data you return.
  • Skip webhooks and poll for results

    • After a call ends, fetch the transcript and metadata with Get Conversation.

If your current POST webhook “still isn’t working,” verify these items:

  • It’s enabled and mapped to Agents Platform; re‑enable if auto‑disabled.
  • Your handler accepts POST and returns 2xx quickly; otherwise deliveries will be marked failed and may auto‑disable.
  • You validate ElevenLabs-Signature (HMAC of timestamp.request_body) with your stored secret.
  • If you toggled “Send audio data,” your server reads chunked requests.
  • For local testing, expose your endpoint (e.g., via ngrok) and use that HTTPS URL in Settings.

If you share your current endpoint type and where you attached it (post‑call vs tool vs Twilio), I can point to the exact config page to switch it.

grave ore
#

yes, i have created the post method.

fleet pebbleBOT
#
AI-generated Answer for jayeshkhatik_54264

Great — since you now have a POST endpoint, use this checklist to verify delivery and find errors:

  1. Confirm the webhook is active and mapped
  • In Webhooks settings, make sure it’s enabled (not auto‑disabled) and selected for Agents Platform events. Auto‑disabled occurs after 10+ consecutive failures with last success >7 days; you must re‑enable it. (elevenlabs.io)
  1. Trigger the correct event
  • Post‑call webhooks only fire after a call ends and analysis completes. They must receive a 200 to be marked successful; there are no retries for failures (HIPAA). (elevenlabs.io)
  1. Return 200 quickly
  • Your listener should validate the signature and promptly return HTTP 200; otherwise the webhook may be auto‑disabled. Events are dispatched only once. (elevenlabs.io)
  1. Verify HMAC signature
  • Validate the ElevenLabs‑Signature header format t=timestamp,v0=hash where v0 is HMAC‑SHA256 of “timestamp.request_body” using your webhook secret. Reject if timestamp too old or signature mismatch. (elevenlabs.io)
  1. Check status and last error via API
  • Call List Workspace Webhooks to see is_disabled, is_auto_disabled, most_recent_failure_error_code, and most_recent_failure_timestamp:
    • GET /v1/workspace/webhooks (requires xi‑api‑key). (elevenlabs.io)
  1. If developing locally
  • Expose your server with ngrok, set that URL as the Post‑Call Webhook in Agents settings, and store the generated webhook secret. (elevenlabs.io)
  1. Need another way to get the data (without webhooks)?
  • Poll the Conversations API instead:
    • Get conversation: GET /v1/convai/conversations/:conversation_id
    • Get conversation audio: GET /v1/convai/conversations/:conversation_id/audio
      These return the same post‑call data you’d receive via the transcription webhook. (elevenlabs.io)
  1. If you meant a different webhook (pre‑call personalization)
  • For inbound Twilio calls you can configure a personalization webhook that ElevenLabs calls during the dialing window; enable “fetch conversation initiation data” on the agent and set the webhook URL and secrets. (elevenlabs.io)

If any of the checks above still show failures, share the most_recent_failure_error_code and timestamp from step 5 and we can pinpoint the next action. (elevenlabs.io)

grave ore
#

Thanks,
Webhook is working fine.
But in the webhook response JSON i didn't get the recordingUri. I have also enable the Send audio data. but still not get the recodinguri.

fleet pebbleBOT
#
AI-generated Answer for jayeshkhatik_54264

Short answer: ElevenLabs post‑call webhooks don’t include a recordingUri field. If you enable “Send audio data,” the platform sends an Audio webhook whose payload contains the full call audio as a base64 string in data.full_audio—not a URL. (elevenlabs.io)

How to get the audio:

  • Via webhook: Configure your webhook as an Audio webhook (or enable “Send audio data”). Parse data.full_audio (base64 MP3) from the post_call_audio event. There is no recording URI in this payload. (elevenlabs.io)
  • Via API: Use GET /v1/convai/conversations/{conversation_id}/audio to download the conversation’s audio. You can take conversation_id from the post_call_transcription webhook’s data and then generate/store your own URL if needed. (elevenlabs.io)
  • Optional check: The Conversation details API includes has_audio flags (and, as of Aug 15, 2025, these same flags are also added to the transcription webhook’s data) so you can confirm whether audio exists before fetching. (elevenlabs.io)

References:

  • Post‑call webhooks (event types, payloads, “Send audio data” toggle, and migration notes). (elevenlabs.io)
  • Get conversation audio endpoint. (elevenlabs.io)
  • Post‑call webhook cookbook example (shows the transcription webhook structure and conversation_id field). (elevenlabs.io)
  • Get conversation details (has_audio flags). (elevenlabs.io)

Sources:
Post-call webhooks | ElevenLabs Documentation
Post-call webhooks | ElevenLabs Documentation
Get conversation audio | ElevenLabs Documentation
Get conversation details | ElevenLabs Documentation
Post-call webhooks | ElevenLabs Documentation
Get conversation audio | ElevenLabs Documentation
Data Collection and Analysis with Agents Platform in Next.js | ElevenLabs Documentation
Get conversation details | ElevenLabs Documentation

grave ore
fleet pebbleBOT
#
AI-generated Answer for jayeshkhatik_54264

Short answer: that endpoint returns the audio itself, not a downloadable “recording URL.” This is the intended behavior.

What the docs say

  • GET /v1/convai/conversations/{conversation_id}/audio is “Get the audio recording of a particular conversation.” The response is the recording data; a public URL is not provided. (elevenlabs.io)
  • If you want to confirm the conversation has audio before fetching it, call GET /v1/convai/conversations/{conversation_id} and check has_audio / has_user_audio / has_response_audio. (elevenlabs.io)
  • If you enabled “Send audio data” on webhooks, the audio is delivered in a separate post_call_audio webhook as a base64-encoded MP3 string (full_audio). There is no recordingUri in that payload. (elevenlabs.io)

How to proceed

  • To download: call GET /v1/convai/conversations/{conversation_id}/audio with your xi-api-key and save the response body as a file on your side. The API does not return a pre-signed/recording URL. (elevenlabs.io)
  • If you need a link to share, store the bytes you fetched (or the webhook’s base64) in your own storage (e.g., S3) and serve a URL from there. ElevenLabs does not document a “recording URL” endpoint. (elevenlabs.io)

Related references

  • Get conversation audio endpoint: /v1/convai/conversations/:conversation_id/audio. (elevenlabs.io)
  • Get conversation details (has_audio flags). (elevenlabs.io)
  • Post-call audio webhook format (full_audio as base64 MP3). (elevenlabs.io)

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

grave ore
fleet pebbleBOT
#
AI-generated Answer for jayeshkhatik_54264

Short answer: You can’t pass a prerecorded “dynamic audio file/URL” to play via the outbound-call endpoint. What you can pass at call start are dynamic variables and config overrides (e.g., choose the voice and the agent’s first spoken message) via conversation_initiation_client_data in the POST body.

  • Endpoint: POST /v1/convai/twilio/outbound-call supports conversation_initiation_client_data (optional). (elevenlabs.io)
  • Allowed fields in conversation_initiation_client_data include:
    • conversation_config_override.tts.voice_id (pick the voice for this call)
    • conversation_config_override.agent.first_message (what the agent says first)
    • dynamic_variables (per‑call values you reference in prompts/messages) (elevenlabs.io)

Example body (fields trimmed to what’s relevant):
{
"agent_id": "your_agent_id",
"agent_phone_number_id": "your_phone_number_id",
"to_number": "+1XXXXXXXXXX",
"conversation_initiation_client_data": {
"conversation_config_override": {
"tts": { "voice_id": "VOICE_ID" },
"agent": { "first_message": "Hi, this is ACME. Is now a good time?" }
},
"dynamic_variables": { "customer_name": "Jane" }
}
}

References:

  • Outbound call API parameters and schema. (elevenlabs.io)
  • Conversation initiation client data structure (overrides and dynamic variables). (elevenlabs.io)

If your goal is to play a custom prerecorded clip, that’s not supported by this endpoint per the docs; use an agent first_message (TTS) or other workflow instead. (elevenlabs.io)

Sources:
Outbound call via twilio | ElevenLabs Documentation
Personalization | ElevenLabs Documentation
Outbound call via twilio | ElevenLabs Documentation
Personalization | ElevenLabs Documentation
Outbound call via twilio | ElevenLabs Documentation

grave ore
#

In the webhook response getting the cost:460. what is the 460. can you please explore.

fleet pebbleBOT
#
AI-generated Answer for jayeshkhatik_54264

Short answer: cost is credits.

Details

  • In the post_call_transcription webhook, data.metadata.cost is the total credits billed for that conversation. See the example payload showing "cost": 296. (elevenlabs.io)
  • Conversational AI is priced in credits per minute; the exact credits-per-minute depends on your plan (e.g., Free 666, Starter 600, Creator 400, Pro 454, Scale 555, Business 800). To estimate minutes for cost=460: minutes ≈ 460 / [your plan’s credits-per-minute]. (help.elevenlabs.io)

Why cost may not equal a simple duration × rate

  • Silent periods >10s are billed at 5% of the normal per‑minute rate for the silent portion. (elevenlabs.io)
  • Setup/prompt testing is billed at half cost. If your webhook payload includes metadata.charging.dev_discount, that discount may have applied. (help.elevenlabs.io)
  • If Burst Pricing is enabled and you exceeded your concurrency, excess calls are charged at 2× rate. (elevenlabs.io)
  • LLM usage is passed through and converted to credits, which can add to the total. (help.elevenlabs.io)

Where to verify

  • Check Developers → Usage (Usage Analytics) in the dashboard to see per‑product and per‑API key credit usage. (help.elevenlabs.io)

Sources:
Webhooks | ElevenLabs Documentation
How much does Conversational AI cost? – ElevenLabs
Introduction - Conversational voice AI agents | ElevenLabs Documentation
How much does Conversational AI cost? – ElevenLabs
Burst pricing | ElevenLabs Documentation
How much does Conversational AI cost? – ElevenLabs
How can I see information about credit usage for my account? – ElevenLabs

grave ore
#

Should i get the dollor cost based on conversation