Importing a CSV
The columns Primer recognizes in a people or companies CSV.
You can bring people and companies into Primer as a CSV. The file is a plain CSV with a header row, and Primer maps your columns to its canonical fields. Header names are matched flexibly, so Title Case, snake_case and camelCase all work (for example Company Domain, company_domain and companyDomain all map to the same field).
When you upload in the app, you pick whether the file is a People or a Companies list, and a direct upload is capped at 25 MB — for anything larger, load it via S3. There's no cap on how many rows a valid file can contain, only the file size.
After you upload, the mapping step shows one collapsible group per set of fields — expand each group to check its columns are mapped, and watch the valid-row count as you go:
People columns
A People import needs firstName and lastName, plus at least one of email, companyDomain or linkedinUrl so the person can be matched. The rest are optional.
firstName(required)lastName(required)emaillinkedinUrlcompanyDomaincompanyNamecountrystatecity
Company columns
A Companies import needs companyName, plus at least one of companyDomain or linkedinUrl. Domain-only company lists are fine — no person data is required.
companyName(required)companyDomainlinkedinUrlcountrystatecity
Managing your imports
Your uploads live under Connections → CSV Imports. Each import shows a status:
Processing — Primer is validating and loading the rows.
Completed — loaded, with a count of how many rows were valid vs invalid (rows missing the required columns above are counted invalid and skipped).
Failed — the file couldn't be processed; fix the file and re-upload.
You can delete an import you uploaded in the app while you're still setting it up — before you confirm and load it. Once it's completed it stays as the dataset's snapshot, so to change it you re-upload a new file to replace it. Imports that arrived over S3 or the API are managed from that source, not deleted here.
Loading the file
For a one-time or occasional load, drop the CSV to your Primer S3 location — see Uploading via S3. To send records continuously from your own systems, use the API instead.
Each upload is a complete snapshot of that dataset: records missing from a new file are dropped, not merged with the previous one.