Skip to main content

What is Batch Calling?

Batch calling lets you automate outbound calls to hundreds or thousands of contacts by uploading a CSV file with phone numbers and custom data. Ideal for lead qualification, customer outreach, appointment reminders, and other high-volume calling campaigns.

CSV File Format

Your CSV file must follow these rules:
1

Use E.164 Phone Format

All phone numbers must include the country prefix in E.164 format (e.g., +11231237890).
2

Use contact_number Header

The phone number column must use contact_number as the header.
3

Add Custom Variables

Include any additional variables (name, address, etc.) as separate columns. These are passed to the agent as context.
example_batch_file.csv
In Excel, typing + at the beginning of a cell is interpreted as a formula. Add an apostrophe (') before the plus sign to retain it.
Download an example CSV file
Only the contact_number column is validated for correctness. Other columns (custom variables like first_name, address, etc.) are passed through as-is without any validation.

Using the Dashboard

You can upload batches, schedule them, and configure auto-retry directly from the Bolna dashboard.
1

Open the Batches Tab

Navigate to your agent → Batches tab. You’ll see a list of all your past batches along with their status, execution details, and actions like Run Now, Stop, Download, and Delete.Click Upload Batch to get started.
Agent Batches list

Agent Batches overview showing batch status, execution details, and available actions

2

Upload Your CSV

Drag and drop your CSV file or click to browse. After uploading, you’ll see how many rows were parsed and how many contacts have valid phone numbers.
Upload Batch dialog

Upload Batch dialog with CSV upload, phone number selection, scheduling, and webhook options

In this dialog you can:
  • Select a phone number to make calls from (Bolna managed or your own)
  • Choose to Run Now or Schedule the batch for a future date and time
  • Enable auto-retry for failed calls
  • Set a webhook URL to receive real-time call status updates
3

Schedule or Run Now

Select Run Now to start calls immediately, or click Schedule to pick a future date and time. Use the quick-select buttons to schedule 10 minutes, 30 minutes, or 1 hour from now.
Schedule batch options

Scheduling options with Run Now, Schedule, and quick-select time buttons

4

Configure Auto-Retry (Optional)

Enable Auto-retry failed calls to automatically re-attempt calls that didn’t connect. You can configure:
  • Retry on: Select which call outcomes trigger a retry (No Answer, Busy, Failed, Error, Voicemail)
  • Maximum retry attempts: Set up to 3 retry attempts per contact
  • Retry intervals: Define increasing delays between attempts (e.g., 30 min, 60 min, 120 min)
Auto-retry configuration

Auto-retry settings with retry conditions, max attempts, and configurable intervals

Click Upload this batch to confirm. Your batch will appear in the batches list with its scheduled time and status.

Webhook Notifications

You can provide a Webhook URL in the upload dialog to receive real-time updates as each call in the batch completes. Bolna sends a POST request to your webhook endpoint with the call’s execution data, including the call status, transcript, extracted data, and cost breakdown. This is useful for syncing call results to your CRM, triggering follow-up workflows, or logging outcomes in real time without polling the API.
If you don’t set a webhook, you can still retrieve all results later using the List Batch Executions API.

Using the Batch API

1

Create a Batch

Upload your CSV file using the Create Batch API:
2

Schedule the Batch

Use the batch_id to schedule via the Schedule Batch API. The date and time must be in ISO 8601 format with timezone:
3

Check Batch Status

Monitor progress using the Get Batch API:
4

Retrieve Executions

After the batch completes, fetch all execution results using the List Batch Executions API:

Complete Example

batch_script.py

Next Steps

Concurrency Limits

Understand outbound calling concurrency limits

Buy Phone Numbers

Set up dedicated phone numbers for campaigns

Context Variables

Personalize each call with dynamic data

Auto-Retry

Automatically retry failed calls