Importing leads

CSV format, how we de-duplicate, and what to do when an import fails.

You can bring leads in three ways: a CSV import, a webhook from your website, or one at a time through the New Lead form.

CSV format

Required columns:

  • first_name
  • last_name
  • phone or email (at least one)

Optional but recommended:

  • loan_type (VA, FHA, Conventional, USDA)
  • current_loan_amount
  • current_interest_rate
  • credit_score
  • source
  • notes

The first row of the CSV must be the header. Column order does not matter; we match on header names.

Running an import

  1. Go to Leads -> Import.
  2. Drop the CSV.
  3. Pick a default loan type (used when a row has no loan_type column).
  4. Review the first 10 rows. We show you what we parsed and what we will skip.
  5. Click Import.

We process the import in a background job. You will see a toast when it finishes; the job's full log is visible in the Imports tab if any rows failed.

How de-duplication works

We treat a lead as a duplicate when:

  • The phone number matches an existing lead's phone_normalized (digits only), or
  • The email matches an existing lead's email, case-insensitive.

Duplicates are skipped, not overwritten. The skipped rows show in the import log so you can decide whether to merge by hand.

Common failures

  • "Phone is invalid" on every row: usually the column header is wrong. The CSV must use phone (lowercase, underscored), not Phone Number.
  • "Loan type not recognized": values are case-sensitive in the import; use exactly VA, FHA, Conventional, or USDA.
  • "More than 5000 rows": split the file. We cap a single import at 5000 rows so a bad file cannot stall your queue.
Importing leads | LendAxiom Help | LendAxiom