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

# Campaigns - Launch & Manage Outbound Runs

> Create outbound campaigns in the Vobiz Console - set CPS and concurrency, pick caller IDs with Round Robin / Least Used / Random rotation, upload a Contacts CSV, set the daily calling window and retry budget, and launch.

**Vobiz Campaigns** is the bulk outbound dialler - upload a CSV of phone numbers, pick a reusable webhook [Agent](/platform/campaigns/agents), set the calling rate, and Vobiz dials every contact at the configured CPS with retries, caller‑ID rotation, and per‑attempt logging.

```text URL theme={null}
https://console.vobiz.ai/app/campaigns
```

## The model

A campaign is built from three resources that live side‑by‑side in the **Voice Applications** sidebar:

<CardGroup cols={3}>
  <Card title="Campaign Agents" icon="user-gear" href="/platform/campaigns/agents">
    Reusable answer/hangup webhook configs. Created once, used by many campaigns.
  </Card>

  <Card title="Campaigns" icon="bullhorn" href="/platform/campaigns/list">
    The actual outbound runs - agent + numbers + contacts + pacing.
  </Card>

  <Card title="Campaign Call Logs" icon="list" href="/platform/campaigns/call-logs">
    Per‑attempt history for every campaign.
  </Card>
</CardGroup>

```text theme={null}
┌───────────────┐    ┌───────────────┐    ┌───────────────┐
│  Agent        │──▶│  Campaign      │──▶│  Call Logs     │
│  Answer URL   │    │  CPS + numbers │    │  Per attempt   │
│  Hangup URL   │    │  + CSV         │    │  outcome       │
└───────────────┘    └───────────────┘    └───────────────┘
   reusable             one outbound run     the audit trail
```

Reuse a single Agent across many daily campaigns instead of re‑typing the same URLs every time you launch a run.

## Create a new campaign

Click **+ New Campaign** to open the side panel. The form is long; this page walks every field in order.

<Frame caption="New Campaign - basic info, agent, pacing, and caller ID strategy">
  <img src="https://mintcdn.com/vobizai/rHC7MC1ZnRKlF7P2/images/platform/campaign/campaign-new-top_blur.png?fit=max&auto=format&n=rHC7MC1ZnRKlF7P2&q=85&s=5b1335af2a98d9a354b05594275a0819" alt="New Campaign side panel showing Name field (Q1 Appointment Reminders), Agent dropdown (API Test Agent 2), CPS and Max Concurrent number inputs (3 and 10), Timezone (Asia/Kolkata), Caller ID Strategy dropdown set to Pool - rotate from a list of numbers, Rotation Strategy segmented control with Round Robin selected (other options Least Used and Random), and a Limits section for Max calls (lifetime), Max calls per day, and Cooldown" style={{maxWidth: '560px', margin: '0 auto', display: 'block'}} width="2392" height="3056" data-path="images/platform/campaign/campaign-new-top_blur.png" />
</Frame>

### 1. Basic info

| Field     | Required | Notes                                                                                                                                             |
| --------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Name**  | ✅        | A label like *"Q1 Appointment Reminders"* - shown everywhere this campaign appears.                                                               |
| **Agent** | ✅        | Dropdown of every [Campaign Agent](/platform/campaigns/agents) on your account. The Agent decides Answer URL, Hangup URL, and static SIP headers. |

### 2. Pacing

| Field                      | Required | Notes                                                                                                                                                      |
| -------------------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **CPS** (Calls Per Second) | ✅        | Peak dial rate. Vobiz queues attempts and releases them at this rate. Stay at or below your account's [CPS capacity](/platform/dashboard#capacity-limits). |
| **Max Concurrent**         | ✅        | Cap on simultaneously active campaign calls. Use the [CPS Calculator](/resources/calculator) to size this against your expected call duration.             |
| **Timezone**               | –        | Used by **Daily calling window**. Defaults to your account timezone (e.g. `Asia/Kolkata`).                                                                 |

<Tip>
  A safe starting point is **CPS = 3** and **Max Concurrent = 10** for \~60‑second calls - that's roughly 180 calls/minute steady‑state.
</Tip>

### 3. Caller ID Strategy

Decide which of *your* phone numbers should appear as the caller ID on each attempt.

| Strategy                                 | When to use                                                                                                                            |
| ---------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| **Pool - rotate from a list of numbers** | Default. Spreads calls across multiple numbers to avoid carriers flagging a single number as a spam source.                            |
| **Single - use one number**              | All calls show the same caller ID. Useful for branded outbound from one published business number.                                     |
| **Sticky - same number per contact**     | The same destination always sees the same caller ID across retries - better answer rates because the recipient learns to recognise it. |

### 4. Rotation Strategy *(only shown for **Pool**)*

| Strategy        | How Vobiz picks the next number                                                                |
| --------------- | ---------------------------------------------------------------------------------------------- |
| **Round Robin** | Strict sequence `1 → 2 → 3 → 1 → 2 → 3 …`. Predictable, evenly distributes load.               |
| **Least Used**  | Picks the number with the fewest calls today first. Self‑balancing under uneven contact lists. |
| **Random**      | Picks any active number at random. Best when carriers fingerprint Round Robin patterns.        |

### 5. Limits *(optional, applied to **every** number in the pool)*

| Field                    | Notes                                                                                             |
| ------------------------ | ------------------------------------------------------------------------------------------------- |
| **Max calls (lifetime)** | Stop using a number once it's placed this many calls total. `Unlimited` by default.               |
| **Max calls / day**      | Daily ceiling per number. Resets at midnight in the campaign's timezone.                          |
| **Cooldown (sec)**       | Minimum gap between two calls from the same number - useful when carriers throttle rapid repeats. |

### 6. Select numbers + Contacts CSV

Scroll down for the second half of the form.

<Frame caption="New Campaign - pick numbers, upload CSV, set retry policy and webhooks">
  <img src="https://mintcdn.com/vobizai/rHC7MC1ZnRKlF7P2/images/platform/campaign/campaign-new-bottom_blur.png?fit=max&auto=format&n=rHC7MC1ZnRKlF7P2&q=85&s=0a2a6d7e3c69033aeb73dc2786832f7f" alt="New Campaign panel showing the Select Numbers checklist with phone numbers (+918044784759, +918040260643, +918044784710, +911171366944, +918043063582), a Contacts CSV (optional) uploader with Template download link and drag-and-drop area, a Daily calling window toggle, a Retry Attempts (0-5) numeric input set to 2, and a Webhook URL (optional) field" style={{maxWidth: '560px', margin: '0 auto', display: 'block'}} width="2400" height="3096" data-path="images/platform/campaign/campaign-new-bottom_blur.png" />
</Frame>

#### Select Numbers

Tick the caller‑ID numbers Vobiz should rotate through. The badge next to **Select Numbers** counts your current selection. Use the search to filter long lists.

#### Contacts CSV (required to start)

Upload a `.csv` file with at minimum a `to` column. Click **Template** to download a starter file with the expected schema:

```csv theme={null}
to,name,custom1,custom2
+918065480214,Asha,reminder=2pm,
+919148227303,Ravi,reminder=4pm,
```

Custom columns are passed through to your Agent's Answer URL as part of the campaign context - useful for personalised greetings and dynamic prompts.

<Note>
  Phone numbers must be in **E.164 format** (`+<country><number>`). Vobiz rejects rows without a leading `+`.
</Note>

### 7. Daily calling window *(optional)*

Toggle on to restrict outbound dialling to specific hours in the campaign's timezone - e.g. 9am–7pm Mon–Sat for India compliance. Attempts queue outside the window and fire at the next allowed slot.

### 8. Retry Attempts

How many times to retry a contact that didn't answer (busy, no‑answer, network error). Range `0–5`. Default `2`. Vobiz uses an exponential‑backoff retry schedule.

### 9. Webhook URL *(optional)*

A campaign‑level webhook Vobiz POSTs to on every state change - `campaign.started`, `attempt.placed`, `attempt.completed`, `campaign.finished`. Use it to live‑update your dashboard or push outcomes into your CRM.

```text Example webhook URL theme={null}
https://your-server.com/campaign-webhooks
```

## Launch and monitor

Click **Create Campaign** at the bottom of the form. Vobiz validates the CSV, queues every row, and starts dialling at the next allowed slot.

Watch progress from two places:

* The **Campaigns** list itself - each row shows `attempted / total`, status, and ETA.
* [Campaign Call Logs](/platform/campaigns/call-logs) - per‑attempt detail with hangup cause and (if recorded) audio.

## Pause, resume, abort

Each campaign card has three controls:

* **⏸ Pause** - stop placing new attempts. Calls already in flight finish normally.
* **▶ Resume** - restart from where the pause left off.
* **⏹ Abort** - cancel remaining attempts permanently. Completed attempts stay in the logs.

## Tips

* **Always pilot.** Run a 100‑row CSV first to confirm Agent Answer URLs, caller‑ID rotation, and CRM webhook handling. Then scale.
* **Stay under your CPS cap.** A campaign exceeding the account cap will throttle silently - attempts queue but don't dial.
* **Use Sticky caller ID for retries.** Recipients answer familiar numbers much more often.
* **Compliance windows matter.** In India, outbound calling outside 9am–9pm risks DLT complaints - set the daily window or set retry attempts conservatively.

## What's next

<CardGroup cols={2}>
  <Card title="Campaign Call Logs" icon="list" href="/platform/campaigns/call-logs">
    Watch every attempt as it runs.
  </Card>

  <Card title="CPS Calculator" icon="calculator" href="/resources/calculator">
    Size CPS, concurrency, and daily volume before launching.
  </Card>
</CardGroup>
