AltScore
Campaigns

Campaigns

Campaigns are bulk sends: you pick a channel connector, choose the message (an approved WhatsApp template or a custom email), load a list of recipients with their variable values, and send to everyone at once. Each recipient's reply is routed into a conversational flow you choose, so the campaign is not just a blast — it is the entry point of a conversation.

The list view shows every campaign with its delivery metrics; the detail view shows the configuration, the recipient table with per-recipient status, and the send action.

Creating a Campaign

Configuration Fields

FieldDescription
NameDisplay name of the campaign
ChannelWhatsApp or Email — locked after creation
ConnectorThe channel connector that sends the messages (a WhatsApp number or an email inbox) — locked after creation
Template (WhatsApp)An approved template pulled from the connector; its variables and examples load automatically
Subject and Body (Email)Free-text subject and HTML body; {{placeholder}} tokens become variables
Target FlowThe conversational flow that handles recipient replies

Variables

You do not map variables manually. For WhatsApp, they come from the template definition; for email, they are parsed from {{placeholder}} tokens in the subject and body. The extracted variable names become the column headers your recipient file must provide.

Adding Recipients

File Upload

Upload an .xlsx, .xls, or .csv file. The required columns are:

  • phone (WhatsApp) or email (Email) — the destination
  • One column per template variable, matching the variable name exactly
  • metadata (optional) — a JSON object attached to the recipient

You can download a pre-built CSV template from the campaign with the correct headers and an example row. After upload, the file is validated in real time; validation errors are reported per row (up to 40 shown).

Manual Entry

Add recipients row by row in the UI: destination, one field per variable, and an optional metadata JSON field. Invalid JSON in the metadata field blocks the row from being added.

Sending

The Send action delivers the message to every recipient still in pending status. Sending is immediate — there is no scheduler and no separate test send. The Send button is disabled when there are no pending recipients.

Lifecycle and Statuses

Campaign Statuses

StatusMeaning
draftConfigured but not sent; still editable
sendingSend in progress
sentAll messages were sent
partialSome messages sent, some failed
failedThe send operation failed

Recipient Statuses

StatusMeaning
pendingWaiting to be sent
sentHanded off to the provider
deliveredDelivered to the recipient
readRead by the recipient (WhatsApp only)
failedSend or delivery failed, with the error message
respondedThe recipient replied

Actions

ActionAvailability
EditDraft campaigns only
SendWhen there are pending recipients
Add RecipientsAny time before/between sends
ReuseDuplicates the campaign as a new draft
DeleteRemoves the campaign

Metrics

The campaign list shows aggregate counters per campaign: total recipients, sent, delivered, read, and responded. The detail view breaks this down per recipient, including the first response text when the recipient replied.

Gotchas

  • Channel and connector are locked after creation. To send through a different number or inbox, reuse the campaign as a new draft.
  • Variable columns must match by name. The file's headers must match the template's variable names exactly — download the CSV template to get them right.
  • Read receipts are WhatsApp-only. Email campaigns will not show read status.
  • All replies land in one flow. Every recipient response is routed to the campaign's target flow; there is no per-recipient routing.
  • WhatsApp templates must be approved. The template picker only offers templates already approved on the connector's WhatsApp account.

On this page