Import leads from a file

Load a CSV or Excel file of leads and read the per-row result.

Required permission: crm.manage

Before you begin

  • The Lead imports feature must be on (see Getting started).
  • Prepare a .csv or .xlsx file. The first row holds headers. Excel files are read from the first sheet.
  • Limits: 10 MB and 5,000 rows per file.
  • Recognised headers include title, organization, contact, email, phone, source, medium, campaign, external_id, country, city, value and notes.
  • A row needs a name and a way to reach the person (e-mail or phone).

Steps

  1. Open CRM > Leads > Import leads.
  2. If your file has rows without a source, type a Default source such as Expo 2026.
  3. Press Import a file and choose the file.
  4. Wait for the new line in the import log. It shows Imported, File, Source, Rows, Created, Duplicates and Rejected.
  5. Open the line to read each row's Result, Lead and Reason.
  6. Fix any rejected rows in your file and import only those.

What happens next

  • Created rows become leads in the first stage that does not need qualification, market B2B, with the source from the row or your default.
  • If at least one active assignment rule exists, each lead is placed on a team member by the rules. A lead no rule can place waits in CRM > Leads > Assignment queue. With no active rule, you own the leads. See Assignment, territories and cover.
  • A duplicate row repeats a source and external id that already exists. It is not created again and is shown as 'Expo EX-77 is already CRM-000010.' It also appears in Duplicate review.
  • A rejected row has no name and no way to reach the person: 'Needs a name and a way to reach them.'

Worked example

You import five rows: three valid, one repeating an existing external id, one with no name or contact. The log shows Rows 5, Created 3, Duplicates 1, Rejected 1. Importing the same file again creates nothing for rows with an external id, because each one is now a duplicate.

Good to know

  • Messages for a bad file: 'The file is empty.', 'Import at most 5000 rows at a time.', 'No known columns. Use headers such as title, organization, contact, email, phone, source, external_id.' and 'Import files may be at most 10 MB.'
  • Values are stored as text. Formulas in a spreadsheet are never run.
  • Always give an external_id if the source system has one. It is what makes a second import safe.
  • Past import logs stay readable even if you turn the feature off. New imports are refused while it is off.
  • Hand-made leads are not placed by assignment rules. Only imports are.