Skip to content
OmniLeadDocs
Sign in

Import a CSV

Bring your existing contacts into OmniLead, map columns, preview duplicates before anything is written, and set a lawful basis.

3 min readLast updated

Import contacts you already have, from another CRM, a spreadsheet or an event list, so all your outreach runs from one place. OmniLead maps your columns, shows you what will be created, updated or skipped, and only then imports.

CSV import with column mapping on the left and a dedupe preview on the right

Before you start

  • Save your file as CSV (UTF-8). From Excel, use File → Save As → CSV UTF-8. From Google Sheets, use File → Download → Comma-separated values.
  • Put column names in the first row.
  • Each row is one person. Company-only rows are fine too.
  • Include an email or a name plus company or domain for each row, so duplicates can be detected.
contacts.csv
first_name,last_name,email,company,domain,title,country,phone,tags
Ana,Ruiz,ana@example.com,Example Labs,example.com,Head of Operations,ES,+34 912 345 678,Conference 2026
Tom,Becker,,Northwind GmbH,northwind.de,CTO,DE,030 901820,"Warm intro;Q4 target"

Import your file

  1. Open Import

    Click Import CSV from the command palette or the Lists page, or go to /app/import.

  2. Upload the file

    Drag the file onto the page or click Choose file.

  3. Map columns

    OmniLead matches columns by name. Check each mapping and change any that are wrong. Choose Don't import for columns you don't need, or map them to a custom field. You need Email, or a name and Company.

  4. Set import options

    Choose what happens When a lead already exists, the Lawful basis, a Default country for phone numbers without a country code, the tags to add with Tag every lead, and optionally Add to pipeline (with a Stage) and Add to list.

  5. Review the preview

    The preview counts New leads, leads that Already exist, Duplicate in file, Suppressed and Invalid rows, with examples of each.

  6. Start the import

    Click Import (the button shows how many leads, such as Import 240 leads). The import runs in the background with a progress bar, and Import finished shows what was created, updated and skipped.

Duplicate detection

OmniLead checks each row against the leads already in your workspace, and against other rows in the same file.

MatchHow
EmailSame address, ignoring case
Name and domainSame name at the same company domain, when there's no email

Duplicate rows in the same file are imported once: the first row is kept. For rows that match an existing lead, When a lead already exists decides what happens, for the whole file:

  • Skip: leave the existing lead untouched
  • Update empty fields: fill fields that are empty on the existing lead
  • Overwrite: replace the existing lead's values with the mapped columns

Rows with problems

The preview flags rows it can't import cleanly, and they're skipped:

  • Invalid: no email and no name with a company or domain, or an email with invalid syntax
  • Suppressed: the email is on your suppression list or opted out globally

After the import, click Download error report for the rows that weren't imported and why. Fix them and import that file. Past reports are in Import history as Error report.

Lawful basis and provenance

Imported fields show CSV import as their source in the lead's provenance. Choose the lawful basis that applies to the whole file:

  • Legitimate interest: typical for B2B contacts you have a relevant reason to reach
  • Consent: people who opted in, for example on a sign-up form. Required for Canadian recipients.
  • Contract: existing customers

After the import

  • Imports don't cost credits. Contacts you import are already visible, so there's nothing to reveal.
  • On Free, imports count toward the 500-lead limit. The preview warns you if the file would go over it.
  • To undo an import, open Import history and choose Delete imported leads for that import. Leads you've edited since are kept.

What's next