Skip to main content
The Setup tab defines who makes the calls and how the dialer behaves. Everything on this tab autosaves as you edit — there is no Save button.

Create a Campaign

  1. Open Studio → Manage → Campaigns.
  2. Click New Campaign. A campaign named “Untitled Campaign” is created and its detail page opens.
  3. Rename it with the pencil icon next to the title (Enter saves, Escape cancels).
From the campaigns list you can also Clone an existing campaign (settings, schedule, and contacts are copied; dial state is reset) or Delete one — deletion is only available for campaigns in Draft or Stopped status.

1 · AI Agent

Choose which agent handles each outbound call. Voice, guidelines, knowledge, and actions all follow that agent’s configuration — the campaign only controls dialing.
If the agent references campaign variables (for example {{first_name}} from your contact list) and you remove the agent assignment, those variables stop resolving. The Studio warns you before removing an agent that is still referenced.

2 · Caller ID

A voice campaign calls from the phone numbers assigned to its AI agent, rotating across them least recently used first. Rotating numbers reduces per-number call volume and protects your numbers’ reputation. The Caller ID section is read-only. It shows the numbers the agent you picked above will call from:
  • With no agent selected, it reads “Select an AI agent above to see the numbers it will call from.”
  • When the agent has numbers, it lists them under “N numbers assigned to this agent:”.
  • When the agent has none, it warns “This agent has no phone numbers assigned. Assign one before launching, or the campaign won’t be able to dial.” The launch checklist keeps Launch disabled until the agent has a number.
To change the numbers a campaign calls from, change the agent’s numbers: use Build → AI Agents → ⋯ → Assign phone number on the agent’s card, or Assign on Manage → Phone Numbers. See Numbers as campaign caller IDs.
  • A number answers for one agent at a time. Assigning a number to a campaign’s agent also moves that number’s inbound calls to the agent, and any number the agent already answers on is one of its campaign caller IDs too. A contact who calls back reaches the agent that called them.
  • Campaigns that share an agent share its numbers, and the same rotation.
  • Changes apply on the next dial. The agent’s numbers are read on every dial, so adding or removing one takes effect straight away, even during a run. Setup is locked while a run is active; the agent’s phone numbers are not.
  • If the agent is left with no usable number mid-run, dialing stops silently. The run stays active but places no calls, and nothing on screen says why.
  • Numbers pending release for non-payment are skipped. If every number the agent has is in that state, the campaign can’t launch.
Outbound campaign calls can only come from numbers bought in the Studio. If a campaign’s agent also holds a BYO number, or the existing number you set up with Forward an existing number during onboarding, the dialer can pick it like any other number, and calls placed from it fail. Give campaigns an agent whose numbers were all bought in the Studio.
The campaign’s on-demand calls use this agent’s numbers and these dialing settings too. Unlike a CSV run, on-demand calling reads the dialing settings live, so editing them changes on-demand calls immediately. Changing the campaign’s agent hands on-demand calls to the new agent but doesn’t move them onto its numbers, though — see On-Demand Calls.

3 · Dialing Settings

Control simultaneous calls and what happens when a dial doesn’t connect.

Max concurrent calls

Caps how many outbound calls the campaign places at once while active. Higher values finish the contact list faster but add telephony load and cost.

Retries

Busy and no-answer retries are counted as extra attempts after the first dial — with “Extra attempts after first busy” set to 2, a contact is dialed at most 3 times for busy outcomes. Each retry waits the configured delay before the contact re-enters the queue.

Voicemail handling

When the AI agent detects an answering machine during the call, the campaign applies your On voicemail choice:
  • Retry later — hang up and schedule another attempt (its own attempt counter and delay, default 2 extra attempts / 30 minutes).
  • Leave a message — the agent speaks your configured voicemail message in its own voice, then hangs up. The message field supports {{variables}} from your contact list, and is required while this mode is selected.
  • Do nothing — hang up silently and mark the contact’s outcome as Voicemail.
Voicemail detection is performed by the AI agent in real time from what it hears on the line — there is no carrier-side answering machine detection. A post-call transcript check also catches voicemails the agent missed, so the outcome and retry policy still apply.

DNC Request message

If a contact asks not to be called again, the agent speaks this message, ends the call with the disposition DNC Request, and the number is added to your internal Do-Not-Call list immediately. Leaving the field empty restores the built-in default: “Okay — I’ll take you off our call list. You won’t receive further calls.”

DNC scrubbing

DNC + Reassigned-Number checks run before every dial and are enabled by default on voice campaigns. Scrubbing requires a SAN on your account and is billed per contact per run. Full details, pricing, and SAN setup are covered in Compliance & DNC. The Co-pilot can save the SAN for you if you give it the number.

Autosave

Setup and Schedule changes save automatically a moment after you stop editing — a “Setup saved” / “Schedule saved” toast confirms each sync. While a save is in flight the Launch button shows “Saving…” and stays disabled, so you can never launch stale settings.

Test Calls

Place a real phone call with the campaign’s agent before launching to anyone on your list.
  1. Click Test Call in the campaign header (an agent must be assigned first).
  2. Fill in the Place Test Call dialog:
    • Phone number (E.164) — e.g. +14155550100
    • Zip Code and one field per configured custom field — sample contact data to test variable injection
  3. Optionally check Enforce dialing rules to make the test call obey the campaign’s compliance rules (calling-hours restrictions, DNC scrubbing, consent checks). This reveals the consent fields: PEWC obtained, PEWC date, and Consent to voice calls (OK).
  4. Click Dial.
The test call comes from one of the agent’s numbers: the one next in its rotation. A test call doesn’t move the rotation along, so testing doesn’t change which number your contacts see next. The agent needs at least one number: without one, the call is refused with “This agent has no assigned phone numbers to call from — assign a number to the agent first.” If all of its numbers are pending release for non-payment, you see “No eligible caller numbers available — check the payment status of this agent’s assigned numbers.” A full-screen overlay shows the live call status (Placing call… → Ringing… → Connected), a timer, the live transcript, and an End test call button.
Test calls run the full conversation experience but never touch campaign state — no DNC marks, callbacks, or voicemail retries are recorded. When DNC scrubbing is enabled and dialing rules are enforced, each test call is charged the compliance-check fee ($0.10 by default) when the checks succeed; nothing is charged if the check vendor fails.

Editing Rules

  • Setup, Schedule, and Contacts can be edited while the campaign is in Draft, Stopped, or Completed status.
  • While a run is active the tabs show a read-only notice: “Setup cannot be edited while the campaign is actively running.” The agent’s phone numbers stay editable, and changes to them apply on the next dial (see Caller ID above).
  • Relaunching a stopped or completed campaign creates a new run with the current settings.

Where to go next

Contact Lists

Upload contacts with consent fields and custom variables.

Scheduling

Set the timezone and weekly calling windows.