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

# Campaigns & leads

> Run multi-channel outreach over lead lists

A campaign reaches a list of **leads** through exactly one primary channel: AI phone call, approved WhatsApp template, WhatsApp Call (Beta), or SMS. Voice campaigns can send one optional WhatsApp or SMS follow-up after all call retries fail.

Existing campaigns remain phone campaigns. Clients that omit `channel` also create a normal `phone_call` campaign.

## Leads & audiences

Leads are the people a campaign contacts:

* **Import** leads via CSV or add them one by one (UI, API, or MCP `add_lead`).
* Each lead has a **phone number** (E.164), optional name/email/tags, and free-form **custom fields** (e.g. `company`, `open_amount`, `appointment_date`).
* Campaign mappings can use contact fields, flat custom fields, assistant variables, campaign-local time values, and read-only system/channel values such as `last_call_id`, `telegram_user_id`, or `whatsapp_user_id`.
* In campaign lead details, contact fields and user-managed variables are editable. Runtime and channel identities are shown separately as read-only system variables.
* Every primary or follow-up action is recorded as a delivery attempt.

## Setting up a campaign

<Steps>
  <Step title="Create the campaign">
    Choose Call, WhatsApp, WhatsApp Call (Beta), or SMS. The wizard only shows named resources that belong to the current workspace.
  </Step>

  <Step title="Add leads">
    Import your CSV. Numbers on your [do-not-call list](/campaigns/dialer-and-compliance#do-not-call-dnc) are flagged automatically.
  </Step>

  <Step title="Configure campaign settings">
    Select the assistant or sender, approved template and mappings, outreach windows, timezone, retries, and optional voice follow-up.
  </Step>

  <Step title="Start">
    Start now or schedule a local date and time in the campaign timezone. Pausing stops new delivery claims; active calls and accepted sends finish normally.
  </Step>
</Steps>

## Monitoring a running campaign

The campaign view shows primary and follow-up status, last and next activity, delivered/failed totals, and voice duration where applicable. WhatsApp Call leads can wait in **Awaiting permission** until the customer grants explicit outbound-call permission.

By default, when no leads remain and all calls have ended, the campaign completes automatically. This is gated by the **`mark_complete_when_no_leads`** setting (default on) — turn it **off** to keep the campaign running for continuous, automated lead importing, so newly added leads are picked up instead of the campaign closing itself.

## Results

Use `GET/PATCH /api/v1/campaigns/{id}/leads/{leadId}` or MCP `get_lead` / `update_lead` for one lead. `GET /api/v1/variables/catalog` and MCP `list_variable_sources` list valid mapping sources. Use `GET /api/v1/campaigns/{id}/deliveries` or MCP `list_campaign_deliveries` for customer-safe delivery history. Internal provider, room, carrier, and permission references are never exposed.
