Managing Campaigns

📦v1.0.0📅2026-04-28🔄Updated 2026-04-28👤Admin Team
user-guidemessage-centercampaignsfiltersstatus

Managing Campaigns

The Campaigns page is where you track campaigns after they have been approved and started. Campaigns in the New (pending moderation) state are not shown here — they appear in the Moderation queue.

campaigns_list.png


Campaign List

KPI bar

At the top of the list, five tiles give workspace-level statistics:

TileMeaning
Total campaignsAll campaigns ever created in this workspace
ActiveCurrently building, pending, sending, or paused
CompletedFinished with status Done
ErrorsFinished with status Failed
SMS SentTotal messages successfully delivered across all campaigns

Table columns

ColumnWhat it shows
IDThe external_id (UUID) — click to open the detail page
WorkspaceVisible in the Master workspace view — shows which workspace owns the campaign
StatusCurrent lifecycle status (see table below)
ModeOnDemand, OnTime, Spread, or Trigger
ProgressCompact bar showing sent vs total
SenderThe saddr name used for this campaign
StartScheduled start date/time (empty for OnDemand)
EndScheduled end date/time (Spread and Trigger only)
CreatedWhen the campaign was submitted
AuthorName or email of the user who created it

Click any row to open the Campaign Detail page.


Campaign Status Lifecycle

New ──(approve)──► Pending ──► Building ──► Sending ──► Done
     ──(reject)──► Cancelled
                                          ──► Paused ──► Sending
                                          ──► Failed
                                          ──► Expired
StatusDescription
NewJust created; waiting for moderator approval
BuildingCore is assembling the recipient list
PendingWaiting for the scheduled start time
SendingActively dispatching messages
PausedPaused (e.g. outside the daily sending window)
DoneAll messages processed — campaign complete
CancelledRejected by a moderator or manually cancelled
FailedEnded due to a system error
ExpiredThe time window passed before completion

Statuses Building, Pending, Sending, and Paused show a live animated badge. Terminal statuses (Done, Cancelled, Failed, Expired) show a static badge.


Filters

The left sidebar provides filters that apply instantly without a page reload:

  • Period — All time / Last hour / Last 24 h / Last 7 days / Last 30 days
  • Status — Multi-select any combination of statuses (with colored dots)
  • Mode — OnDemand, OnTime, Spread, Trigger
  • Search — Filter by campaign ID (UUID prefix) or sender name

Active filters are shown as chips above the table. Click the × on a chip to remove one filter, or click the red × button to clear all.


Sorting

Click the column headers Sender, Start, or Created to sort by that column. Click again to toggle ascending/descending.


Campaign Actions (list row)

ActionAppears whenWhat it does
Start buttonStatus is New AND moderation is Approved (auto-start was not enabled)Manually starts the campaign
Archive (⋯ menu)Status is in New, Done, Cancelled, Failed, or ExpiredMoves campaign to the Archive

Campaign Detail Page

Click any row (or the chevron) to open the detail page for a campaign. The detail page has five tabs:

Overview tab

campaign_detail_overview_tab.png

Shows a summary panel with:

  • Status, mode, sender, creation time, author
  • Delivery progress: sent / total / errors
  • Daily activity chart (messages sent per day)
  • State history table with workflow lifecycle events (phase, reason, timestamp)

For active campaigns (Sending) this tab updates automatically via polling.

Recipients tab

campaign_detail_recipients_tab.png

Shows the full recipient list with delivery status. Columns: Recipient, Stage, Channel (ESME), Filter, Delivered, Sys. Info (SMPP result code), SMSID, Created, Sent time, Error.

Filters available:

  • Status — New / Sending / Delivered / Failed
  • SMS Result — Delivered / Failed / Unknown
  • SMPP code — Filter by specific SMPP result (DELIVRD, UNDELIV, EXPIRED, etc.)
  • Include null SMPP — Show recipients that have not yet received a delivery report

Phone numbers are shown in partial form (ctn_hash privacy) — only the last digits are visible unless your role has explicit access.

Errors tab

Two sub-tabs:

Sub-tabWhat it shows
JobWorkflow / infrastructure errors from core (e.g. file parsing failures, retry exhaustion)
MessagesDelivery-level errors — recipients where sms_result = 'failed' (carrier rejected or undeliverable)

The tab badge combines both error types: (job errors) + max(delivery errors).

Do not use Status = Failed to find delivery errors — use SMS Result = Failed instead. A recipient can have Stage = Delivered (SMPP submitted OK) yet SMS Result = Failed (carrier could not deliver). These are distinct states.

Export tab

Export the recipient list as CSV or TXT. Click Create export, choose format, and wait for the export to complete (status: Queued → Running → Done). Then click Download.

Exports expire after a short time — if the download link shows Expired, create a new export.

Audit tab

campaign_detail_audit_tab.png

Full audit trail for this specific campaign: who created it, who approved/rejected it, any notes from the moderator, and all subsequent changes. See Glossary for audit action definitions.


Archive

Campaigns with status New, Done, Cancelled, Failed, or Expired can be archived from the list (⋯ menu) or from the detail page action bar.

Archived campaigns are hidden from the main list and accessible only from the Archive workspace. They can be restored.


Next Steps