Campaign contact data
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.
Use these fields in the assistant or squad configuration with double braces:
CSV behavior and limits
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:
Reference the value as:
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.