Importing leads
The fastest way to seed Outpilot is a CSV — most CRMs, scrapers, and Sales Navigator can export to it.
CSV format
The only required column is linkedinUrl (or any header containing
“linkedin”). Outpilot fuzzy-matches headers, so all of these work:
linkedin,linkedinUrl,LinkedIn URL,linkedin_url,Profile URL
Standard supported headers (case- and underscore/space-insensitive):
| Lead field | Headers we recognize |
|---|---|
| First name | firstName, first_name, First Name, first |
| Last name | lastName, last_name, Last Name, last |
email, Email, email_address | |
| Company | company, Company, company_name |
| Title | title, Title, job_title, position |
| Industry | industry, Industry |
| Location | location, City, Region |
| Headline | headline, Headline |
Anything else becomes a custom field accessible as
{{customField.<header>}} in messages.
Uploading a CSV
Outpilot → Leads → New list → Upload CSV:
- Drag the file in (or click to pick).
- Outpilot previews the first 5 rows and the inferred mapping.
- Adjust any column you don’t like (drop, rename, change to custom).
- Click Import.
Imports >5,000 rows process in the background — the list page shows a progress bar. You can leave the page; you’ll get an in-app notification when import finishes.
Per-lead domain auto-derivation
If your CSV has emails but no company domains, Outpilot derives the company domain from the email’s host. Used by the Verify Email step to validate at the domain level.
Manual add
On a list page → Add lead opens a small form. Useful for the one- off prospect you saw on Twitter and want to drop into a campaign.
What gets deduped
On import, Outpilot dedupes against:
- The list you’re importing into — duplicates within the file are collapsed.
- Across all lists you own — if a lead with that
linkedinUrlalready exists, the existing lead is reused (and its existing campaign state preserved).
You’ll see an import summary: Added: N. Updated: M. Skipped: K.
Updated means the lead existed and we filled in fields that were
blank before.
Common CSV gotchas
| Symptom | Cause | Fix |
|---|---|---|
| ”0 leads imported” | Header missing linkedinUrl-like column | Rename your URL column to linkedinUrl |
| Some rows skipped with no error | Same linkedinUrl appears multiple times in the file | Expected — dedupe removes them |
| Custom field shows as blank | Header had emoji or non-ASCII characters | Rename header to ASCII letters/digits/underscore |
| Email column ignored | Header was something like Email Address (work) | Rename to email |
| Profile URLs marked invalid | Trailing / or query string | Outpilot normalizes; only fully malformed URLs fail |
Updating leads
To bulk-update existing leads (e.g. add fresh emails from a vendor):
- Export the list as CSV.
- Edit the file — add the new emails or other fields.
- Re-upload to the same list.
Outpilot matches on linkedinUrl and updates blank fields. It does
not overwrite a non-blank field unless you tick Overwrite
existing values in the upload dialog.