For the complete documentation index, see llms.txt. This page is also available as Markdown.

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)

  • email

  • linkedinUrl

  • companyDomain

  • companyName

  • country

  • state

  • city

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)

  • companyDomain

  • linkedinUrl

  • country

  • state

  • city

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.