Skip to main content

Example Files

These are working examples of a contact file in each supported format. All three describe the same three recipients with the same fields, so you can compare the structures directly and pick whichever format your source system exports. Use one as a starting point and replace the rows with your own data.

For the rules these files must satisfy — accepted formats, limits, and how validation failures surface — see Files and Formats.

What the Example Contains

The example file has six fields. None of the names are reserved — what each field does is decided when you map it on the Add Contacts step, not by what it is called.

FieldMapped asNotes
phoneNumberDestination for an SMS campaignMust be in E.164 format
emailDestination for an Email campaignA well-formed email address
nameCustom VariableAvailable in the template as {{name}}
amountOwedCustom VariableAvailable in the template as {{amountOwed}}
dateOwedCustom VariableAvailable in the template as {{dateOwed}}
priorityPriorityHigh or Normal — see Message Priorities

The same file therefore works for either channel: map phoneNumber as the Destination for SMS, or email for Email, and set the field you are not using to Do not import. amountOwed and dateOwed show how arbitrary extra columns become personalisation variables — there is no fixed list to choose from.

The field names are yours to choose

phoneNumber, phone_number, mobile, and msisdn are all equally valid. Only the mapping matters, not the naming.

CSV

One row per recipient, with a header row naming the columns:

name,email,amountOwed,dateOwed,phoneNumber,priority
John Smith,john.smith@example.com,250,1/7/2025,+61400111222,High
Jane Doe,jane.doe@example.com,500,15/7/2025,+61400333444,Normal
Alex Brown,alex.brown@example.com,100,30/7/2025,+61400555666,Normal

JSON

A flat array of objects, one object per recipient:

[
{
"name": "John Smith",
"email": "john.smith@example.com",
"amountOwed": 250,
"dateOwed": "1/7/2025",
"phoneNumber": "+61400111222",
"priority": "High"
},
{
"name": "Jane Doe",
"email": "jane.doe@example.com",
"amountOwed": 500,
"dateOwed": "15/7/2025",
"phoneNumber": "+61400333444",
"priority": "Normal"
},
{
"name": "Alex Brown",
"email": "alex.brown@example.com",
"amountOwed": 100,
"dateOwed": "30/7/2025",
"phoneNumber": "+61400555666",
"priority": "Normal"
}
]

There is no wrapper object and no nesting: the array is the whole document, and every object holds a flat set of fields.

XML

A <contacts> root element wrapping one <contact> element per recipient, with each field as a child element:

<?xml version='1.0' encoding='utf-8'?>
<contacts>
<contact>
<name>John Smith</name>
<email>john.smith@example.com</email>
<amountOwed>250</amountOwed>
<dateOwed>1/7/2025</dateOwed>
<phoneNumber>+61400111222</phoneNumber>
<priority>High</priority>
</contact>
<contact>
<name>Jane Doe</name>
<email>jane.doe@example.com</email>
<amountOwed>500</amountOwed>
<dateOwed>15/7/2025</dateOwed>
<phoneNumber>+61400333444</phoneNumber>
<priority>Normal</priority>
</contact>
<contact>
<name>Alex Brown</name>
<email>alex.brown@example.com</email>
<amountOwed>100</amountOwed>
<dateOwed>30/7/2025</dateOwed>
<phoneNumber>+61400555666</phoneNumber>
<priority>Normal</priority>
</contact>
</contacts>

The whitespace is only for readability — the element names and structure are what matter, and the file works equally well on a single line.

Using an Example

  1. Save the example in the format you want to use, with a .csv, .json, or .xml extension.
  2. Replace the sample recipients with your own, keeping the field names consistent across every row.
  3. Upload it on the Add Contacts step of the campaign wizard.
  4. Map the Destination field for your channel, any fields you want to personalise with, and optionally the priority field.

Every field mapped as a Custom Variable must have a value on every row, or the row is skipped. priority is the exception: a row whose priority value is missing or unrecognised is not skipped, and its message is read as normal priority instead. See What makes a contact invalid.

Use real consent, not sample data

The addresses and numbers above are examples and will not deliver. Before uploading real recipients, confirm you have consent for every contact in the file — you are asked to accept this explicitly before the upload begins.