Importing & Exporting
CSV import with field mapping, duplicate handling, and background CSV export.
Importing & Exporting
Importing Contacts from CSV
The import process has four steps:
Step 1: Upload
Click the Import button on the Contacts page. Select a CSV or TXT file (maximum 10 MB). The file must have a header row.
Step 2: Map Fields
The system reads your CSV headers and tries to auto-match them to contact fields. Review each mapping and adjust as needed. Available target fields:
- Standard fields — first_name, last_name, email, phone
- Custom fields — any custom field configured for contacts (shown with a "Custom" badge)
- Skip — choose "Skip this column" to ignore a CSV column
The first_name field must be mapped to at least one column. You can preview the first few rows to verify your mapping looks correct.
Step 3: Duplicate Handling
Choose what happens when a row’s email matches an existing contact:
- Skip — ignore the row entirely (keep existing contact unchanged)
- Update — overwrite the existing contact’s fields with values from the CSV
- Create — create a new contact regardless (only works if email is not mapped or the row has no email)
Step 4: Processing
CSV imports are always processed in the background on the server. After you start the import, the dialog polls for status until the job finishes. You then see the same summary of created, updated, skipped, and errors as before.
Import Results
After completion, you see a summary:
- Created — number of new contacts added
- Updated — number of existing contacts updated
- Skipped — number of duplicate rows skipped
- Errors — rows that failed with specific error messages and row numbers
Exporting Contacts
Click the Export button to download a CSV of your contacts. The export respects your current search and filter state, so you can export a subset of contacts by applying filters first.
Available export columns:
- Standard fields: first_name, last_name, email, phone
- Custom fields: any custom field (prefixed with
cf_in the header) - Tags (comma-separated list)
- Created date
The first_name column is always included. Large exports are generated in the background: the app prepares the CSV on the server, then downloads it when ready (the filename follows contacts-export-YYYY-MM-DD.csv).
Was this article helpful?