The campaign wizard sends one email or SMS campaign to a list of contacts. You choose the channel, decide whether you write the message yourself or an AI agent writes one per contact, pick the recipients, set a schedule, and launch. Behind the scenes the wizard compiles your choices into an orchestration, so everything you can do with an orchestration — pause it, read its log, drill into per-recipient outcomes — works for a campaign too.
The images on this page are illustrations of the screens, drawn to match the labels described; screenshots of the live product replace them as they are captured.
Use it when you have something specific to say to a known audience: a promotion, an event invitation, a re-engagement nudge, a follow-up to an import. For an ongoing, AI-driven outbound program, an Email Strategy is the better fit; the wizard can also send through one.
agents:mail:manage permission. The seeded Admin and Manager roles have it; Member and Viewer do not, and will not see the entry points below.The wizard lives at one place, reached from wherever you happen to be:
| You are… | Do this |
|---|---|
| Anywhere | Agents → Workflows → Send Campaign, or the + New button in the top bar → Campaign |
| On CRM → Records → Contacts or Leads with rows selected | Click Send campaign in the selection bar. You are asked for a list name; the selection is saved as a list and the wizard opens on it |
| On CRM → Daily work → Lists | Click the megaphone icon on a row (Send campaign to this list), or open the list and click Send Campaign in its header |
| Just finished an import | On the Import Complete screen, click Send a campaign to this list |
| On Agents → Workflows → Orchestrations with no workflows yet | Click Send a campaign in the empty state |
| Reading a finished campaign's Recipients tab | Click a cohort action such as Follow up with clickers — the cohort becomes a list and the wizard opens on it (see Reading Campaign Results) |
Arriving from a list pre-fills the Recipients step; you can still change it.
The page is titled Send a campaign and shows a five-step indicator: Channel · Content · Recipients · Schedule · Review.
{{first_name}}. No AI is involved; every recipient gets the same message with their own values filled in.What you see depends on the choices in step 1.
If the list is empty, the wizard links to Create one with the mail wizard or Create an SMS agent first.
A message that could exceed 1,600 characters once tags are filled must be shortened; the wizard says so under the counter. Emoji or characters outside the basic GSM set switch the encoding, which drops the single-segment limit from 160 to 70 characters — the counter reflects this as you type.
Tags work in the subject, body, message, and follow-ups. Add a fallback after a pipe for contacts missing the field: {{first_name|there}} renders "there" when there is no first name.
| Tag | Fills with |
|---|---|
{{first_name}}, {{last_name}}, {{full_name}} |
The contact's name fields |
{{email}}, {{phone}} |
Their email address or phone number |
{{company}}, {{role}} |
Company and role / title |
{{address}}, {{linkedin_id}}, {{years_experience}} |
Address, LinkedIn, years of experience |
{{custom.<field>}} |
Any custom contact field you have defined — one chip per field |
Plain URLs you type into an email body become clickable links whose visible text is the URL itself; clicks on them are tracked when email tracking is on.
Add one or more follow-up messages that go out after a delay you set in days and hours, to contacts who have not responded. Each follow-up has its own subject and body (email) or message (SMS) and accepts the same tags. A follow-up is skipped for any contact who replied since the campaign started — see What happens after launch.
The step is headed Recipients — Pick a list, upload a file, or paste emails. Three tabs:
Click Next once a list is selected.
Under When should this campaign send? pick one:
| Option | What it does |
|---|---|
| Send now | Queues the campaign as soon as you launch it |
| Send once at a specific time | Pick a Date & time in your Timezone |
| Recurring | Daily, Weekly (choose Days of week), or Monthly (choose Day of month) at a Time of day |
| Metered | Walk through the list at a fixed pace, with optional hour/day caps and send-window restrictions |
| Manual only | Save it now; fire it later from the orchestration page |
Click Next.
The Review step lists everything in one place: Campaign, Channel, Content (Static content with tags or AI agent writes each message), Sender, Unsubscribe link (Appended / Not appended), SMS length (Single segment / Multi-part allowed), Follow-ups, Recipients with the contact count, and Schedule. Use Back to change anything.
Next is disabled on the Content step. Something required is missing: an email needs a subject, a body with text, and a sender; an SMS needs a message and a sending number. A multi-segment SMS also needs Multi-part allowed ticked, and a message that could exceed 1,600 characters must be shortened. Follow-ups need a delay greater than zero and their own content.
"No lists yet. Try uploading or pasting." Your workspace has no saved lists. Use the Upload or Paste emails tab, or import one first — see Importing Data.
Most recipients show as Suppressed. Check the reason in the row's Detail column. Opted-out and bounced contacts are skipped by design; if the whole list is suppressed, the list was probably built from contacts who unsubscribed from an earlier campaign.
An SMS row shows Skipped with a segment reason. The rendered message for that contact — after tags were filled — was longer than the campaign allows. Either enable multi-part or shorten the message and tag fallbacks.