Dashboard
Account health and sending activity
Number health
Recent campaigns
WhatsApp numbers
No numbers yet. Click Connect a number to scan a QR code.
Contacts
| Name | Phone | Tags | Fields |
|---|
No contacts yet. Import a spreadsheet or add one manually.
Import contacts
First column (or a phone header) is the number. Any other
columns become fields you can use as {{placeholders}} in campaigns.
Add contact
Groups
Groups your connected number belongs to
Posting in a group is much safer than DMing its members. One post reaches
everyone at once, while mass-DMing a scraped member list — people who never
opted in to hearing from you — is a common cause of number bans.
| Group | Members | Can post |
|---|
No groups found. Connect a number that belongs to at least one group.
Campaigns
No campaigns yet. Create one to message a group of contacts.
New campaign
Contacts who opted out are removed automatically. To message groups instead, pick them in the Groups tab.
{a|b} picks a random variant per recipient — this is what stops
bulk sends looking identical. {{field}} pulls from contact data.
Send a message
Recent messages
| When | Dir | Peer | Body | Status |
|---|
API keys
| Name | Prefix | Last used | Created |
|---|
Use with any HTTP client:
curl -X POST /api/messages \
-H "x-api-key: wak_live_..." \
-H "Content-Type: application/json" \
-d '{"to":"919876543210","body":"Hello from API"}'
Webhooks
Incoming messages will POST to your URL with an X-Webhook-Signature header (HMAC-SHA256).
| URL | Events | Active |
|---|
All teams
| Name | Slug | Plan | Status | Daily cap | Created |
|---|