Importing contacts
Bulk-load or update your audience by uploading a CSV and mapping its columns to contact fields.
CSV import is the quickest way to load an existing audience into EngageApp or to update contacts in bulk. You will find it under Contacts → Import.
Running an import
- Upload a CSV — start the flow at Contacts → Import and choose your file.
- Map columns — match each column in your file to a contact field:
external_id,email,phone,first_name,last_name, or a custom attribute. Common header names auto-map, so you usually only need to confirm. - Run the import — EngageApp processes the rows and reports the result.
Upsert behavior
Rows are upserted by external_id (or by email when no external ID is present). Re-importing a file therefore updates existing contacts rather than creating duplicates, which makes it safe to re-run an import after fixing data.
Using the template
You can download a blank CSV template containing every mappable column. Fill it in to guarantee your headers auto-map cleanly, then upload it like any other file.
When to use the API instead
CSV import is ideal for one-off or occasional loads. For large audiences or automated, ongoing syncs, use the public API instead — call POST /api/v1/public/contacts to batch upsert contacts programmatically.
Next steps
- Review the fields a contact can hold in Contacts.
- Group imported contacts with Segments.
- Automate ongoing syncs via the public API reference.
Related
Contacts
How EngageApp models your end-users as contacts, the fields they carry, and the ways to add them.
Segments
Group contacts by attribute and behavior rules to target campaigns and manual enrollments.
Public API reference
The public HTTP API for server-side and SDK integrations — authentication headers and endpoints.