> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.rydhm.ai/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.rydhm.ai/_mcp/server.

# Campaigns

A campaign has an expert call everyone on a list, inside your hours **in each person's own time zone**. It tries again when nobody answers and honours "stop calling me". Campaigns call US numbers from one of your [phone numbers](/channels/phone). Everyone can see **Campaigns**; only admins and the owner can run one.

> **You are responsible for compliance**
>
> Rydhm's calling hours, consent attestation, opt-out detection and do-not-call list help you follow US calling rules. **They are not legal advice and don't make a campaign lawful on their own.** Read [What you are responsible for](#what-you-are-responsible-for) and check your plans with your counsel.

## Create a campaign

#### Who calls

Go to **Campaigns** and select **New campaign**. Pick the **Expert**, the number it **Calls from** (an **Active** number that people can call back) and a **Name**. The draft is saved from here on, so you can leave and come back.

#### People

Drop in your CSV and match its columns. Select **Check the list** to see what will be imported and which rows have problems, then **Add** the people.

#### When

Set the **Start** and **End** dates, **Days**, hours (**From**, **Until**), **Calls at once**, **If no one answers** and **Wait between tries**. A live preview shows each time-zone group's local time and when calls open for them.

#### Review

Check the summary, tick the consent statement, and select **Start calling**. Or select **Save as draft**.

A campaign with a future start date is **Scheduled**. Otherwise it starts **Calling** people whose local time is inside your hours.

## The CSV file

One person per row, with a header row. Up to **5,000 people** per campaign (about 2 MB) and 50 columns.

| Column                        | Required | Notes                                                            |
| ----------------------------- | -------- | ---------------------------------------------------------------- |
| **Phone number**              | Yes      | Any common US format, like `(415) 555-0123` or `+1 415 555 0123` |
| **First name**, **Last name** | No       | Or one **Name** column, split at the first space                 |
| **Company**                   | No       |                                                                  |
| Up to 10 more                 | No       | Picked under **More details for the expert**                     |

Rydhm guesses the mapping from your headers, and you can change it. Each extra column becomes a variable named after its header (`Plan tier` becomes `{{plan_tier}}`) that you can use, with `{{first_name}}` and `{{company}}`, in the expert's [instructions](/experts/persona#variables).

![Matching CSV columns to phone number, first name, last name and company, with one extra detail kept](/_fern-files/_img/62a5ab2c055029a8e3b140970e1a0ca260098a34db2176729b5679dce64eeee1.webp)![Matching CSV columns to phone number, first name, last name and company, with one extra detail kept](/_fern-files/_img/a287eda8d8603bf9ce048668bdef53c05960a418684fcf461631b9fa9e8c1b1e.webp)

Missing, invalid, non-US, undialable and duplicate numbers are rejected, with their row numbers. Numbers on your do-not-call list are imported as **Skipped** and never called.

## Calling hours

![The When step: start date, days, calling hours, calls at once and retries](/_fern-files/_img/34362ce7acc0ad1c36329938265e950f7517c663b4d6277e6bc63c855ef2e045.webp)![The When step: start date, days, calling hours, calls at once and retries](/_fern-files/_img/4ff6220b47f46d845f8b58afc8981babd5cfe7064edbda7f5439eb5899af9d0f.webp)

Rydhm works out each person's time zone from their area code and calls only inside your hours **there**. The federal limit is **8 am to 9 pm** local time, and you can't pick hours outside it. The default is weekdays, 9 am to 8 pm.

Where a state allows less, Rydhm applies the stricter hours:

| State                                                           | Hours applied                                           |
| --------------------------------------------------------------- | ------------------------------------------------------- |
| Alabama, Louisiana, Mississippi                                 | 8 am – 8 pm, no Sundays                                 |
| Florida, Massachusetts, Maryland, Oklahoma, Washington, Wyoming | 8 am – 8 pm                                             |
| Connecticut, Nevada                                             | 9 am – 8 pm                                             |
| Kentucky                                                        | 10 am – 9 pm                                            |
| New Mexico, South Dakota                                        | 9 am – 9 pm                                             |
| Rhode Island                                                    | Weekdays 9 am – 6 pm, Saturday 10 am – 5 pm, no Sundays |
| Texas                                                           | Monday to Saturday 9 am – 9 pm, Sunday noon – 9 pm      |

An area code that spans time zones is called only when every zone is inside the hours; one Rydhm can't place is held to all US zones. No call starts in the last 5 minutes of the window, and each number gets **at most 3 campaign calls in 24 hours** across your campaigns.

## The consent attestation

![The Review step with the summary, the estimated price and the consent statement](/_fern-files/_img/21af023daaac1a3dbe2f619ebfd3c31b3a62d8b47996126436af7c08fa38b898.webp)![The Review step with the summary, the estimated price and the consent statement](/_fern-files/_img/c4716b96f95ad8d61a561e2a6af6b2bdf366b24f6877bd7f91c44a042869348e.webp)

An admin must tick this statement before a campaign can call anyone:

> I confirm that every person on this list gave prior express consent, in writing where the law requires it, to receive calls from us that use an AI-generated voice, and that none of them has asked us to stop.

US law (the TCPA) treats an AI voice as an artificial voice. Rydhm saves the statement with the admin's name and the time.

## Retries

Each person gets up to 3 calls: the first, plus up to 2 more, 1 hour, 2 hours, 4 hours or a day apart. Rydhm tries again after no answer, a busy line or a broken line. Voicemail counts as **Reached** if the expert leaves a message. If the expert's [voicemail setting](/channels/phone#voicemail) is to hang up, the person is tried again.

## The do-not-call list

**Settings → Do not call** lists numbers no expert in your workspace will ever call, in a campaign or as a one-off call. Everyone can see it; admins change it.

* **Add numbers**: paste numbers, or select **Or choose a CSV file**. Up to 5,000 at a time, with an optional **Reason**.
* **Asked on a call**: after each answered campaign call, Rydhm reads the person's words. If they asked to stop ("stop calling me", "take my number off", "unsubscribe" and similar, in English or Hindi), the number goes on the list right after the call and the person shows as **Asked not to be called**. These entries can't be removed.

## Pause, cancel and hang up

**Pause** stops new calls while calls in progress finish; **Resume** starts again. **Hang up**, under **On the phone now**, ends a live call. **Change hours** and **Cancel** are in the **More actions** menu; a canceled campaign can't be restarted.

A campaign **pauses itself** and says why when it can't go on, for example when credits run out or 10 calls in a row didn't connect. Fix the cause and select **Resume**.

## Results

The campaign page shows **Done**, **Reached**, **Talk time**, **Cost**, and outcomes from [post-call analysis](/quality/conversations#post-call-analysis). The **People** table links each transcript, and **Export results (CSV)** downloads them all. Calls are charged as [phone minutes](/workspace/billing).

## What you are responsible for

You remain responsible for:

* **Having consent**: prior express consent for AI-voice calls, and prior express **written** consent for telemarketing. Rydhm records your attestation but can't check it.
* **The National Do Not Call Registry**: Rydhm doesn't scrub against it.
* **Opt-outs made elsewhere**, such as by email or text. Add them to **Do not call** yourself.
* **State rules Rydhm doesn't apply**, such as holiday calling bans.
* **Where people really are**: an area code shows where a number was issued, not where its owner is now.
* **What the call says**, and any other law that applies to you.