Batch calls
Batch calls dial a list of phone numbers through one of your voice agents in a single request. Each recipient can receive personalised variables (name, account number, appointment time, etc.) that your agent’s prompt references via {{key}} placeholders. Batches run immediately or schedule up to 30 days ahead.
Create a batch call
Send a JSON body with the list of recipients. Each recipient needs a phone number in E.164 format. Any extra fields go into dynamic_vars and are injected as dynamic variables for that call.
The endpoint returns 202 Accepted and the batch starts dialing immediately in the background.
CSV upload (alternative)
You can also upload a CSV file via multipart/form-data. The CSV must have a phone column; all other columns become dynamic_vars.
Caller-ID override
By default each call uses the phone number bound to your agent. Pass phone_number_id to override the caller ID for the entire batch:
Schedule a batch
Set scheduled_at to an ISO 8601 timestamp (RFC 3339) to delay execution. The batch enters scheduled status and starts dialing at the specified time. You can schedule up to 30 days in advance.
Cancel a batch
Cancel a scheduled or pending batch before it starts dialing. Once a batch is running, it cannot be cancelled.
Check batch status
Poll the detail endpoint to track progress. The response includes the parent batch and all recipients with their individual status.
List all batches
Returns all batches in your workspace, newest first.
Batch lifecycle
Each recipient has its own status: pending → dialing → completed or failed.
Webhooks
If your agent has a webhook_url configured, a conversation.completed webhook fires for each call in the batch after it ends. The payload includes the transcript, evaluations, and any data-collection fields you configured. See Webhooks for the payload format and signature verification.
Limits
From the dashboard
You can launch and monitor batches in the console without the API.
Open Batch calls
Click Batch calls in the sidebar, then New batch. Give it a name and pick the agent that will place the calls. (Batch calling needs an outbound-capable number bound to the agent — see Add a number.)
Add recipients
Upload a CSV with at least a phone column in E.164 format. Extra columns become per-call dynamic variables the prompt can reference as {{first_name}}. Click Download sample for a template, or add a handful of numbers manually.