Prospects and lists

Import prospects from CSV or Excel

Upload a CSV or Excel file of leads, map columns to Prosyo fields and custom fields, handle duplicates and import onto a list.

On this page

Upload a spreadsheet exported from Apollo, a CRM, an event list or anywhere else. Prosyo maps each column to a prospect field and adds the rows to a list.

File requirements#

RequirementDetails
File type.csv, .xlsx or .xls
Header rowThe first row must contain column names
RowsUp to 5,000 rows per file. Split bigger files.
Required columnAt least one column mapped to Email or LinkedIn URL
EncodingUTF-8 recommended for names with accents or non-Latin characters
Tip

Include a LinkedIn URL column whenever you can. LinkedIn steps need it, and enrichment works much better with it.

Sample file#

CSV
First name,Last name,Title,Company,Website,LinkedIn URL,Email,Phone,Industry
Alex,Rivera,Head of Sales,Acme,acme.com,https://www.linkedin.com/in/alexrivera,alex@acme.com,+1 555 0100,SaaS
Priya,Sharma,Founder,Brightlabs,brightlabs.io,https://www.linkedin.com/in/priyasharma,,,"Fintech"

Step by step#

  1. Go to Prospects → Import, or click Add or import prospects on the Dashboard.
  2. Choose a list. Under Add to list, pick Existing list or Create new. Name lists so you can recognize them later, for example "Webinar attendees – Sept 2026".
  3. Open the CSV / Excel tab.
  4. Drop your file in the upload area, or click to browse.
  5. If the Excel file has several sheets, pick the sheet to import.
  6. Map your columns (see below).
  7. Click Import.
  8. Wait for the summary. It shows how many rows were inserted, updated, skipped and failed.

Progress survives a page refresh, so you can leave the page during a large import.

Field mapping#

Prosyo guesses the mapping from your column names. Check every row before you import.

Prosyo fieldAuto-detected when the header containsUsed for
First namefirst{{first_name}}
Last namelast, surname{{last_name}}
Full namefull name, or exactly nameSplit into first and last when those are empty
Job titletitle, position, role{{title}}
Companycompany, organization, organisation, account{{company_name}}
Websitewebsite, domainCompany website
LinkedIn URLlinkedin, profile urlLinkedIn steps and deduplication
Emailemail, e-mailEmail steps and deduplication
Phonephone, mobileStored on the prospect
Custom · [field name]Choose manually{{custom.field_key}}
Skip columnAnything not recognizedNot imported

Map to custom fields#

Any column that isn't a standard field can go into a custom field, such as Industry, Pain point, Event name or Personal first line.

  1. In the mapping dropdown, choose Custom · [field name].
  2. If the field doesn't exist yet, create it in Settings → Custom fields first, then come back to the import.

Once imported, you can use the value in any message as {{custom.your_field}}. See Lists, tags and custom fields.

Duplicates#

Prosyo won't create the same person twice in one workspace. A row is treated as a duplicate when its LinkedIn URL or email already exists.

  • Duplicates are updated with any new values from your file, or skipped if nothing changed.
  • They're still added to the list you chose, so you can enroll them in a new campaign.

What Prosyo won't do#

Prosyo never invents data. If a row has no email, email steps skip that person. To fill in gaps, use Enrichment. It fills a field only when a real source returns it.

Import limits#

Each plan includes a monthly import allowance:

PlanImports per month
Starter1,000
Multichannel5,000
Agency / TeamScales with seats

Updating a person who's already in your workspace doesn't count toward the limit.

Upgrade

Hitting your import limit? Multichannel gives you 5x Starter's monthly imports, and Agency / Team scales with every seat. See plans.

Troubleshooting#

MessageFix
"The file needs a header row and at least one data row."Add column names in row 1 and at least one row of data.
"Please upload a .csv or .xlsx file."Save the file as CSV or Excel Workbook.
"Could not read that spreadsheet."Open it in Excel or Google Sheets and export as CSV again.
"Map at least one column to Email or LinkedIn URL."Map a column to Email or LinkedIn URL.
Many rows skippedThey already exist in your workspace. Search for one of them in Prospects.
Names look garbledExport the CSV as UTF-8.

Next step#

Enroll your list in a campaign →