Skip to main content
Every launch creates a numbered run — a self-contained execution with frozen snapshots of your settings. This page covers getting a campaign live and watching it work.

Launch Checklist

The Launch button stays disabled until every gate is met. Hover it to see the checklist:
  1. AI Agent assigned
  2. Schedule configured — timezone plus at least one active day
  3. Contacts uploaded — at least one contact
  4. Number assigned to agent — the campaign’s AI agent has at least one phone number to call from; see Campaign Setup and Phone Numbers
  5. SAN configured — required when DNC scrubbing is enabled (the default); you can save it in Campaign account settings or give it to the Squawk Co-pilot to save for you. See Compliance & DNC
Asking the Squawk Co-pilot to launch a campaign runs the same checks first — agent, a phone number on the agent, calling window, SAN when scrubbing is on, account status and balance — and tells you what’s missing before it asks anything. A number you ask the Co-pilot to link ticks Number assigned to agent straight away, without a reload.

Compliance Attestation

Every launch shows a Confirm Compliance dialog. You must confirm you have the legal right to contact the recipients and that the campaign complies with applicable regulations, including the TCPA. When DNC scrubbing is enabled, the attestation also covers the SAN saved on your account. The attestation is recorded in the campaign’s audit trail. After launch you’ll see “Campaign launched successfully (run #N)” — or “Campaign queued — dialing starts …” if you launched outside the schedule window.

Runs

  • Each launch creates Run #N with immutable snapshots of the schedule, dialing settings, agent, and the agent’s phone numbers taken at launch time — so you can always see exactly what configuration a past run used, even after editing the campaign. The phone-number snapshot is a record only: the dialer reads the agent’s numbers on every dial, so adding or removing a number mid-run takes effect from the next dial.
  • Alongside those numbered runs, a campaign has at most one permanent on-demand run, created by the first on-demand API call. It is deliberately excluded from the Runs tab, from Live Monitoring and from campaign list statistics, so your CSV run reporting stays comparable. On-demand activity is reviewed from the campaign’s On-Demand Calls tab, and its calls appear in Call History like any other.
An on-demand run can dial at the same time as a CSV run, and it has first claim on the campaign’s concurrent-call budget. While on-demand traffic is flowing, a CSV run visibly dials fewer calls per tick, with nothing in the UI to explain the slowdown. Raise the campaign’s concurrency if both need to run hard at once.
  • Only one run can be active per campaign. Launching while a run is active returns “An active campaign run already exists.”
  • Pause suspends dialing (in-flight calls finish); Resume continues (after a low-balance pause, add funds first — see Troubleshooting); Stop ends the run — remaining contacts are skipped and the run stays on record for review.
  • Stopped and completed voice campaigns can be Relaunched, creating the next run against the current contact list and settings.

Live Monitoring Tab

The Live Monitoring tab is a real-time dashboard for the latest run. A pulsing green Live pill shows while the stream is connected; updates arrive within seconds of each dial event, with a Refresh button as backup.

Run overview

Run number and status, channel, a live banner with the number of active calls right now, and chips for the agent (from the run’s snapshot), schedule timezone, and start/end timestamps — rendered in the run’s schedule timezone.

Progress and KPIs

  • Progress — percent complete with processed / pending / total counts.
  • Pending — contacts not yet dialed or queued for their next attempt.
  • In progress — dials or live calls in flight.
  • Connected / completed — successful connects.
  • Failed — errors, invalid numbers, or carrier failures.

Campaign Dial Status buckets

A collapsible breakdown of every outcome and queue state. Voicemail, Wrong number and Callback requested are conversation outcomes the AI agent reports during the call; the rest are queue states set by the dialer.

How a campaign call ends

Every conversation outcome is recorded through the same end-of-conversation path, so it lands on the contact exactly once whether or not the agent says anything first. What the contact hears depends on the outcome:
Voicemail, Wrong number, DNC request and Callback requested are reserved outbound-campaign outcome names. They drive the campaign follow-up — rescheduling a callback, marking the contact, or adding it to your do-not-call list — so an agent’s own custom outcomes cannot reuse those names.

Contacts table

A filterable, per-contact view of the latest run: phone, caller ID used, dialing status, reason, attempt count, last attempt, retry time, average duration, outcome, and the consent columns. Filter by dial status, search within the page, sort by any column, and Export the full table to CSV (up to 50,000 rows per export). The export mirrors what you see: columns come out in the same order as the table on screen, with any custom fields from your contact list appended alphabetically. The reason column carries the same plain-English explanation shown in the table — “No voice-call consent”, “DNC registered”, “Missing PEWC” — including for contacts that were blocked before they were ever dialed. Downloads are named after the campaign and run, for example summer-outreach-run-3-contacts.csv. The Reason column shows a plain-English explanation of why a contact failed, is waiting, or was blocked — for example “No voice-call consent”, “DNC registered”, or “Missing PEWC” — and the same reason wording is used on the run detail page, so the two views always agree.

Per-contact drill-down

Click any contact to open its dial history drawer:
  • Every dial attempt with its call status, timing, duration, and caller ID.
  • The TCPA decision for each attempt — Call placed, Queued for later, or Blocked from dialing — with the reason.
  • The STIR/SHAKEN attestation the call received.
  • For answered calls: the conversation summary, full transcript with action logs, and the call recording with download.

Runs Tab

The Runs tab lists every run as a card: run number, status, launch-to-end timeline with duration, and problem-status counts — colored dots with counts for blocked, failed, wrong number, voicemail, no answer, and busy — so you can spot troubled runs without opening them. Clicking a run opens the run detail page: summary tiles (total contacts, dial attempts, average call duration), a by-call-status breakdown, the same searchable contacts table and drill-down drawer, and the run’s frozen Schedule, Dialing settings, and Caller ID snapshots. The Caller ID (snapshot) card shows Source as “Agent’s assigned numbers”, how many Numbers available the agent had at launch, and a View numbers (N) list. Runs launched when campaigns still called from outbound number pools keep their original pool details, with the pool’s name next to Source.

Compare Campaigns

From the campaigns list, click Compare and select 2–5 campaigns to see their latest runs side by side: total contacts, dial attempts, connect rate, conversion rate, average and longest durations, and outcome counts — with the best value in each row highlighted.

Troubleshooting

The Launch button is disabled.
  • Hover it — the checklist popover names the unmet gate. A warning icon next to it lists the exact actions (“Assign an AI agent”, “Assign a phone number to this agent”, …).
Launch fails with “Cannot launch campaign: every number assigned to this agent is pending release for non-payment…”
  • The agent has numbers, but each one has an unresolved payment failure, and a number pending release is never used as a caller ID. The checklist still counts these numbers, so Number assigned to agent can show as met. Resolve the payment issue (see When a Payment Fails) or assign another number to the agent.
The campaign shows Running, but no calls are going out.
  • Check that the campaign’s agent still has a usable phone number. The dialer reads the agent’s numbers on every dial, so if its last number was unassigned, or every number left is pending release for non-payment, the run stays active but places no calls, with nothing on screen saying why. Assign a number bought in the Studio to the agent and dialing resumes from the next dial — no relaunch needed.
The campaign paused itself.
  • Check the status badge tooltip. Schedule-window pauses resume automatically. For an insufficient-balance pause, a Manage billing shortcut appears in the header: add funds, then select Resume — the campaign doesn’t restart on its own. Resume is refused with “Campaign balance is still insufficient to resume. Add funds and try again.” while the balance is still short.
  • With Auto Top-up on and working, the dialer tops up the wallet and keeps dialing. With it off — or on but suspended (the billing page says “Auto top-up is temporarily suspended”) — the run pauses when the balance runs low. A call already in progress ends at the next minute if the balance can’t cover it; see Charges while a call is live.
Launch fails with “Insufficient wallet balance to launch this campaign. Add funds or enable auto top-up to continue.”
  • Your wallet balance is too low to start, and auto top-up is off or suspended. Add funds with Add more credits on Manage → Billing → Overview, or turn on Auto Top-up there, then launch again.
Contacts are stuck in “Blocked”.
  • Blocked is a compliance outcome, not an error — open the contact’s dial history to see the reason (no voice-call consent, missing PEWC, DNC registered, and so on). Fix the data and re-upload, or accept the suppression.
A launch returned “An active campaign run already exists.”
  • Stop the current run first, or Resume it if it is paused.

Where to go next

Compliance & DNC

What the TCPA decisions and block reasons mean.

Call History

Campaign calls also appear in Call History with Caller ID, To, and Direction columns.