Skip to content

Importing data

Most organizations start with a spreadsheet. The Import button on any record list loads an Excel or CSV file into that type — mapping columns to fields, matching reference values to existing records, and updating existing records instead of duplicating them. Importing requires edit rights on the type.

  1. Open the type’s list and click Import.
  2. Choose an Excel (.xlsx) or CSV file. The header row is detected automatically, and a preview of the first rows appears.

Dates in the file are recognized and normalized automatically, whatever format the spreadsheet used.

Each file column is matched to a field of the type:

  • Columns are auto-matched by name wherever possible — “Email” finds your email field.
  • Override any match with the dropdown, or set a column to (skip) to ignore it.

For columns that map to a reference field (a link to another record) or a list of choices, the import shows every distinct value found in the file and asks what each should become:

  • Map to an existing record or option — a match is suggested by name; adjust it if needed.
  • Create new — a new record of the target type is created for that value, up front, so all imported rows can point at it.
  • Skip — leave that value empty on the imported rows.

This is how “Paris Marathon 2026” in a spreadsheet becomes a real link to your Event record.

Step 4 — update or skip existing records

Section titled “Step 4 — update or skip existing records”

To avoid duplicates, choose an optional key field — the field that identifies a record uniquely (an email, a member number, an external ID). For each row whose key matches an existing record, choose what happens:

  • Update — the existing record is overwritten with the row’s values.
  • Skip — the existing record is left untouched.

Rows with new keys are always created. Run the same file twice with a key field and you get updates, not duplicates — which also makes imports safe to re-run.

A final preview shows exactly what will be imported. Click Import and the rows are loaded in small batches with a progress bar — large files import reliably, and you can watch the counts grow.

Every imported row goes through the same engine as a manually created record: validation, required fields, record IDs, workflows and notification rules all apply. An import can kick off your automations just like hand-entered data.

When the import finishes you get a summary — created / updated / skipped / failed — and a per-row list of failures with the row number and the reason (a missing required field, an invalid email…). Fix those rows in the file and re-import just them; with a key field set, the already-imported rows are simply updated or skipped.

  • Clean the header row first — good headers mean better auto-matching.
  • Import referenced types first (Events before Registrations), or let Create new in value mapping do it for you.
  • Prefer a key field whenever the file might be loaded again.
  • For recurring imports from another system, consider a scheduled integration job instead — same engine, no manual steps.