WhatsApp.
WhatsApp is the phone-first delivery channel for P1 outages. Unlike Slack or Telegram, WhatsApp has strict messaging rules (template messages, 24-hour sessions, opt-in requirements) — we handle the compliance plumbing so you don't have to think about it.
What this is good for
WhatsApp is not a replacement for Slack or Telegram — it's a complement for specific cases:
- On-call phone alertswhen your team doesn't want SMS but wants something phone-native.
- Executive / stakeholder notificationsfor P1 incidents, where Slack exposure isn't appropriate.
- Agency client communication in markets where WhatsApp is the default business channel (common across MENA, LATAM, SEA).
We do not recommend WhatsApp for P2 / P3 alerts or for high-volume digest delivery — both because of delivery costs and because WhatsApp template-message pre-approval makes rapid iteration awkward.
Prerequisites
You need a WhatsApp Business Cloud API account connected to a verified phone number. We use Meta's official Cloud API — no third-party provider — so the setup is:
- A Meta Business account with a verified business profile
- A phone number registered with WhatsApp Business (can be the same number you use for customer support)
- Approved message templates (we pre-provide templates; you submit them in your Meta Business Manager for review)
Connect your account
- In Brily, go to Settings → Integrations → WhatsApp.
- Click Connect with Meta. You'll complete OAuth in Meta's flow and select the phone number to delegate sending to.
- Review and submit our pre-built message templates (listed below). Approval usually takes 1–24 hours.
Pre-built templates
WhatsApp Business requires every outbound-initiated message to use a pre-approved template. We provide three:
brily_alert_triggered
Category: UTILITY
Body:
🔴 {{1}} alert on {{2}}
{{3}} of {{4}} probes failing for {{5}}.
Last error: {{6}}
Open in Brily: {{7}}Variable mapping: severity · monitor name · failing probes · total probes · duration · error summary · deep link.
brily_alert_recovered
Category: UTILITY
Body:
🟢 Recovered: {{1}}
Back to healthy after {{2}} downtime.
View timeline: {{3}}brily_incident_update
Category: UTILITY
Body:
📢 {{1}} — {{2}}
{{3}}
Status page: {{4}}Variable mapping: state (Investigating / Identified / etc.) · incident title · update body · status page URL.
Add a destination
Under Settings → Integrations → WhatsApp → Destinations, add one or more recipient phone numbers. Each recipient must be opted in — required by WhatsApp policy and by GDPR.
Opt-in is collected via a confirmation message sent from your verified number: the recipient replies YES once, and their number becomes a valid destination. We log the opt-in timestamp for compliance evidence.
Create an alert route
Same as Slack / Telegram, but with a recommended constraint: only route P1 through WhatsApp. Use Severity = P1 as match criterion to enforce this.
- P1 → on-call engineer's WhatsApp · 24/7
- P1 → secondary on-call · 24/7 (escalate after 5 min)
The 24-hour session rule
WhatsApp distinguishes between template messages (initiated by your business) and session messages (replies that happen within 24 hours of a user reply). Our alerts always use template messages because we initiate them.
If a recipient replies to a Brily alert ("on it", "I'm driving, can someone else take this?"), we open a 24-hour session. During that session we can send follow-up updates as free-form messages without needing a template. After the window closes, we're back to templates.
Promote to incident, from WhatsApp
Reply /incident in the alert thread. The bot asks a single question in reply: "Publish on status page [name] as [severity]? Reply YES to confirm.". YES publishes; anything else cancels.
This flow is deliberately simpler than Slack's — no form, no multi-step modal — because WhatsApp UX penalises complexity. Advanced configuration stays in the dashboard.
Cost considerations
WhatsApp Business charges per conversation, not per message. Utility-category conversations (what Brily alerts use) are priced by Meta per-country and change periodically; expect roughly €0.04–€0.25 per conversation depending on recipient country.
Brily does not mark up the cost. Your invoice from Meta is separate from your Brily invoice — we just dispatch the message. Expect to spend low single-digits in EUR per month if you're using WhatsApp for on-call P1s; potentially more if you're sending to executive stakeholders during incidents.
Common issues
Template messages failing to deliver
Most common cause: the template hasn't been approved yet. Check its status in Meta Business Manager under Message Templates. Also verify the recipient number format is E.164 (e.g., +36301234567).
Recipient revoked opt-in
If a recipient replies STOP, we immediately mark their number as opted-out and surface this in the dashboard. They'll need to opt back in manually to receive further alerts.
Phone number not verified
Meta requires phone number verification (SMS or voice call) before WhatsApp Business can send on it. Complete verification in Meta Business Manager before attempting to connect.
Revoking access
In Brily: Settings → Integrations → WhatsApp → Disconnect. In Meta Business Manager: revoke the Brily app's access under System Users. Both steps are needed — Brily revocation stops dispatch; Meta revocation prevents re-use of the OAuth token.
Data handling
WhatsApp receives: the alert message body (interpolated into the template variables), recipient phone number, and a deep link back to Brily. Messages are end-to-end encrypted in transit per WhatsApp's architecture; Brily never sees replies beyond the opt-in or command replies you explicitly send. Meta's data-handling is governed by their WhatsApp Business terms.