Required column
Every campaign CSV must contain:+, spaces, or hyphens, but after cleanup they must be numeric and at least 8 digits.
Variable columns
All other non-empty columns become call variables. Example:Upload behavior
| Behavior | Detail |
|---|---|
| Invalid phone rows | Skipped. |
| Duplicate phone numbers in same CSV | Skipped. |
| Empty variable cells | Ignored. |
| Valid rows | Inserted as campaign_calls with status pending. |
| Existing draft contacts | Replaced only after new CSV validates and has valid rows. |
| Started/restarted campaign contacts | Locked. Use Clone for a different contact list. |
Limits
These limits are enforced by the API service when validating an uploaded CSV:| Limit | Value |
|---|---|
| Max CSV size | 50 MB |
| Max rows | 500,000 |
| Minimum phone digits | 8 |
CSV quality checklist
- Header names exactly match prompt/policy field names.
phone_numberis present and not blank.- Mobile numbers include country code when required by carrier.
- Amount/date fields are already formatted the way the bot should speak them, unless policy transforms them.
- No Excel-generated hidden characters in headers.
- Sample 5-10 rows manually before upload.