Batch Calls
Create Batch Call
Upload contacts and start a batch of outbound calls.
POST
Create Batch Call
Billable - retry unsafe
A batch call lets you upload a CSV or XLSX file of contacts and trigger a single outbound call to each one. Every row in the file becomes one call. The batch can start processing immediately, enter
waiting until the organization queue is clear, or move to scheduled when you provide a future start time.
When to use this
- One-shot outreach: call a fixed list of contacts you already have in a file, such as appointment reminders or a payment-due campaign.
- Scheduled campaigns: upload now and let the batch start at a scheduled time.
- Personalized calls at scale: every extra column in your file becomes a dynamic variable in the agent’s prompt, so each contact hears their own details.
File format
Your file must include aphone_number column. All other column headers become dynamic variables that are injected into the agent’s prompt for each individual call:
In your agent prompt, reference these as
{{customer_name}}, {{loan_amount}}, etc.
Batch vs. Campaign
Use a batch call for a one-shot outreach where you upload the full list upfront and do not need to add leads later. If you need to stop and restart execution, use Update Batch Call Status. If you need incremental lead enrollment, use workflows.Queue Behavior
DialNexa runs one batch campaign per organization at a time. If another batch is alreadyrunning or waiting, a newly accepted batch can wait behind it instead of placing calls immediately. Future-start batches can remain scheduled until their start window, then move into waiting or running based on queue availability. See the batch lifecycle state machine before automating status changes.
Treat create requests as billable and retry unsafe. If the client times out, call List Batch Calls before repeating the upload so you do not create a duplicate batch.
When a create request succeeds but DialNexa detects another running, waiting, or nearby scheduled batch, the response can include a non-blocking warning. The batch was still created. Use the warning to tell operators that the new batch may be delayed behind existing work.
File requirements
- Formats: CSV, XLSX, XLS
- Max size: 10 MB
- Required column:
phone_number - Batch title:
35characters or fewer - Phone numbers should be valid international numbers. Include the country code for non-local destinations.
title is longer than 35 characters, the API returns 400 Bad Request with a clear validation message instead of creating the batch.
Destination validation
Before launch, each row is checked against the outbound route selected for the batch. For non-SIP routes, the destination country and prefix must be enabled in Workspace Settings > Telephony Config. If one or more rows fail validation, the API returns400 Bad Request with grouped error details, including the affected row numbers. Common reasons include invalid phone number format, unsupported destination country, unsupported prefix, or no enabled countries configured.
The dashboard preview path can show invalid rows before launch so operators can edit or remove them. Direct API create requests still reject the whole file when row validation fails, so repair the file before retrying.Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
multipart/form-data
CSV or Excel file containing leads (max 10 MB)
Batch title shown in the dashboard. Must be 35 characters or fewer.
Maximum string length:
35Example:
"Q3 Follow-up Batch"
Example:
"agent_abc123"
Example:
1
ISO 8601 datetime - leave empty to start immediately
Example:
"2024-01-15T09:00:00Z"
Example:
"2024-01-15T18:00:00Z"
Example:
"09:00"
Example:
"18:00"
Response
Batch call created and calls enqueued.
Create Batch Call