VeloConnect — Guide

Import and export contacts

CSV in, CSV (or JSON) out. The import flow gets your existing customer list into VeloConnect in a few clicks. The export flow gives you back a clean snapshot — for analytics, for backups, or to fulfil a customer’s data-portability request.


Import a CSV

Open Contacts → Import.

CSV upload step
Fig. 1 — Step 1 of the import wizard. Drop the CSV, or browse for it. UTF-8 is required; we’ll warn you if the file isn’t.

The wizard runs three steps.

1. Upload

Drop a CSV file. We accept files up to 50,000 rows. Larger imports should be split — see “Big imports” below.

Headers in the first row are recommended but not required. If your file is headerless, you’ll map columns by position in the next step.

2. Map fields

This is the step that does the work. Every column in your CSV is shown alongside a dropdown of VeloConnect fields. Pick the right match for each column.

Field-mapping step
Fig. 2 — Field mapping. Built-in fields (Name, Phone, Email) sit at the top of each dropdown; custom fields are listed below.

A few mapping tips:

  • Phone numbers — pick “Phone (primary)” for the first phone column. If your CSV has multiple phone columns, use “Phone (additional)” for the rest; we store them all.
  • Tags — if your CSV has a comma-separated tags column, map it to “Tags” and we’ll split on commas during import.
  • Custom fields you haven’t created yet — you can’t create fields during import. Add them in Settings → Contact fields first, then re-run the import.
  • Skip a column — pick “Don’t import” from the dropdown.

The wizard remembers your mapping. Next time you import a CSV with the same headers, the mapping is pre-filled.

3. Review and confirm

A summary tells you how many rows will be added (new) versus skipped (duplicates by phone or email). New contacts are created with Source: CSV import.

Click Run import. Imports of a few thousand rows finish in seconds. Larger ones run in the background; you’ll get an in-app notification (and a row in the audit log) when it’s done.


Big imports

Above 50,000 rows, split the file. CSVs of 10–20k rows process most reliably. If you have a hundred thousand rows to load, the API is faster and gives you per-row error feedback — see docs.veloconnect.me for the Contacts endpoint.


What happens to existing contacts on import

We match by phone first, then by email. A match is treated as an update, not a duplicate:

  • Existing fields get overwritten by what’s in the CSV (only for columns you mapped).
  • Tags in the CSV are added, not replaced — so you don’t lose previous tags.
  • Channel opt-in flags are not touched by imports. Set them deliberately, separately.

If you want a clean re-import without merging, delete the old contacts first. The audit log will record the deletion.


Export

Open Contacts, apply any filters you want, click Export. Two formats:

  • CSV — one row per contact, one column per field. Custom fields included. Multi-value fields (tags, multi-select) are comma-separated within the cell.
  • JSON — same data, structured. Useful when you’re piping into a script.

Both formats include the audit fields: created date, last-activity date, source, assigned agent. Both honor the filter you have applied — if you’ve filtered to “tag = Pro”, only those contacts come out.

The export is generated server-side and emailed to you when it’s ready. For lists of under ~5,000 contacts it’s near-instant. Above that, it can take a minute.


A note on opt-in status

Exports include channel opt-in flags. This matters: if you’re moving data to another system, you must preserve the opt-out state. Sending to a contact who opted out is a regulatory problem in most jurisdictions, and the responsibility doesn’t transfer when the data does.


Next