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

# Create a campaign

> Build a Wave Runner campaign: choose an agent, pick a contact source, set calling hours, configure retry logic, and start dialing.

Campaigns connect an agent to a contact list and dial automatically on a schedule you set.

Before you start, make sure you have an agent with a phone number assigned and at least one contact list or CSV file in Contacts.

<Note>
  You need the **Manager** role or higher to create and manage campaigns. Viewers and Members can see campaigns but cannot start, pause, or delete them.
</Note>

## Creating a campaign

<Steps>
  <Step title="Open the new campaign dialog">
    Go to **Campaigns** in the navbar and click **New Campaign**. Accept the terms of use when prompted.
  </Step>

  <Step title="Name your campaign">
    Enter a name you will recognize in the campaigns list. For example: "Database Reactivation Q2" or "May Follow-up Sequence".
  </Step>

  <Step title="Attach a workflow (optional)">
    Select a workflow from the **Workflow** dropdown to run a multi-step sequence instead of a simple dial-through. Leave it set to **None** to dial each contact directly.
  </Step>

  <Step title="Select an agent and set a daily cap">
    Choose the agent that handles the calls. The agent's voice, prompt, and analysis settings apply to every call in this campaign.

    Set a **Daily Cap** — the maximum calls per day (1–1,000). The default is 100. Wave Runner pauses the campaign when this limit is reached and resumes the next calling day.
  </Step>

  <Step title="Select a contact source">
    <Tabs>
      <Tab title="Contact list">
        Select a named list from your contacts. Wave Runner calls every active, non-DNC contact in that list.
      </Tab>

      <Tab title="CSV import">
        Select a CSV file you have already uploaded to Contacts. Wave Runner calls every row not marked do-not-call.
      </Tab>
    </Tabs>
  </Step>

  <Step title="Set calling days and hours">
    Toggle the days the campaign is allowed to dial. Monday through Friday are selected by default.

    Set the start and end time for daily calling. The default window is 9 AM to 5 PM.

    <Warning>
      Calling hours run on the server clock. Match the window to your contacts' local time zone if you are calling across regions.
    </Warning>
  </Step>

  <Step title="Configure retry logic (simple campaigns only)">
    Set Wave Runner to retry contacts who were not reached:

    * **Max attempts** — how many times to try each contact (1–10)
    * **Delay between attempts** — minutes to wait before the next attempt (1–10,080)
    * **Retry when call result is** — No Answer, Busy, Voicemail, or Failed

    <Tip>
      The default is one attempt per contact. Contacts marked interested, not interested, or do-not-call are never retried.
    </Tip>
  </Step>

  <Step title="Create the campaign">
    Click **Create Campaign**. The campaign saves with idle status. Wave Runner does not dial anyone until you start it.
  </Step>
</Steps>

## Starting, pausing, and stopping

<CardGroup cols={2}>
  <Card title="Start" icon="play">
    Hover over a campaign card and click the play button. Dialing begins immediately if the current time is within your calling window.
  </Card>

  <Card title="Pause" icon="pause">
    Click the pause button on a running campaign. Calls already in progress complete normally.
  </Card>

  <Card title="Resume" icon="play">
    Click the play button on a paused campaign. Dialing picks up where it left off.
  </Card>

  <Card title="Delete" icon="trash">
    Click the trash icon to permanently delete a campaign and all its call records. This cannot be undone.
  </Card>
</CardGroup>

<Warning>
  Completed campaigns cannot be restarted. To re-dial the same contacts, create a new campaign with the same contact source.
</Warning>

## Campaign results

Click any campaign card to see the full call list. Each row shows:

* Contact name and phone number
* Call status: calling, answered, completed, failed, no answer, or busy
* Outcome: interested, not interested, callback, do not call, voicemail, or wrong number
* Sentiment: positive, neutral, negative, or frustrated
* Duration and time of call

Expand any row to read the AI-generated call summary.

The top of the details panel shows aggregate stats: total dials, total answered, interested count, DNC count, average duration, and daily cap progress.

## Next steps

<CardGroup cols={2}>
  <Card title="Manage contacts" icon="address-book" href="/campaigns/contacts">
    Import and organize the contacts your campaigns will call.
  </Card>

  <Card title="Workflows" icon="diagram-project" href="/workflows/overview">
    Build multi-step campaign sequences with wait times, SMS, and branching logic.
  </Card>
</CardGroup>
