Import Leads from a CSV
Bring old leads into Lead Distro AI from one CSV file, even when they came from many sources and went to many destinations. The columns, the limits, and a ready prompt for your AI assistant.
One file can hold leads from many sources and many destinations. Add a source_id column and a destination_id column, and Lead Distro AI matches every row for you.
Use the CSV import to bring in leads you already have, like history from another platform or leads you sold before you joined. Imported leads show up in your Leads table and reports. They are not sent anywhere, they don't count against your plan's lead limit, and they don't use up a destination's lifetime cap or prepaid order.
Step by step
- Go to Leads, click the ⋯ button at the top right, and choose Import leads.
- Upload your CSV. One file can have up to 10,000 rows (10MB).
- Pick the campaign. Pick a default source or destination only if every row shares it. A default also fills any blank cell.
- Map your columns. Map your source column to Source (ID or name) and your buyer column to Destination (ID or name). Columns named like the template map themselves.
- Check the matches. Every value in those two columns is listed with what it matched. For anything marked No match, pick the right one or choose Skip these rows.
- Review and import. A file over 1,000 rows uploads in a few seconds and then imports on our side: you can close the tab, and we email you when it is done. Its progress and results sit at the top of the Leads page.
Columns
| Column | What goes in it | Required |
|---|---|---|
| first_name, last_name (or full_name) | The person's name | Yes, unless your campaign makes them optional |
| phone | Phone number, in any format | Yes, unless your campaign makes it optional |
| Email address | Yes, unless your campaign makes it optional | |
| lead_date | When the lead came in (YYYY-MM-DD). The lead keeps this date in your reports. | No. Blank means today |
| status | ACCEPTED, SENT, REJECTED, or RETURNED | No. Blank means ACCEPTED |
| cost | What you paid for the lead, in the campaign's currency | No |
| revenue | What the destination paid you for it | No |
| source_id | The source's ID, or its exact name | Yes, unless you pick a default source |
| destination_id | The destination's ID, or its exact name | No |
| Any campaign field | Use the field's name as the header and it maps itself | Only if the campaign requires it |
Source and destination: ID or name?
Both work. An ID never changes, so it is the safer choice. A name works when it matches exactly; capital letters and extra spaces don't matter. If two sources share a name, the import asks you which one you meant.
- To get every ID at once, click Download my source & destination IDs on the upload screen. You get a file listing each source and destination with its ID.
- To get one ID, open the source or destination. The ID sits under its name, with a copy button.
Limits
- Up to 10,000 rows and 10MB per file. Split a bigger file in two.
- With Distribute or Run Lead Ingested automations turned on, up to 50 leads per import.
- Files over 1,000 rows keep importing after you close the tab. With Distribute or automations on, the import runs in your tab, so keep it open.
If an import stops part way, download the rows not imported file (on the import screen, or at the top of the Leads page) and upload that. Don't upload the whole file again: the duplicate check only looks at recent leads, so old rows that already went in would be added twice.
Let your AI assistant prepare the file
If your old leads are spread across several sheets, or the columns have other names, an AI assistant like Claude can reshape them. First download the template and your source and destination IDs from the upload screen. Then give your assistant your spreadsheet, the IDs file, and this prompt:
I'm importing leads into Lead Distro AI. Turn the attached spreadsheet into one CSV with exactly these columns: first_name, last_name, phone, email, state, zip, lead_date, status, cost, revenue, source_id, destination_id. Write lead_date as YYYY-MM-DD. Use the attached sources_and_destinations.csv to fill source_id and destination_id with the id whose name matches each row's source and buyer. Leave destination_id blank when a row had no buyer. Keep one row per lead, and never invent a value: leave the cell blank when the data isn't there. Then list any source or buyer names you could not match.Or let your AI assistant import it
If you connected Lead Distro AI to your AI assistant (see Connect your AI assistant), it can import the rows itself. Give it your file and ask it to check first. It shows how each column maps, how many rows are ready, and every source or destination name that matched nothing, and it saves nothing until you say go. A big file goes in parts of about 200 rows; sending a part twice never imports it twice.
Import the attached leads into my Lead Distro AI campaign "<campaign name>" as history. Do a dry run first and show me the column mapping, the rows that would be skipped and why, and any source or destination name that didn't match. Ask me about each unmatched name. Import only after I say go, about 200 rows per part, and tell me the totals at the end.Frequently Asked Questions
Will imported leads be sent to my destinations?
Do imported leads use up caps, orders, or my plan?
What if a name in my file doesn't match anything?
Will a destination see these leads in its Partner Portal?
Can I close the tab while it imports?
Related Articles
If you have any questions, send us an email at support@leaddistro.ai