> ## Documentation Index
> Fetch the complete documentation index at: https://help.callaro.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Import contacts from csv

# Import contacts from CSV

In the app, go to **Contacts** and start **Import contacts**. The page title is **Import contacts** and the subtitle is **Upload a CSV file to bulk-import contacts.** You can also open **View import history** from the **More** menu on the contacts list when you need past jobs (see [Import history and error reports](https://help.callaro.ai/contacts/import-history-and-error-reports.md)).

![MEDIA: STATIC — Stepper showing all four steps; Upload step with Download template and drop zone.](https://mintcdn.com/callaro-docs/Rn-efrjnSIS1s0ID/images/contacts/slot-01.png?fit=max\&auto=format\&n=Rn-efrjnSIS1s0ID\&q=85\&s=3c400e7501f51fac70e20a00692ed926)

![MEDIA: GIF — Upload CSV → Next: Map columns → map Phone → Next: Review → Start import → land on the import status page for that run.](https://mintcdn.com/callaro-docs/Rn-efrjnSIS1s0ID/images/contacts/slot-01.gif?s=116ca8b374c29de72cebbbbcb5d1a008)

![MEDIA: VIDEO — Full wizard on a test file, including duplicate-mapping highlight and missing-phone summary.](https://mintcdn.com/callaro-docs/1fJs_sKJdgiwY8nj/media/contacts/slot-01.mp4?fit=max\&auto=format\&n=1fJs_sKJdgiwY8nj\&q=85\&s=0ef7e946131b8372e40d6aed79fb8691)

After **Start import** succeeds, the app opens the **import status** page for that job so you can watch progress, preview problems, and download an error file when the product offers it. For what each control means, see [Import history and error reports](https://help.callaro.ai/contacts/import-history-and-error-reports.md).

## At a glance

* **Steps in the stepper:** **1 Upload** → **2 Map Columns** → **3 Review** → **4 Import** (the labels match what you see on screen).
* In **Map Columns**, each column can map to a standard field, **-- Skip --**, or a **(custom)** field from your tenant. **Phone** is required; other targets include first name, last name, email, company, tags, timezone, and your custom field definitions.
* You must have a **workspace (tenant) selected** in the header. If it is missing, the app shows a message like **Select a tenant to import contacts.**

## Before you start (what to prepare)

1. A CSV where each row is one contact.
2. At least one column you will map to **Phone (required)**.
3. Optional columns for name, email, company, tags, timezone, and custom fields your tenant already defined.

**Upload area copy to expect:** the app explains that you can **upload a CSV or drag and drop** it, and that phone numbers may include a country code with or without a leading plus. Use **Click or drag a CSV file here** when you are ready to pick a file (**.csv** only).

![MEDIA: STATIC — Upload area with Download template visible.](https://mintcdn.com/callaro-docs/Rn-efrjnSIS1s0ID/images/contacts/slot-02.png?fit=max\&auto=format\&n=Rn-efrjnSIS1s0ID\&q=85\&s=6ce8f4c7f59bab868a18ddfeb19d26ea)

![MEDIA: GIF — Drag-and-drop a .csv file onto the drop zone.](https://mintcdn.com/callaro-docs/Rn-efrjnSIS1s0ID/images/contacts/slot-02.gif?s=9bc1a25949ad6dc8ac4c7e251b5c770f)

![MEDIA: VIDEO — Explain the Preview (first N of M rows) table after a file loads.](https://mintcdn.com/callaro-docs/1fJs_sKJdgiwY8nj/media/contacts/slot-02.mp4?fit=max\&auto=format\&n=1fJs_sKJdgiwY8nj\&q=85\&s=4e78f69f8a211f338be9d180dbf62ea1)

> [!TIP]
>
> **Pro tip: use Download template**
>
> **Download template** gives you a ready-made CSV named **contacts\_template.csv** with the columns the importer expects: phone, first name, last name, email, company, timezone, and one column per custom field. Sample values match types where the app can suggest them.

## Step 1 — Upload

The helper text on this step explains that **columns you map to custom fields** are stored as structured contact data, and that **unmapped** extra columns can optionally be turned into new **text** custom fields during the import (see the auto-create option in later steps if it applies).

**Next: Map columns** stays disabled until a file is selected and the header row is read successfully.

![MEDIA: STATIC — Preview table with headers and first rows.](https://mintcdn.com/callaro-docs/Rn-efrjnSIS1s0ID/images/contacts/slot-03.png?fit=max\&auto=format\&n=Rn-efrjnSIS1s0ID\&q=85\&s=200b847b638b1e06c6d13525fe3bbde4)

![MEDIA: GIF — Load a file and scroll the preview if there are many columns.](https://mintcdn.com/callaro-docs/Rn-efrjnSIS1s0ID/images/contacts/slot-03.gif?s=5513df9d1b7d3886401843f28d51ca7d)

![MEDIA: VIDEO — CSV with quoted cells or extra commas, showing how the preview still lines up with columns.](https://mintcdn.com/callaro-docs/1fJs_sKJdgiwY8nj/media/contacts/slot-03.mp4?fit=max\&auto=format\&n=1fJs_sKJdgiwY8nj\&q=85\&s=f61b2ef6e44f95af2b4212aa62f40ece)

## Step 2 — Map Columns

The instructions say: **Map each CSV column to a contact field or custom field. The Phone field is required.**

For each column, pick a target in the dropdown. The app tries to help by auto-matching common header names to the right field.

* If two columns map to the same target, that row is highlighted in amber and you see a **Duplicate** message—change one of the targets before you continue.
* If **Phone** is not mapped, the app shows **You must map at least one column to Phone.** and **Next: Review** stays disabled.
* If some columns are still unmapped, you may see an option to **auto-create custom fields** for those columns in the next steps (wording includes how many columns would be created).

![MEDIA: STATIC — Map step with one duplicate mapping highlighted.](https://mintcdn.com/callaro-docs/Rn-efrjnSIS1s0ID/images/contacts/slot-04.png?fit=max\&auto=format\&n=Rn-efrjnSIS1s0ID\&q=85\&s=33fa35c0f2ec457b60ca78c3bda6d701)

![MEDIA: GIF — Change a dropdown to clear a Duplicate mapping.](https://mintcdn.com/callaro-docs/Rn-efrjnSIS1s0ID/images/contacts/slot-04.gif?s=56b0394a0cc65190a75f94c7630472fe)

![MEDIA: VIDEO — Map a column to a custom field target from the dropdown (labeled with (custom)).](https://mintcdn.com/callaro-docs/1fJs_sKJdgiwY8nj/media/contacts/slot-04.mp4?fit=max\&auto=format\&n=1fJs_sKJdgiwY8nj\&q=85\&s=276122ce4771bfdeb078747f6f6a44e4)

> [!WARNING]
>
> **Watch out: duplicate mappings**
>
> Treat **Duplicate** warnings as blocking: they match the app’s own validation in **Map Columns**—the wizard will not let you move on until you fix them.

## Step 3 — Review

**Review** shows an **Import summary** with **Total rows**, how many **Mapped fields** you have, and **Missing phone** (highlighted in amber if any rows have no phone after mapping). You will also see a **Column mapping** list that pairs each file header with the field you chose, plus counts for how many rows will be skipped for missing phone when applicable.

If auto-create is on for unmapped headers, the summary states how many **unmapped** columns will become new **text** custom fields.

![MEDIA: STATIC — Review cards with Missing phone greater than zero.](https://mintcdn.com/callaro-docs/Rn-efrjnSIS1s0ID/images/contacts/slot-05.png?fit=max\&auto=format\&n=Rn-efrjnSIS1s0ID\&q=85\&s=5d8232dd3b2fa4b83fd05a16a916698c)

![MEDIA: GIF — Go back to Map columns, fix phone mapping, return to Review.](https://mintcdn.com/callaro-docs/Rn-efrjnSIS1s0ID/images/contacts/slot-05.gif?s=1aec5563c3c0257bf6e4254f7f389aa0)

![MEDIA: VIDEO — Review with the auto-create message visible for unmapped columns.](https://mintcdn.com/callaro-docs/1fJs_sKJdgiwY8nj/media/contacts/slot-05.mp4?fit=max\&auto=format\&n=1fJs_sKJdgiwY8nj\&q=85\&s=1ea7afa9f0231ef8134118d5f944b267)

## Step 4 — Import

When you choose **Start import**, the app shows **Importing contacts…** while the work runs. If something fails, you may see **Import failed** and **Try again**, which takes you back to the review step so you can adjust and resubmit. On success, the app takes you **straight to the import status page** for that run—there is not a separate “all done” screen in between.

**After import starts:** stay on the status page the app opened. There you can track progress and use **Preview errors** or **Download errors** when the product makes them available. For details, see [Import history and error reports](https://help.callaro.ai/contacts/import-history-and-error-reports.md).

![MEDIA: STATIC — Import step with Importing contacts… on screen.](https://mintcdn.com/callaro-docs/Rn-efrjnSIS1s0ID/images/contacts/slot-06.png?fit=max\&auto=format\&n=Rn-efrjnSIS1s0ID\&q=85\&s=6733c0c12564d956534dfc2462d1ec5c)

![MEDIA: GIF — Submit and land on the import status view in the same session.](https://mintcdn.com/callaro-docs/Rn-efrjnSIS1s0ID/images/contacts/slot-06.gif?s=15af4c1bae2861a6f2a614eca9fe1307)

![MEDIA: VIDEO — Full path ending on the import status page with an error download or a completed summary.](https://mintcdn.com/callaro-docs/1fJs_sKJdgiwY8nj/media/contacts/slot-06.mp4?fit=max\&auto=format\&n=1fJs_sKJdgiwY8nj\&q=85\&s=918364d7864bf45fa64ffa220b94ee47)

## Auto-create unmapped custom fields (when to use it)

When the checkbox appears, it is labeled to match how many unmapped columns would become new custom fields, for example **Auto-create custom fields for N unmapped column(s).** Turn it on only if you want those extra columns to create new field definitions. Turn it off if you are cleaning up a messy export and do not want new schema from one-off column names.

## What to check after import

1. Open [Import history and error reports](https://help.callaro.ai/contacts/import-history-and-error-reports.md) and find the run you care about, or use the import list from **More → View import history** on the contacts list, then open the same job.
2. Confirm **Status** and the created / updated / skipped counts.
3. Open **Contacts** and spot-check a few records to ensure fields look right.

**Next: segment and launch**

Use filters and segments on the contacts you imported, then attach audiences in a campaign.

* [Filters and segments](https://help.callaro.ai/contacts/contacts-list-filters-and-segments.md)
* [Custom fields](https://help.callaro.ai/contacts/custom-fields-for-contacts.md)
* [Campaign wizard: audience](https://help.callaro.ai/campaigns/wizard-step-3-audience.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.