Broadcasts & Campaigns
Broadcasts let you send a WhatsApp template message to multiple contacts at once. They’re perfect for promotions, announcements, order updates, and re-engagement campaigns.Creating a Broadcast
- Go to Broadcasts → Create Broadcast
- Configure the broadcast:
| Field | Description |
|---|---|
| Name | Internal reference name |
| Template | A pre-approved Meta template |
| Target Tags | Send to all contacts with these tags |
| Schedule | Send now, save as draft, or schedule for a future time |
- Click Preview Recipients to see the first 10 matching contacts and total count
- Confirm and click Send
Recipient Targeting
Broadcasts target contacts by tags. All contacts matching any of the selected tags will receive the broadcast (OR logic). Only contacts with:optedIn: true- Active status (not deleted)
Scheduling
| Option | Behavior |
|---|---|
| Send Now | Starts immediately |
| Draft | Saved, not sent. Edit and send later. |
| Scheduled | Queued for a specific date + time (timezone shown) |
Delivery Stats
After a broadcast completes, you’ll see a delivery funnel:| Metric | Description |
|---|---|
| Total Sent | Number of messages dispatched |
| Delivered | Confirmed delivered to device |
| Read | Opened by the recipient |
| Failed | Could not be delivered |
Frequency Cap
To prevent spam, Kaanha AI enforces a frequency cap:- MARKETING category templates: max 1 per contact per 24 hours
- UTILITY and AUTHENTICATION templates: no cap
Drip Campaigns (Sequences)
Sequences are automated multi-step message flows triggered by contact events.Creating a Sequence
- Go to Sequences → Create Sequence
- Configure:
- Trigger:
tag_added,contact_created, ormanual - Steps: Add message steps with delay between each
- Trigger:
- Save and activate
Step Types
| Step | Description |
|---|---|
| Message | Send a template to the contact |
| Delay | Wait N hours/days before the next step |
| Condition | Branch based on contact tag or message status |
Condition Branches
Condition steps have If Yes and If No paths:Enrollment
Contacts are enrolled in a sequence via:- Manual enrollment: Contacts → [Contact] → Enroll in Sequence
- API:
POST /api/sequences/enroll - Automatic: when trigger condition is met