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

# Campaigns

> Call a contact list with controlled scheduling, concurrency, and retries.

<Note>
  Outbound calling is temporarily disabled. Use the [browser tester](/getting-started/quickstart) or [incoming calls](/integrations/telephony/inbound) to test your agent. The reference below does not enable outbound calling.
</Note>

A campaign runs an agent against multiple contacts. Before you start, test the agent, publish the intended version, and configure the caller number and telephony connection.

## Create a campaign

Open **Campaigns**, choose the agent and telephony configuration, and supply your contacts. You can upload a CSV or enter a manual list. Start with a small list of destinations you control to verify the flow.

A CSV needs a `phone_number` column. Extra columns become initial context for each call:

```csv theme={null}
phone_number,customer_name,account_id
+14155550100,Jane Smith,acc_001
+14155550101,Alex Jones,acc_002
```

Manual contacts require a name and a phone number with country code. The API accepts up to 100 manual contacts in one campaign request.

## Set calling behavior

* **Concurrency** limits simultaneous calls. Keep it within your provider and workspace limits.
* **Schedule** sets the timezone and time windows when new calls may start.
* **Retries** control how often to retry busy, unanswered, or voicemail calls and the delay between attempts.
* **Circuit breaker** can pause a campaign when its recent failure rate exceeds the configured threshold.

Review these settings before starting. An enabled schedule needs at least one time slot; a disabled schedule does not restrict calls to business hours.

## Start, pause, and review

Start the campaign when the contacts and settings are ready. Monitor progress and individual runs. Pausing stops further dispatch while calls already in progress finish. Resolve failed credentials, provider restrictions, or agent issues before resuming a paused campaign.

Use the campaign results to distinguish answered calls from completed business tasks. Review transcripts and extracted data for a sample of calls before expanding the contact list.

Developers can [create campaigns](/api-reference/campaigns/create), [read progress](/api-reference/campaigns/progress), and [retrieve campaign runs](/api-reference/campaigns/runs).
