Skip to main content
Docs/Campaign operations

Campaigns

For the business owner or manager running outbound calling campaigns — setting up who gets called, when, and how.

A campaign uses one agent to call a selected contact list. Before each attempt, CallOps checks consent, suppression, schedule, account, and retry settings.

Everything below happens under Campaigns in the left-hand menu.


What a campaign is

A campaign is a saved set of instructions:

  • Which agent makes the calls.
  • Which contacts to call (your audience).
  • When it's allowed to dial (calling window + days).
  • How persistent to be (retries, attempts, how many calls at once).
  • What consent each contact must have before they can be dialed.

Once you launch it, the platform works down the list automatically, applies its configured per-contact gates, retries eligible no-answers, and stops on its own when the list is done.


Creating a campaign

From Campaigns, click New campaign. You'll go through a 4-step wizard. At the end you get a draft. In practice mode, create and review it.

Step 1 — Basics

  1. Give the campaign a name you'll recognize later (for example, "CHAMPS Chicago 2026 follow-up").
  2. Pick the agent that will make the calls, from your list of agents.
  3. Click Continue.

Step 2 — Audience

Choose who gets called. You filter your contacts three ways, and you can combine them:

Filter How it works
Tags Include contacts that have any of the tags you pick.
Sources Include contacts from any of the sources you pick (e.g. where they came from).
Consent statuses Include only contacts at the consent levels you pick. Leave it empty to include every consent level.

Click Preview audience size to see how many contacts match before you commit. You'll see a live count like "142 contacts match."

The campaign excludes contacts below the required consent level before dialing.

Click Continue.

Step 3 — Schedule & retries

This is where you set the calling rules.

Calling window (contact-local). Set a Window start and Window end — the earliest and latest times of day a contact can be called. These times are read in each contact's own local time, not yours. A 9:00 AM–8:00 PM window means a contact in New York gets called on New York time and a contact in Los Angeles gets called on LA time — automatically. The default is 09:00 to 20:00.

CallOps clamps campaign windows to 8:00 AM–9:00 PM in each contact's recorded local time. Set a narrower window when your campaign requires it.

Days of week. Pick which days the campaign is allowed to dial. Tap the day buttons to toggle them on and off. The default is Monday through Friday. On a day that isn't selected, nobody gets called.

Max attempts. How many times the platform will try a single contact before giving up on them. Default is 3. (Range: 1 to 10.)

Retry after (hours). After a no-answer, voicemail, or safely retryable failed call, how long to wait before trying that contact again. Default is 24 hours. (Range: 1 to 336 hours — that's up to two weeks.)

Explicit declines, answered calls, and permanent carrier rejections are terminal. Retryable no-answer, voicemail, and failed attempts follow the campaign retry settings.

Calls that need review remain paused until their status is confirmed.

Concurrent calls cap. The most calls the campaign will run at the same time. A higher number drains your list faster but is more intense; a lower number is gentler and steadier. Default is 3. (Range: 1 to 50.)

Required consent level. Choose the minimum recorded consent level for the campaign:

Option Choose this when…
Prior express written consent (marketing calls) The campaign is promotional/marketing — offers, promotions, sales outreach. This is the stricter bar.
Express consent (informational calls) The campaign is purely informational — appointment reminders, order updates, account notices.

In plain terms: Prior express written consent means the person signed or clicked something specifically agreeing to receive marketing calls from you. Express consent is a lighter bar — they gave you their number knowing you'd contact them, which is enough for non-marketing, informational calls but not for marketing.

A contact who has prior express written consent can be dialed by either type of campaign. A contact who only has express consent can be dialed by an informational campaign but not a marketing one. Contacts with no consent, do-not-call, or opted-out status are never dialed by either.

Click Continue.

Step 4 — Review

Check the summary — name, agent, audience, window, days, retry settings, and required consent. If it all looks right, click Create draft campaign.

Your campaign now exists as a draft. It is not calling anyone yet. The compliance checklist comes next, at launch.


The pre-launch compliance checklist

Before a campaign can dial, complete the five-item campaign certification and type your full legal name. CallOps records the signer, timestamp, attestation version, and statements.

On the campaign page, click Compliance checklist. You must truthfully check all five boxes and type your full legal name; you can't launch until you do:

Certification statement Operator action
Every contact gave you prior express written consent, and you can produce the evidence. Keep the underlying consent record.
The list has been checked against your do-not-call list. Confirm suppressed contacts are excluded.
Where no exemption applies, you performed the required federal and state Do-Not-Call registry scrubs yourself. Complete required registry checks before signing.
AI disclosure is enabled on the agent making these calls. Leave disclosure enabled on the selected agent.
You accept responsibility for this campaign's compliance per the Terms of Service. Review the Terms before signing.

Type your full legal name and click Sign and certify. The Launch campaign button appears after certification.

In practice mode, review the checklist and leave the campaign as a draft.

The campaign certification requires prior express written consent for every contact. Launch only lists that meet it.


Launching, pausing, and completing

On the campaign page:

  • Launch campaign — appears on a draft after the five-item certification is signed. If your plan's concurrent-campaign limit is full, pause or finish another campaign first.
  • Pause — appears while a campaign is running. Stops new calls from going out. Calls already in progress finish normally. You can resume anytime.
  • Resume — appears on a paused campaign (the button reads Resume). Picks up right where it left off; you don't redo the checklist.
  • Completed — happens automatically. When every contact has reached a final state (called, excluded, or exhausted its attempts), the campaign marks itself complete. There's nothing for you to click.

You can watch progress from the Campaigns list, where each row shows a status badge and a "X/Y contacts" progress count.


Why a campaign auto-pauses — and what to do

A running campaign pauses when an operating requirement blocks the next attempt. Here's each reason and the fix:

Reason What happened What to do
Wallet low Your prepaid balance dropped below the safety threshold, so dialing stopped before you'd run out mid-call. Fund your balance under Billing, then Resume the campaign.
Numbers exhausted Every phone number on your account has hit its daily dialing cap, so there's no number left to dial from today. Wait for the daily reset, or add more phone numbers under Settings → Numbers. Then Resume.
Suspended Your account is in a suspended state and can't place calls. Check Billing and account status, or contact support. Resolve the hold, then Resume.
Agent missing The agent this campaign uses was deleted, deactivated, or is otherwise unavailable. Reactivate the agent (or its replacement) under Agents, then Resume.
Connection error The campaign paused after repeated connection failures. Check your calling setup, then resume when ready.

In every case, fix the underlying issue and click Resume — you keep all your progress and your compliance acknowledgment.


Watching a campaign run live

The campaign page

While a campaign runs, its page refreshes on its own every few seconds. At the top you'll see counters:

  • Total — everyone in the campaign.
  • Pending — waiting for their turn (or their next retry).
  • Calling — being dialed right now.
  • Completed — reached and finished.
  • Excluded — set aside and never called (see reasons below).
  • Max attempts — tried the maximum number of times without success.

Below that, an Outcomes panel summarizes how calls ended, and a Contacts table lists each person with their consent, current status, attempts so far, last outcome, and either their next retry time or the reason they were excluded. You can also click Contacts CSV to download the full list.

The Wallboard

Click Wallboard on the campaign page for a big-screen, glanceable view — perfect for a TV in the office. It refreshes every couple of seconds and shows:

  • A status indicator: Practice running or Dialing live.
  • Four big counters: Active, Completed, Booked, and Opted-out / failed.
  • A Status breakdown donut chart.
  • A Latest outcomes feed of the most recent calls as they land.

Understanding campaign contact statuses

Every contact in a campaign carries a status. Here's what each one means:

Status Meaning
Pending In line to be called — either hasn't been tried yet, or is waiting for its next retry time.
Queued Handed off and about to be dialed.
Calling On a live call right now.
Completed Successfully reached and the call finished.
Excluded Set aside and never called, for a specific reason (see below).
Max attempts Tried the maximum number of times you allowed, without a successful connection. The platform stops trying this person.

Why a contact gets excluded. When you see "excluded," hover or check the reason column. Common reasons:

Reason What it means
No consent recorded CallOps blocks the row because no consent evidence is recorded.
Written consent required This campaign requires prior express written consent.
Do not call The contact is marked do-not-call or appears on your do-not-call list.
Opted out The contact opted out of calls.

You may also see temporary skip notes rather than exclusions. Add the contact’s time zone when the reason is Time zone missing. Connection errors are retried automatically.

Review the recorded exclusion reason before changing the contact or campaign.


Related: Getting started · Analytics & reporting · Billing & wallet · Building your agents