Import contacts from CSV

Import is not a “one-time admin chore.” It’s the moment your campaigns become real.

This guide covers Callaro’s contact import wizard end-to-end: how to prepare a CSV, map fields (including custom fields), and interpret import history and errors.

At a glance

  • The wizard has 4 steps: Upload → Map Columns → Review → Import.
  • You can map columns to standard fields or to custom fields (cf:<key>).
  • Import runs as an async job — success is confirmed on the import detail page.

Before you start (what to prepare)

  1. A clean CSV where each row is one contact.
  2. A valid phone number column.
  3. Any fields you want your agent to use at call time (company, timezone, lead source, etc.).
Pro tip: decide “what must be present” before you import

If you want personalized calls, you need consistent fields. A practical minimum for most outbound programs is: phone, first_name, company, and timezone.

Step 1 — Upload

Upload your CSV. The UI will parse headers and show a preview.

If your CSV uses advanced formatting (quoted cells with commas, multiline text), keep it simple for the first pass.

Step 2 — Map Columns

For each column, choose what it maps to:

  • standard contact fields (phone, first name, last name, email, company, tags, timezone)
  • custom fields (shown as cf:<key>)
  • skip (ignore the column)
Watch out: duplicate mapping warnings

The UI warns if multiple columns map to the same target field. Treat this as a blocker — otherwise you’ll import confusing data and spend weeks debugging campaigns that were “fine.”

Step 3 — Review

Review shows:

  • how many rows will be imported
  • how many rows are missing a phone number (these will be skipped)
  • whether any columns remain unmapped

Step 4 — Import

Import creates an async job. After submit, you’ll be taken to an import detail page where you can track progress and errors.

Sample CSV (what “good” looks like)

Use a CSV like:

  • phone, first_name, last_name, email, company, timezone, tags
  • plus any custom fields your team cares about (example: lead_source, plan_tier)
Custom fields change the template

If your tenant has custom fields defined, the import template includes them. This is intentional — it keeps your schema consistent.

Auto-create unmapped custom fields (when to use it)

The import wizard can optionally auto-create missing custom fields for unmapped columns.

Use it when:

  • you’re importing a stable field you’ll reuse (example: lead_source)
  • you have an owner for your custom field schema

Avoid it when:

  • the CSV is an experiment with one-off columns
  • the columns are not meant to live beyond the pilot

What to check after import

  1. Open Import history and ensure the job completed.
  2. Open a sample contact and confirm fields are populated.
  3. If you plan to use segments, build a segment now using the imported fields.
Next: segment and launch
Turn your import into a reusable segment and attach it to a campaign.
Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.