Skip to main content
One request dials one person. For a list on a schedule, use a campaign instead — it handles pacing, dialling hours, retries and voicemail.

The request

Passing in context

variables is what makes an outbound call useful. Whatever you send is available throughout the call:
Values you pass in are treated as untrusted and cleaned before use, so a value from your database can’t carry instructions into the prompt. See Variables.

What comes back

The response returns as soon as the call is queued — before anyone picks up. provider_call_sid is empty at this point, because the carrier hasn’t been reached yet. So don’t treat a 200 as “they answered”. Wait for call.completed, matching on call_sid.

Knowing how it went

Subscribe to webhooks rather than polling. You’ll get call.completed with the summary, transcript and outcomes when the conversation ends. To check a single call on demand, GET /api/calls/{call_sid}.

Before it will work

You need a phone connection with an outbound number, and an assistant to answer. If from_phone_number isn’t one of your managed numbers the request is rejected.