When something happens in your system (a booking, a payment, a dispatch, a token being called), your customer hears about it on WhatsApp within seconds, using an approved template and with every delivery tracked.
payment.receivedpayment_confirmationWe have received your payment of ₹2,450 for order #10482. Thank you, Arjun.
order.dispatchedorder_updateYour order #10482 has been dispatched and should reach you by Fri 11 Dec.
appointment.in_24happointment_reminderReminder: appointment with Dr. Rao tomorrow at 11:00 am.
Fictional examples
A notification system is a map from things that happen in your software to messages customers actually want. Here is a typical one.
| Event in your software | Template | When it is sent | Buttons |
|---|---|---|---|
| booking.created | booking_confirmation | Within seconds | Reschedule · Cancel |
| appointment.in_24h | appointment_reminder | 24 hours and 2 hours before | Confirm · Reschedule |
| payment.received | payment_confirmation | When the payment clears | Download receipt |
| order.dispatched | order_update | When the courier scans it | Track order |
| queue.position_changed | position_changed | At set thresholds, not every change | Check position |
| queue.token_called | token_called | The moment the token is called | None |
| user.signed_up | signup_confirmation | On signup | Open the app |
| payment.due_in_3d | payment_reminder | 3 days before the due date | Pay now |
Event and template names are illustrative; yours are named after your own system.
Your application only has to say what happened. The notification service decides who is told, in which language, with which template, and when.
Your software emits an event
An API call, queue message or webhook
Notification service receives it
Validated and given an ID
Opt-in and preferences checked
Language, quiet hours, consent
Template and variables chosen
Filled from the event data
Send queue
Paced, retried, de-duplicated
WhatsApp Cloud API
Delivered to the customer
Status comes back
Sent · delivered · read · failed
POST /api/notify // your software calls this when something happens
{
"event": "order.dispatched",
"customer": { "id": "C-2291", "phone": "91…" },
"data": { "order": "10482", "eta": "Fri 11 Dec", "track_url": "https://…" }
}
→ 202 Accepted
{ "notification_id": "ntf_8f2c…", "status": "queued" }One small, stable call. Everything WhatsApp-specific stays inside the service.
Every template belongs to a category. The category decides what it may say, who it may go to and what it costs, so we choose it before we write a word.
Messages about something the customer has asked for or is part of: confirmations, reminders, order and payment updates, queue updates.
Your token is A-104 at Central Branch.
The category most notification systems live in.
One-time passcodes for login or verification, in WhatsApp’s required format.
482916 is your verification code. It expires in 10 minutes.
Has its own format and rules.
Offers, announcements and re-engagement. Needs clear opt-in and stricter handling.
Hi Priya, your next visit is on us this week.
Usually the highest-priced category.
How we write templates that get approved and get read
Sending one WhatsApp message is easy. Sending the right one exactly once, on time, thousands of times, is the engineering.
Every notification goes through a queue, so a spike in events never loses a message or slows your main application.
“24 hours before” and “2 hours before” are scheduled jobs that move with the appointment if it is rescheduled.
Each notification has an ID, so a retried event cannot send a duplicate, and a failed send is retried with back-off.
Sent, delivered, read and failed statuses come back from WhatsApp and are stored against the notification.
Only customers who have opted in are messaged, language is respected, and “stop” is honoured everywhere.
Invalid numbers, expired windows and paused templates raise an alert, with an optional fallback to SMS or e-mail.
Bulk sends are paced to protect your quality rating, and non-urgent messages respect the hours you set.
Who was told what, when, from which event and with which template version, searchable by customer.
A notification log is part of a typical build, so your team can answer “did the customer get it?” in seconds.
Notification log · fictional data
| Time | Event | Customer | Template | Status |
|---|---|---|---|---|
| 10:41:07 | queue.token_called | A-104 · Meera N. | token_called | Read |
| 10:40:52 | payment.received | #10482 · Arjun K. | payment_confirmation | Delivered |
| 10:38:19 | order.dispatched | #10475 · Priya S. | order_update | Delivered |
| 10:35:03 | appointment.in_24h | Dr. Rao · 11:00 | appointment_reminder | Failed |
| 10:34:48 | booking.created | Kiran P. | booking_confirmation | Sent |
Yes. WhatsApp requires a business to have the customer’s permission before messaging them. We build opt-in into your signup, booking or checkout flow, store when and where it was given, and honour “stop” requests everywhere.
Yes. A template is written and approved once per language, and the system picks the right one from the customer’s saved preference.
The status comes back from WhatsApp with a reason, such as a number that is not on WhatsApp or a customer who has not opted in. It is logged, retried where retrying makes sense, and can fall back to SMS or e-mail if you want that.
Yes. Anything that can make an HTTP request or publish an event can trigger a notification, so the same service can serve your website, mobile app, ERP and internal tools.
Normally within seconds of the event. The exact time depends on queueing, WhatsApp’s own throughput and whether the customer’s phone is reachable, and bulk sends are paced on purpose.
Yes, to customers who opted in, using approved marketing templates, with pacing and unsubscribe handling. We also advise restraint: poor engagement lowers your quality rating, which can limit how many customers you can reach.
Yes. A notification log, delivery statistics and a place to manage templates are part of a typical build, and they can sit inside your existing admin area.
List the events in your software that customers should hear about. We will map them to templates, timing and a delivery log.
WhatsApp is a trademark of Meta Platforms, Inc. Stack Bridge Labs is an independent software company and is not affiliated with, endorsed by or sponsored by WhatsApp or Meta. Conversations, names, numbers and templates shown on this page are fictional examples.