Create, schedule, and monitor Retell batch calls in bulk to run outbound campaigns, send updates, or contact large recipient lists from a single workflow.
Batch calls let you run many outbound calls as a single group. You can create, schedule, and monitor them in bulk, which is useful for campaigns, updates, or any time you need to contact many recipients.
Reach for batch calls when you need to place the same kind of outbound call to a list of recipients at once — appointment reminders, payment follow-ups, lead qualification, or survey outreach — with per-recipient details supplied through CSV columns. For a single call, or calls triggered one at a time from your own backend, use the Create Phone Call API instead.
Go to the Batch Call tab in the Retell AI workspace and click the “Create Batch Call” button in the top-right corner.
Create a batch call
2
Enter call name and phone number
Provide a unique name for the batch call to differentiate it from others
Select the “From Number” from the dropdown menu
Ensure the number is bound to agents to enable batch calls
3
Upload CSV
Prepare your recipient list in CSV format with a header row including a “phone number” column
Use the provided CSV template by clicking “Download the template,” or upload your custom file
Edit batch call
For dynamic variables, add additional columns in the CSV with custom data for each recipient (e.g., a column header first_name can be referenced as {{first_name}})
If the number to call is not in E.164 format, you can choose to ignore E.164 validation by adding a column to the CSV named ignore e164 validation with value true. This only applies when you are using custom telephony and does not apply when you are using Retell Telephony.
The CSV also supports the following optional columns:
override agent id: Override the agent used for this particular call.
override agent version: Override the agent version for this particular call.
metadata: A JSON string to store arbitrary data with the call (e.g., {"customer_id":"cust_123"}).
custom_sip_headers: A JSON string of custom SIP headers, keys must start with X- (e.g., {"X-Custom-Header":"value"}).
Any other columns are treated as dynamic variables injected into your Response Engine prompt and tool descriptions.
4
Configure the time window
Open the configuration modal to define the batch call time windows
Batch Call Time Window Configuration
5
Create now or schedule
Choose between “Send Now” to start the calls immediately or “Schedule” for a future time
Click “Save as Draft” to revisit later or “Send” to initiate or schedule the calls
The Create Batch Call response returns a single batch_call_id — it does not return the individual call_id for each task in the batch. To get the individual calls (for example, to fetch transcripts, recordings, or post-call analysis for each one), query the List Calls API and filter by batch_call_id:
Each item in the response is a full call object with its own call_id, transcript, and analysis fields. You can then pass any call_id to the Get Call API for the complete record.
If you need to correlate each call in the batch back to your own records (for example, a customer ID from your CRM), pass a metadata JSON column in the CSV upload or a metadata object on each task in the API request. It is stored verbatim on the call and returned by both List Calls and Get Call — no LLM inference required.
Only while it’s a draft. Draft batches are editable and don’t trigger any calls until submitted. Once a batch is planned (scheduled for a future time), it can’t be edited.
How do I send different variables to each recipient?
Add a column per variable in the CSV. Any column that isn’t a reserved field becomes a dynamic variable injected into your Response Engine prompt and tool descriptions — for example, a first_name column is referenced as {{first_name}}.
How do I get the individual call IDs in a batch?
The Create Batch Call response returns only a batch_call_id. To fetch per-call transcripts, recordings, or analysis, query List Calls filtered by batch_call_id. See Retrieve individual call IDs from a batch above.