Skip to main content

Campaign Runs

A campaign run is a single execution of a campaign. Messages belong to a run — not directly to the campaign — so a campaign can be sent many times, each time as a separate run with its own messages, status, and history. This page explains what a run is, how runs are created and duplicated, and the runs list.

What a Run Is

When a run is created, it takes a snapshot of the parent campaign and stores everything it needs to send independently:

  • The template, including the sender (for SMS under Sender Selection, the chosen phone number or alpha sender ID)
  • The column mappings
  • The messages / contacts

Because the run holds its own snapshot, editing the campaign afterwards does not change runs that already exist. This keeps every send reproducible and means historical runs always reflect what was actually sent.

Messages are created per run

Messages are created as soon as a run is created — not when the campaign is saved, and not when the run is scheduled or started. A campaign with no runs has no messages.

The Runs List

Opening a campaign shows its runs. Each row includes:

ColumnDescription
Run NameThe run's own name
Run DescriptionThe run's own description
MessagesThe number of messages in the run
StatusThe run's current status
CreatedWhen the run was created
Created ByThe user who created the run, or System Scheduled for automatically created runs
CompletedWhen the run finished (or - if not complete)

A New Campaign Run button creates a run, and each row has an action menu whose options depend on the run's status.

Run Statuses

Runs move through a richer set of states than the campaign itself — Preparing, Scheduled, Ready to Run, Warming Up, In Progress, Complete, Some Errors, Setup Failed, and, for email, Active Retries. Each one is defined, with the state transitions between them, in Run Statuses.

How Runs Are Created

There are three ways a run comes into existence:

Manually, from the campaign

Click New Campaign Run on the campaign. A modal asks for:

  • Name — the run's own name, so runs of the same campaign can be told apart (e.g. "Q2 Follow-up - May 2026").
  • Description (optional) — context for this specific run.

It also shows a preview of the template that will be sent (sender, subject, body, and any attachments for email). After creating the run from the campaign page, you are taken straight to the new run so you can review it and choose to start it now or later.

The run is created in Preparing while its messages are generated, then moves to Ready to Run.

An unavailable sender does not block run creation

Under Sender Selection, a run can be created whether or not its sender is currently available. The sender is never checked at creation — it is checked twice around starting instead, once when start is clicked and again when sending is due to begin — so a temporary sender problem never stops you preparing work. See Sender validation.

Automatically, on a Repeat schedule

When a campaign has a Repeat schedule, runs are created and started automatically at each occurrence. Automatic runs:

  • Are named {Campaign Name} - Run and inherit the campaign's description, so they are identifiable without any manual input.
  • Show System Scheduled as the creator rather than a user, so scheduled sends can be told apart from manual ones.
  • Respect the campaign's selected timezone (for both Repeat schedules and "send later" runs).

An automatic run is created as normal even if the campaign's sender is no longer available. If the sender is still missing when sending is due to begin, the run moves to Setup Failed and an email is sent to the campaign owner, so a broken schedule never fails silently.

By duplicating an existing run

You can duplicate a past run to send again using that run's snapshot — its template and values — rather than the current campaign state. This is useful for repeating a previous send exactly, even if the campaign has since been edited.

When you duplicate a run you are prompted for a name (required) and a description, defaulted to {Campaign Name} - Run Copy and the campaign's description, so the copy is identifiable without extra effort. You can review the template and values before confirming. The new run is created from the source run's snapshot.

The Run Detail View

Opening a run shows its progress and messages:

  • A progress panel with grouped count panels (Total, Queued / Sending, Sent / Delivered, Failed / Opted Out) and a progress bar. It can be collapsed, and a Refresh button pulls the latest status.
  • A messages table listing every message with its recipient, last change, status, priority, mapped variable values, and date. You can search, filter, sort, retry failures, and export.

See Monitoring and Messages for the full detail view, and Starting a Run for starting a run.

Message Priority

Messages within a run are Normal (default) or High priority. Priority is set per contact by a column in the contact file that you map on the Add Contacts step, not by anything on the run itself. When a run starts, its high-priority messages are dispatched ahead of normal-priority messages in other active runs, so urgent sends are not held back.

See Message Priorities for how priority is set, what it does and does not change, and how to filter, sort, and export a run's messages by priority.

Cancelling Runs

  • A run in Scheduled can be cancelled. It reverts to Ready to Run rather than being deleted, so the prepared run is kept and can be started manually later.
  • A run in Warming Up can be cancelled, returning it to Ready to Run with no messages sent, so a mistake caught early costs nothing.

Next Steps