Campaign contact data

Add contacts and personalize calls with CSV variables.

Use a CSV to upload your contacts with their phone number, name, and any dynamic variables you want to use in the campaign. You can also add contacts manually.

Format contact CSV files

A campaign CSV can contain up to 10,000 contact rows. The header must include a lowercase number column. A lowercase name column is optional. Every other populated column becomes a dynamic variable for that contact.

1number,name,account_tier,renewal_date,account_owner
2+14155550100,Ada,premium,September 1,Jordan
3+14155550101,Sam,standard,September 8,Casey

Use these fields in the assistant or squad configuration with double braces:

Tell {{name}} that their {{account_tier}} plan renews on {{renewal_date}}.
If they ask for help, say that their account owner is {{account_owner}}.

CSV behavior and limits

ItemDetails
Required columnnumber, in lowercase
Optional contact columnname, in lowercase
Additional columnsPassed as dynamic variables using the header text as the variable name
Empty cellsOmitted from the variables for that contact
Contact limit10,000 rows per campaign
CSV file sizeUp to 5 MB in the Dashboard
Phone number length3–40 characters after upload validation and normalization
Contact name lengthUp to 40 characters

The Dashboard normalizes common phone-number formatting by removing parentheses, spaces, dashes, and single quotation marks. Use E.164 numbers, such as +14155550100, to keep the source data unambiguous.

Column headers are not renamed or normalized. Variable references are case-sensitive and must match the CSV header exactly. Prefer lowercase snake_case headers such as renewal_date.

Reference headers that contain spaces

Use Liquid bracket notation when a column header contains a space or other characters that cannot be used in a simple variable name. For this CSV:

1number,name,appointment date
2+14155550100,Ada,August 21

Reference the value as:

Remind {{name}} about their appointment on {{ ["appointment date"] }}.

Do not use {{appointment date}}. Liquid interprets that expression as the variable appointment, not the appointment date column. When you control the CSV format, use a header such as appointment_date so you can reference it as {{appointment_date}}.

The contact preview intentionally displays only Name and Phone number. Additional columns are still passed to the assistant or squad as variables.

Variable-value size

The API validates the serialized variable values for a contact as one object. Keep the combined variable data below 100,000 characters per contact. The Dashboard does not otherwise impose a separate character limit on each additional CSV cell.

Add contacts manually

On the Contacts step, select Manual add instead of CSV upload to enter contacts without preparing a file. Manual contacts support a phone number and name. Use a CSV when you need additional per-contact variables or have a larger list.

Next steps