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

# Uploading Contacts

> How to prepare and upload your contact list for a campaign.

The first step in creating a campaign is providing the list of contacts you want to call. Atllas accepts contacts via CSV upload or a connected CRM.

<Tip>
  Don't have a contact list yet? Click **Buy Leads** at the top of the contacts step to browse our partner lead providers.
</Tip>

## Buying Leads

If you don't have a contact list, you can purchase one from a lead provider. Click **Buy Leads** at the top of the contacts step to open the lead purchasing panel.

Atllas currently partners with four providers:

* **Apollo** — click **Shop Apollo** to search and export verified B2B contacts.
* **A-Leads** — click **Shop A-Leads** to browse their catalogue and purchase leads directly.
* **Seamless.ai** — click **Shop Seamless.ai** to access their database of verified B2B contacts.
* **ZoomInfo** — click **Shop ZoomInfo** to search their enterprise-grade contact database.

All links open in a new tab. Once you've purchased a list, download it as a CSV and upload it using the steps below.

<Note>
  Want native lead purchasing built into Atllas? Leave your email in the **Help us decide** section of the Buy Leads panel and we'll notify you if we build it.
</Note>

## CSV Format

Your CSV must include at minimum a **phone number** column. All other columns are optional but improve personalisation.

### Required Column

| Column  | Description                                                                                          |
| ------- | ---------------------------------------------------------------------------------------------------- |
| `phone` | The contact's primary phone number. Accepted formats: `+15551234567`, `5551234567`, `(555) 123-4567` |

### Multiple Phone Numbers

You can provide up to additional fallback numbers per contact using `phone2`, `phone3`, and so on. If the primary number doesn't connect, Atllas will automatically try each fallback in order until the contact is reached or all numbers are exhausted.

| Column                  | Description            |
| ----------------------- | ---------------------- |
| `phone2`                | First fallback number  |
| `phone3`                | Second fallback number |
| `phone4`, `phone5`, ... | Additional fallbacks   |

Each dial attempt is tracked separately in the campaign results — you can see which number was used, the outcome, and the recording for each attempt.

### Recommended Columns

| Column       | Description                                                  |
| ------------ | ------------------------------------------------------------ |
| `first_name` | Used to address the contact by name during the call          |
| `last_name`  | Combined with first name for full personalisation            |
| `email`      | Used for email follow-ups if configured                      |
| `note`       | Any additional context the AI should know about this contact |
| `address1`   | Street address                                               |
| `city`       | City                                                         |
| `state`      | State or province                                            |
| `zip`        | Zip or postal code                                           |

## Uploading Your File

1. In the campaign creation flow, click **Upload Contacts**
2. Drag and drop your CSV or click to browse
3. Map your columns to the expected fields in the preview step
4. Review the contact count and click **Confirm**

<Note>
  The portal shows a preview of the first few rows before import. Check that phone numbers and names have mapped correctly before proceeding.
</Note>

## Import from AI CRM

Instead of uploading a CSV, you can pull contacts straight from your AI CRM. In the contacts step, switch to the CRM tab, search by name or company, and select the contacts you want to include.

Contacts imported this way are **referenced by ID** rather than copied — the campaign stores a pointer to the CRM contact and resolves their phone number, name, and other personalisation fields at call time. Practical implications:

* If you update a contact in AI CRM (correct a misspelled name, fix a phone number) before the call is placed, the campaign will use the updated info.
* The same contact can be added to multiple campaigns without duplicating data.
* A contact must have a phone number on file in AI CRM to be eligible.

## Removing Contacts

Once uploaded, you can remove individual contacts from the list before launch. Contacts cannot be added or removed after a campaign has started.

## Do Not Call (DNC) Filter

When the DNC filter add-on is enabled for a campaign, Atllas checks each contact's number against the US National Do Not Call Registry before dialing. The check costs **\$0.03 per recipient**, with a **\$0.50 minimum charge** per campaign (a payment processor minimum). Numbers found on the registry are skipped and marked as DNC in the results — and refunded automatically since they never connected.

The DNC filter runs against each campaign's recipient list at launch time. There is no account-wide DNC list to maintain — enable the filter on each campaign where you want it to run.
