WhatsApp Cloud API for WHMCS: 90% Open Rates for Renewal Notifications
How to wire Meta's official WhatsApp Cloud API into WHMCS for transactional notifications that customers actually read - invoices, OTP codes, renewal reminders, support replies.
If you sell hosting in a market outside the US, WhatsApp open rates make every other channel look broken. India, Brazil, most of Africa, Southeast Asia, Latin America, the Middle East - WhatsApp is where transactional messages actually get read. Meta's Cloud API (launched 2022, mature in 2026) makes building this into WHMCS surprisingly cheap.
→ WhatsApp inside your WHMCS install
Our WhatsApp Cloud Module wires Meta's first-party API directly into WHMCS - invoices, OTP, support, broadcasts. No middleman BSP, no per-message markup, free for the first 1,000 conversations every month.
Why WhatsApp Cloud API specifically
Before 2022, integrating WhatsApp required going through a Business Solution Provider (BSP) - Twilio, MessageBird, 360dialog, others. The BSP took a cut on every message (typically $0.005-0.02 each), provided their own SDK, and frequently injected their branding into the conversation flow.
Meta's Cloud API changed this. It's a direct first-party HTTP API, free for the first 1,000 conversations/month (a "conversation" = 24h sliding window of messages with one user), and pay-as-you-go beyond that at wholesale rates ($0.005-0.07 per conversation depending on country and conversation type).
What you'll send
Transactional first, marketing later. The standard set:
- Invoice issued. Amount, due date, one-tap pay button
- Payment received. Receipt confirmation with the invoice PDF as media attachment
- OTP login codes. Faster and cheaper than SMS, especially in regions where SMS delivery is unreliable
- Service suspended. Reason + steps to restore
- Ticket reply. Notify customer that staff has responded, with a link to the thread
- Imminent renewal (T-3 days, T-1 day). Gentle nudge with a renewal button
Approved templates - the mandatory step
WhatsApp doesn't let you send arbitrary messages to customers. Every "template" (think: every transactional message type) must be pre-approved by Meta. Submit a template, Meta reviews it (usually 10 minutes to a few hours), it becomes available.
Approval criteria: not spammy, not misleading, no all-caps marketing language, no promises about uptime guarantees you can't prove. Once approved, you can send that template to verified customers any time.
Variables in templates (like "Hi {1}, your invoice {2} for {3} is due {4}") let you reuse one template for thousands of personalised messages.
Customer opt-in is mandatory
Meta requires explicit opt-in. The flow:
- In the client area, customer enters a phone number
- You send a verification code via WhatsApp (this is allowed even before opt-in for the verification flow itself)
- Customer enters the code, confirming both ownership of the number AND consent to receive future messages
- From now on, transactional WhatsApp is enabled for that customer
The opt-in tick is what Meta requires you to keep on file. Build it into the linking flow, log it, never spam customers who haven't opted in.
Setup walkthrough
1. Create a Meta Business app. At developers.facebook.com, create a new app, add WhatsApp as a product. Free, no credit card required for the first 1,000 conversations.
2. Add a phone number. Either port your existing business number to WhatsApp Cloud (one-time process) or get a test number from Meta. Verify ownership via SMS or voice call.
3. Submit message templates. Submit the templates you'll use: invoice_issued, payment_received, otp_code, ticket_reply, renewal_reminder. Wait for Meta approval.
4. Set the webhook URL. Tell Meta where to POST incoming messages. Verify the URL by responding to Meta's hub.challenge GET request once.
The whole setup takes 1-2 hours if you've never done it; the longest single step is waiting for template approval.
OTP via WhatsApp - the unsexy big win
If you offer two-factor auth on customer accounts, switching from SMS to WhatsApp OTP improves three metrics:
- Cost. SMS to India is ~$0.05/message. WhatsApp utility-conversation cost is ~$0.005-0.01.
- Delivery rate. SMS in some regions has 70-80% delivery. WhatsApp consistently lands 99%+.
- Speed. SMS can take 30-60 seconds in some carriers. WhatsApp typically arrives in under 5 seconds.
Many hosting businesses have moved to WhatsApp-first OTP with SMS as a fallback. The savings on a 5,000-customer base are several thousand dollars a year.
Conversation pricing - read this carefully
Meta's pricing isn't per-message; it's per "conversation" (24-hour window of messages with a specific user). Four categories:
- Service. Customer messages you first. Free.
- Utility. You initiate transactional message (invoice, OTP, receipt). $0.005-0.04 per conversation depending on country.
- Authentication. OTP / 2FA. $0.005-0.06.
- Marketing. Promotional broadcasts. $0.01-0.07. Heavily moderated.
Stay in the Service + Utility lanes for hosting transactional needs; Marketing is best left for proper announcements (planned maintenance, new product launch).
Inbound - when customers reply
Customers WILL reply to your messages. Route inbound replies into a WHMCS ticket automatically - never let them disappear. Best practice:
- If the customer is linked to a WHMCS account: open or append to a ticket on that account
- If not linked: open an "Anonymous WhatsApp" ticket department and queue for staff triage
- Conversations stay visible to support staff in the WHMCS ticket UI, with WhatsApp as the response channel
Multi-agent inbox vs WhatsApp Business app
Don't use the WhatsApp Business app for support - it's single-device-only and your staff will fight over the phone. The Cloud API supports multiple admin users at the same time, with all replies routed through WHMCS. That's the production-grade pattern.
Wrap-up
For any hosting business with a customer base outside the US, WhatsApp is no longer optional - it's where customers expect transactional communication to arrive. The Cloud API makes it practical without paying a third-party BSP.
If you want to skip the API integration phase, our WhatsApp Cloud Module handles every step in this guide: template manager, opt-in flow, webhook handler, ticket routing, conversation log, cost tracking.
Tagged with: