# Outbound — Contact Lists & DNC

| Topic | Detail |
|---|---|
| Navigation | `Admin → Outbound → Contact Lists` and `Admin → Outbound → DNC Lists` |
| Purpose | Manage the lists of contacts to dial and the numbers that must never be dialed |
| Max contacts per org | 5,000,000 |
| Max contacts per list | 1,000,000 |
| Max DNC records per list | 1,000,000 |
| Max DNC records per org | 2,000,000 |

> ✅ **Verified against Genesys Cloud Resource Center — March 2026**

---

## Contact Lists

A contact list is the "phone book" for a campaign — it contains the names, phone numbers, and custom data fields for every person the campaign will attempt to reach.

### Contact List Structure

| Field | Detail |
|---|---|
| Columns | Up to **50 columns** per list |
| Phone number columns | Up to **10 phone number columns** per list (e.g., mobile, home, work) |
| Column header character limit | 128 characters |
| Column entry character limit | 512 characters |
| Phone number format | Minimum 10 digits, **E.164 format** required |
| One campaign at a time | A contact list can only be on **one running campaign at a time** |

### Creating a Contact List

1. Navigate to `Admin → Outbound → Contact Lists`
2. Click **Create**
3. Name the contact list
4. Define **columns** — at minimum one phone number column
5. Select the **phone number column type** for each phone column
6. Click **Save**

### Importing Contacts

1. Open the contact list
2. Click **Import**
3. Upload a **CSV file** — columns must match the list definition
4. The system validates and imports contacts

> 💡 Contact lists can be generated from CRM or marketing systems and uploaded on a one-time, recurring, or trigger-based basis.

### Contact List Filters

Contact list filters allow you to run a campaign against a **subset** of a contact list without creating a separate list:

- Filter by any column value (e.g., only contacts in a specific state or with a specific status)
- Assigned to a campaign in the Campaign Editor
- Up to **1,000 contact list filters** per org

---

## Attempt Controls

Attempt controls limit how many times a contact or phone number can be called, preventing excessive re-dialing.

| Setting | Description |
|---|---|
| Max attempts per phone number | Stop calling a specific number after N attempts |
| Max attempts per contact | Stop calling the entire contact record after N total attempts |
| Recall time | How long to wait before retrying a contact |
| Reset period | After this period, the attempt counter resets (e.g., every 24 hours) |
| Phone type-specific limits | **February 2026 update** — configure different attempt limits per phone type (mobile, home, work) |

> 💡 **February 2026 update:** Administrators can now set phone type-specific attempt limits, extend recall times, and adjust reset periods with greater precision.

---

## DNC Lists (Do Not Call)

A DNC list is a data source of phone numbers that must **never be dialed** by any campaign. The system checks contact phone numbers against all assigned DNC lists before placing each call.

### Types of DNC

| Type | Description |
|---|---|
| Internal DNC | Organization's own DNC list — uploaded and managed in Genesys Cloud |
| Campaign-specific DNC | Assigned to specific campaigns only |
| Wrap-up triggered DNC | Agent selects a wrap-up code that automatically adds a number to DNC |
| Contact-level DNC | Agent or system flags an entire contact (not just a number) as uncallable |

### Creating a DNC List

1. Navigate to `Admin → Outbound → DNC Lists`
2. Click **Create**
3. Name the DNC list
4. Click **Save**

### Importing DNC Numbers

1. Open the DNC list
2. Click **Import**
3. Upload a CSV of phone numbers
4. The system validates and imports

### Assigning DNC to a Campaign

DNC lists are assigned in the Campaign Editor during campaign configuration. A campaign can have multiple DNC lists assigned — all are checked before each dial attempt.

### Agent-Triggered DNC

To allow agents to add numbers to DNC during a call:
- Configure a **wrap-up code** mapped to the DNC action
- Or include a DNC button in the **agent Script**
- The number is immediately flagged and will not be dialed again

---

## Callable Time Sets

Callable time sets define **when** a campaign is allowed to dial for each time zone. This works alongside ATZM to ensure compliance with regulations like the Telephone Consumer Protection Act (TCPA).

| Feature | Description |
|---|---|
| Navigation | `Admin → Outbound → Callable Time Sets` |
| Purpose | Define allowed dialing hours by day of week and time zone |
| Integration | Assigned to a campaign — overrides or supplements ATZM defaults |
| Override | Callable times can be overridden; callable **days** cannot |

---

## Contact Management During a Campaign

| Action | Description |
|---|---|
| Dynamic queueing | Contacts are re-sorted at attempt time — most current data is used |
| Filter changes honored | If a contact list filter changes during a running campaign, the campaign honors the update |
| Skip time zone contacts | Contacts outside the callable window are skipped and optionally rescheduled via ATZM |
| Mark uncallable | A wrap-up code or call rule can flag a number or entire contact as permanently uncallable |

---

## Interview Cheat Sheet

| Question | Answer |
|---|---|
| Max contacts per org? | 5,000,000 |
| Max contacts per contact list? | 1,000,000 |
| Max DNC records per list? | 1,000,000 |
| Max DNC records per org? | 2,000,000 |
| Max phone number columns per contact list? | 10 |
| Can a contact list be on multiple running campaigns? | No — only one running campaign at a time |
| What format must phone numbers use? | E.164 format, minimum 10 digits |
| What is an Attempt Control? | Limits on how many times a contact or number can be dialed |
| What does a DNC list do? | Prevents listed numbers from being dialed by any campaign it is assigned to |
| How can agents add a number to DNC? | Via wrap-up code mapped to DNC action, or DNC button in agent script |