Launch a coordinated outreach to a contact group using a flow you've built — email, SMS, voice, or a combination.
How to create a campaign#
A campaign ties three things together:
- Who you're reaching → a contact group.
- What happens to them → a flow — the step-by-step playbook of messages and decisions.
- When it runs → a schedule (one-off start date, or ongoing within a sending window).
The campaign wizard walks you through all three in five short steps.
Before you start#
- The audience you want to reach should already exist as a contact group. If it doesn't, create one first — it takes two minutes.
- The flow that defines the messages should already be built and tested. If you don't have one yet, follow the flow builder guide first.
- For voice or SMS campaigns, make sure your AI voice settings and sender numbers are configured under Settings → AI Voice and Settings → Communications.
1. Start a new campaign#
- In the sidebar, click Campaigns.
- Click New campaign in the top-right corner. The wizard opens with a 5-step indicator at the top: Name → Audience → Flow → Schedule → Review.
2. Name your campaign#
Give the campaign a clear name that tells you, at a glance, what it does and when it ran.
Good examples:
- Overdue 30+ — Q2 push
- New customer welcome — May 2026
- VIP renewal nudges — June
A short description is optional but useful if a teammate ever needs to figure out what you intended.
Click Continue.
3. Choose your audience#
The Audience step is where you pick the who.
- Choose a saved contact group from the dropdown, OR build a one-off rule set directly here.
- The Estimated reach panel on the right shows the live count of contacts the campaign will touch.
- Optionally, exclude contacts who are already in another active campaign, or who have opted out, by ticking the exclusion checkboxes.
If the reach count looks wrong, jump back into the contact group and re-check the rules before continuing.
Click Continue.
4. Pick or build a flow#
The Flow step is the what.
You have three options:
- Use a saved flow — pick one you've already built.
- Start from a template — DebtOps ships pre-built templates (e.g. 3-step overdue reminder, Friendly welcome series) that you can tweak.
- Build a new flow from scratch — opens the flow builder. When you save, you come back here with the new flow attached.
The card for each flow shows its channels (email/SMS/voice icons), step count, and last edit time. Click Preview to walk through the flow before committing.
Click Continue.
5. Set the schedule#
The Schedule step is the when.
- Start date — when the first contact enters the flow. Defaults to "as soon as I launch".
- End date — optional cap on when new contacts can enter the flow. Existing contacts continue through their remaining steps even after this date.
- Sending window — the hours of day and days of week when messages are allowed to go out. Defaults to weekdays 9 AM – 5 PM in the contact's timezone. Stick to business hours unless you have a specific reason not to.
- Daily send cap — optional ceiling on how many contacts can be touched per day. Useful for warming up a new sender, or staying under provider rate limits.
Click Continue.
6. Review and launch#
The Review step is your last chance to catch mistakes. You'll see:
- Campaign name and description.
- Audience size and which group(s) feed it.
- The flow, with channel icons and step count.
- The schedule and any caps.
- A pre-flight checklist — green ticks mean DebtOps thinks you're good to go; amber/red flags surface specific problems (e.g. missing sender domain, no voice number configured, audience is 0).
You have two final choices:
- Save as draft — keeps everything but doesn't start sending. Useful if you're waiting on approval.
- Launch campaign — confirms and starts. The first eligible contacts enter the flow on the next tick (usually within a minute).
Campaign statuses#
| Status | What it means |
|---|---|
| Draft | Still being built. Nothing has been sent. |
| Scheduled | Launched and checked, waiting for its start date. |
| Active | Running: enrolling contacts and sending. |
| Paused | You stopped it temporarily. Contacts hold where they are until you resume. |
| Completed | It reached its end date and finished on its own. Contacts already mid-flow finish their journey. |
| Stopped | You ended it early. Everyone still in the flow was stopped where they were. |
Completed vs Stopped: completed means the campaign ran its course; stopped means a person ended it. Archiving is separate from all of these — it just hides a campaign from your list and can be undone.
After launch#
From the campaign detail page you can:
- Pause — stops new sends; in-flight contacts pause where they are. Resume any time.
- Resume — picks back up from where it paused.
- Stop campaign — ends it for good, right now. Contacts part-way through the flow won't get their remaining messages, and a stopped campaign can't be restarted — duplicate it instead. Use sparingly.
- Archive — files the campaign away so it drops out of your list. Nothing stops or changes; the campaign keeps whatever status it had. Switch to the Archived tab to find it again and put it back.
- Duplicate — clone the entire setup as a new draft. Great for monthly repeats.
- View live stats: how many contacts have been reached, replied, paid, opted out, errored.
Editing a campaign after creation#
Open the campaign and click Edit Campaign in the three-dot menu. You can change the name, description, tags, contact group, and the assigned flow from one place.
Changing or unassigning the flow#
In the Flow card on the edit panel:
- Change flow — opens a picker with all your saved flows and library templates. Pick one and click Assign flow — it replaces the campaign's current flow.
- Unassign — detaches the flow entirely. The campaign keeps everything else (audience, schedule, name) but cannot launch until you assign a new flow.
- Edit (pencil icon) — opens the currently assigned flow in the flow builder for tweaks.
Don't forget to click Save at the top of the edit panel — your flow change isn't applied until you save.
Which campaigns can have their flow edited?#
| Status | Can edit flow? |
|---|---|
| Draft | Yes |
| Scheduled | Yes |
| Paused | Yes |
| Active | No — pause the campaign first |
| Completed / Stopped | No — the campaign is finished |
Changing the flow on an active campaign is blocked because contacts already in the middle of the old flow would have no clear path through the new one. Pause first, edit, then resume.
Common gotchas#
- Audience is 0 — usually means the contact group's rules don't match anyone right now. Open the group and check.
- Launch button greyed out — the pre-flight checklist has unresolved red flags. Click each flag for the exact fix.
- Voice/SMS not sending — make sure your provider credentials are saved under Integrations and the sender number is approved.
- Contacts skipped — a contact is skipped if they're on the do-not-contact list, already in another active campaign of the same channel (when exclusions are on), or unreachable on the chosen channel (e.g. no phone number for an SMS campaign).
What's next?#
- See how to create a contact group if your audience isn't grouped yet.
- See how to create a flow if you need a new playbook for the campaign to use.