Batch Call CSV File Guide
This guide explains how to prepare your CSV file for batch calling. Please read this carefully before uploading your file.
1. Required Column
Your CSV file must contain the following column:
- phone_number — the recipient’s phone number
It must be the first column in the CSV file.
However, the column name must be exactly phone_number. Without this column, the system will not be able to place calls.
If the selected agent defines variables, include each variable name as a column heading after phone_number. Match the spelling and case shown in the agent variable badges. Additional blank columns are valid and ignored; you do not need to delete them.
2. Phone Number Format
- Include country code
- Do not use the + symbol
- Example: 91XXXXXXXXXX
- Each row must contain only one phone number
3. Supported File Type
- Excel (.xlsx, .xls) files are not supported
- Word (.doc, .docx) files are not supported
- Always save the file as CSV before uploading
4. How to Save as CSV
- Open your file in Excel or Google Sheets
- Click File → Save As
- Select CSV (Comma delimited)
- Save and upload the file
5. Using Override Variables & Dynamic Columns
Override variables allow you to customize how the agent behaves for each individual recipient in a batch call. By defining specific columns inside your CSV file, you can control the agent’s language, voice, system behavior, and opening message on a per-contact basis — without creating separate agents.
Any column other than phone_number is treated as a dynamic variable. These values can be referenced inside your agent’s prompt or used as overrides if they match supported system fields.
Supported Override Variables
- language – Overrides the agent’s speaking language for that recipient
- first_message – Customizes the very first message spoken to the user
- system_prompt – Overrides the system-level behavior or personality
- voice_id – Forces a specific voice for that call
These column names must match exactly. Any spelling or casing difference will cause the override to be ignored.
Example CSV Format
How Dynamic Columns Work
Any column other than phone_number is automatically treated as a dynamic variable. These values can be injected into prompts, greetings, or logic flows during the call.
In the above example:
- phone_number is mandatory and used to place the call
- name and language act as dynamic variables
- If a dynamic column matches a supported override (like
language), it will override the default value
Important Notes
- The phone_number column is mandatory for all batch calls
- Only override fields that are enabled in the agent’s security settings will be applied
- All column names must match exactly — spelling and casing both matter
- You may include additional columns (e.g.
name,user_id,city) for personalization - Any column not recognized as an override will still be available as a dynamic variable
Using override variables and dynamic columns together allows you to run highly personalized, large-scale calling campaigns while keeping full control over agent behavior.
6. Column Name Rules
- Each non-empty column name must be unique
- Column names are case-sensitive
- Duplicate named columns are not allowed; empty column headings are ignored
phone_number,name,city
✅ Valid:
phone_number,name,city,CITY,City
❌ Invalid:
mobile_number,name,city
❌ Invalid:
phone_number,name,name,city
Summary
- CSV format only
- The first column must be phone_number
- Include every agent-defined variable as a column heading after it
- Extra blank columns are ignored
- Country code required (without +)
- Other columns become dynamic variables
- Each row = one call