LeadSail
Leads

CSV Import

Import leads from CSV files.

CSV Import

Import leads in bulk from a CSV file using a 3-step wizard. Navigate to Leads and click the Import button.

Limits

  • Maximum rows: 10,000 per file
  • Maximum file size: 50 MB
  • File format: .csv files only

Step 1: Upload

Configure the import settings and select your CSV file.

Import Purpose

PurposeDescription
Add & UpdateCreate new leads and update existing matches (default)
Add New OnlyOnly create new leads, skip any that already exist
Update ExistingOnly update leads that already exist, skip new ones
Add AllCreate all rows as new leads without deduplication

Deduplication Settings

  • Identifier — The field used to match existing leads: email, phone, or leadId
  • Lookup Scope — Where to search for matches:
    • Within Campaign — Only match leads in the same campaign
    • Across All Campaigns — Match leads across your entire organization

Fallback Campaign

If a row's campaign ID is missing or invalid, the lead is assigned to the Lead Pool by default. You can change this to any active campaign.

After configuring settings, drag and drop your CSV file or click to browse. The file is uploaded directly to secure storage via a presigned URL.

Step 2: Mapping

Map CSV columns to LeadSail fields. The wizard auto-suggests mappings based on common header names (e.g., "First Name" maps to firstName, "Email Address" maps to email).

Required Fields

These fields must be mapped before proceeding:

  • campaign.campaignId — The campaign to assign the lead to
  • firstName
  • lastName
  • email
  • phone

Column Mapping

For each CSV column, select the corresponding LeadSail field from the dropdown. Fields are organized by the field library and include:

  • Contact fields (name, email, phone, address)
  • Questionnaire fields (questionnaire.<key>)
  • Attribution fields
  • Custom fields

Do Not Overwrite

When updating existing leads, you can protect specific fields from being overwritten. Check Do Not Overwrite for any field that should keep its current value if the lead already exists.

Batch Tag

Each import is tagged with an auto-generated batch identifier (format: imported_YYYYMMDD_HHMMSS). This lets you filter and identify imported leads later.

Step 3: Review

Review the import configuration before submitting:

  • Total rows to be processed
  • Estimates — Predicted counts for new, updated, and skipped leads
  • Warnings — Any validation issues detected (missing required fields, invalid data)

Click Start Import to queue the import job. The import runs asynchronously in the background — you can navigate away and check progress later.

After Import

Imported leads are created with:

  • Status set to new
  • The wasImported flag set to true
  • The importedAt timestamp recorded
  • The batch tag stored for filtering

Imported leads are not automatically submitted to the qualification engine. To process them, you can manually deliver individual leads or use bulk actions.

On this page