> For the complete documentation index, see [llms.txt](https://docs.zero.inc/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.zero.inc/getting-started/data-import/csv-import.md).

# CSV Import

Two ways in: hand the file to Chat and let it do the work, or run the import yourself from a list or from workspace settings. Both go through the same pipeline, which deduplicates against what you already have, links contacts to their companies, and drops the results into a list.

## Import with Chat

Drop the file into [Chat](/getting-started/chat.md) and say what it is and where it goes — "import these contacts into the Q4 outreach list". Chat handles the rest:

1. Reads and cleans the file — fixes formatting, merges rows that are the same person or company, derives company domains from business email addresses, converts spreadsheets and other delimiters to CSV.
2. Shows a short data-quality report of what it found and fixed, proposes custom properties for columns that have no match, and waits for your confirmation.
3. Imports into a list you name, a new list, or an **Import from CSV** list it creates. Contacts get linked to their companies, and pipelines and stages named in a deals file are created if missing. Enrichment runs unless you say otherwise.

Chat offers to open the list so you can watch records arrive; progress also shows under **Past imports** on **Settings → Data → Import**.

## Import manually

{% stepper %}
{% step %}

### Prepare your data

Duplicates are avoided by matching on identifiers, so include them:

* **Companies**: Company name, domain
* **Contacts**: Contact name, email address, company name, company domain
* **Deals**: Deal name, contact email, company domain

You can use this [import template](https://docs.google.com/spreadsheets/d/19S0jUQwulLzC4UX0bV-K_dEFcTpU14FI9MFg9IGoyhQ/copy) by:

1. Adding your records
2. Save each sheet as a CSV: File >> Download >> Comma Separated Values (.csv)

Zero auto-detects the delimiter (comma, semicolon, tab, or pipe), so exports from other tools work too.
{% endstep %}

{% step %}

### Import data

Two options:

1. **Import into a list.** Open **Companies**, **Contacts**, or **Deals** under **Records & Lists** in the sidebar, or any list, open the `⋯` menu in the top right, and choose **Import from CSV** under **Import & Export**. One record type per list, so you can't import companies into a contacts list.

<figure><img src="https://storage.googleapis.com/zero-production-api-docs/images/csv_import_export_menu.png" alt="Import &#x26; Export menu with Import from CSV, Export as CSV and Import/Export history options"><figcaption></figcaption></figure>

2. **Import all CSVs at once from workspace settings.** Go to **Settings → Data → Import** and click **Import** on the **CSV** card, or open [https://app.zero.inc/YOURWORKSPACE/settings/workspace/import?source=csv](https://app.zero.inc/zero/settings/workspace/import?source=csv) (change YOURWORKSPACE to your workspace name). Here you can upload separate CSVs for companies, contacts, and deals in a single run.

<figure><img src="https://storage.googleapis.com/zero-production-api-docs/images/csv_import_settings_flow.png" alt="Import from CSVs screen with three dashed upload areas for companies, contacts and deals above a Next button"><figcaption></figcaption></figure>

CSV import is also a step in the sign-up wizard for a new workspace.

After uploading, click **Next**. Zero reads the headers and auto-maps as many columns as it can.
{% endstep %}

{% step %}

### Map your fields and import

Check the suggested mapping for each record type. **Map to column** adjusts one, and the **Example from CSV** values let you sanity-check it. If a column has no matching property, **Add new column** creates a custom property on the spot. Anything left unmapped is not imported.

Two options sit above the table:

* **If a duplicate is found** — **Skip**, **Update existing** (the default) or **Create new**, set per record type.
* **Auto-enrich imported records** — on by default, filling in missing emails, LinkedIn profiles and job titles. Uses credits; turn it off to import the rows as they are.

Click **Import**. It runs in the background — track it under **Past imports** on **Settings → Data → Import**, or via **Import/Export history** in a list's `⋯` menu.
{% endstep %}
{% endstepper %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.zero.inc/getting-started/data-import/csv-import.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
