Campaigns
Campaigns let you send bulk messages to a list of CRM contacts via WhatsApp, SMS, or voice. Each campaign targets a contact list, uses a messaging channel, and can be scheduled for a specific date and time.
Campaign Grid
The campaign grid lists all campaigns for the current tenant.
Filtering
| Filter | Description |
|---|---|
| Type | WhatsApp, SMS, or Voice |
| Status | Draft, Scheduled, Running, Paused, Completed, or Cancelled |
| Name | Search by campaign name |
Grid Columns
| Column | Description |
|---|---|
| Name | Campaign name |
| Type | Color-coded badge: WhatsApp (green), SMS (blue), or Voice (purple) |
| Status | Color-coded status: Running (green), Scheduled (blue), Paused (amber), Completed (gray), Cancelled (gray strikethrough) |
| Target List | The contact list this campaign targets |
| Channel | The messaging channel used for delivery |
| Progress | Sent count vs. target count with percentage |
| Scheduled At | When the campaign is scheduled to run |
| Created | When the campaign was created |
Creating and Editing Campaigns
Click Add to create a new campaign or the edit icon on any row to modify an existing one.
Common Fields
| Field | Description |
|---|---|
| Name | Required. A descriptive name for the campaign |
| Type | WhatsApp, SMS, or Voice. Controls which additional fields appear |
| Status | Draft, Scheduled, Running, Paused, Completed, or Cancelled. Defaults to Draft |
| Target List | The contact list to send to |
WhatsApp Fields
Visible when Type is set to WhatsApp:
| Field | Description |
|---|---|
| Channel | The messaging channel configured for WhatsApp delivery |
| Template | An approved WhatsApp message template |
SMS Fields
Visible when Type is set to SMS:
| Field | Description |
|---|---|
| Channel | The messaging channel configured for SMS delivery |
| Message Body | The text content of the SMS message |
Voice Fields
Visible when Type is set to Voice:
| Field | Description |
|---|---|
| Caller ID | The outbound caller ID number |
| Queue | The queue to route connected calls through |
| Max Concurrent | Maximum simultaneous outbound calls. Defaults to 1 |
| Max Retries | Number of retry attempts for failed calls. Defaults to 0 |
| Retry Delay | Seconds to wait between retries. Defaults to 60 |
| AMD Enabled | Enable answering machine detection |
| AMD Action | What to do when a machine is detected: hang up or leave voicemail |
Scheduling
All campaigns include scheduling fields:
| Field | Description |
|---|---|
| Timezone | Displayed above the date/time selectors. Uses the tenant timezone |
| Year / Month / Day / Hour / Minute | The scheduled send date and time, shown in the tenant timezone |
| Calling Hours Start | Earliest time of day to send (HH:MM format) |
| Calling Hours End | Latest time of day to send (HH:MM format) |
| Calling Hours Timezone | Timezone for the calling hours window |
Notes
An optional free-text field for internal notes about the campaign.
Campaign Members
Each campaign tracks delivery status per contact. The campaign members grid (accessible from the campaign detail view) shows:
| Column | Description |
|---|---|
| Contact | The contact name |
| Phone | Contact phone number |
| Contact email | |
| Status | Delivery status (pending, sent, delivered, failed, etc.) |
| Attempts | Number of delivery attempts |
| Sent At | When the message was sent |
| Delivered At | When delivery was confirmed |
| Disposition | Outcome code |
| Error | Error message if delivery failed |
Feature Flag
Campaigns require the campaigns_enabled flag to be enabled on the tenant. This is configured by the system administrator in the tenant settings.