Which updates you can send
Each update is a WhatsApp message template that Meta reviews before you can use it. Meta's own Order Management example of a utility message confirms the order and promises to tell the customer once the package is on its way. A utility template can carry up to 10 buttons, including quick-reply buttons (Reschedule, Change address, Confirm) and URL buttons (Track parcel).
| Update | Typically triggered by | Useful buttons |
|---|---|---|
| Order confirmed | Your shop or order system when the order is paid or accepted | View order |
| Confirm your cash-on-delivery order | Your order system, before the order is released to the courier | Confirm · Edit address · Cancel |
| Dispatched, with tracking link | Your warehouse system or the courier booking | Track parcel · Reschedule · Change address |
| Delayed | The courier's exception event, or your own system | New date · Change address |
| Out for delivery, or arriving in about 15 minutes | The courier or your route-planning system | Track driver · I'm not home |
| Delivered | Proof of delivery from the courier | Report a problem |
| Ready for collection | Your store, branch or dispensing system | Directions · Send it instead |
Sources: Template categorization (Order Management examples) and Utility templates (supported buttons), Meta for Developers. Opened 26 October 2026.
How it works, step by step
- Your system sends an event. Your shop, order system, courier or route planner posts a status change (for example "dispatched, tracking number X") to an authenticated webhook on our platform. We call these Doors.
- A Program picks the right message. The conversation logic our engineers write for you matches the event to an approved template and fills in the order number, date, address and tracking link.
- The customer gets the update. It goes out from your own WhatsApp number as a utility template, with a tracking link and buttons. Delivery and read status come back from Meta, so failed sends show up.
- The customer taps a button or replies. Reschedule can offer the dates your courier has available, if its API exposes them. Change address takes a typed address or a location pin. Confirm releases a cash-on-delivery order.
- The answer goes back to your system. The Program makes an HTTP call to your order system or the courier's API with the new date, address or confirmation, then tells the customer it's done.
- Anything else goes to a person. A typed question ("can you leave it with the neighbour?") lands in your shared inbox. When your team replies, the automation pauses so nobody talks over each other.
If a reschedule needs a date and a time slot, or an address change needs a complex number, unit and delivery note, we can open a short WhatsApp Flow form inside the chat. The Flow can load live options while the customer fills it in, such as the courier's available delivery days if its API exposes them. The customer's answer is written back to your system once they submit.
Systems connected
We're clear about what our platform already does and what we build for you.
| Part | Basis | What it does |
|---|---|---|
| Message templates | Runs | Created, edited and synced with Meta's review status on our platform |
| Buttons, link buttons, location requests, Flows | Runs | The interactive parts of the message |
| Doors (authenticated inbound webhooks) | Runs | Receive events from your systems and start the conversation logic |
| Shared inbox with human takeover | Runs | Typed replies go to your team; automation pauses while they answer |
| Shopify and Ecwid | Runs (partly) | Catalogue sync, and paid WhatsApp orders pushed into the shop |
| Shop order events (confirmed, shipped, cancelled) | Build | We subscribe to your shop's webhooks and send the matching update |
| Courier, route or TMS status events | Build | We connect WhatsApp to the courier's or route system's API or webhooks |
| Your order system, ERP or dispensing system | Build | Events in through a Door, answers back through an HTTP call to its API |
| Conversation logic (Programs) | Build | Written by our engineers for your updates, buttons and edge cases |
Shopify and Ecwid: orders placed on your web shop itself are not pulled into our platform automatically, so web-shop updates are always a build. See WhatsApp and Shopify and WhatsApp and Ecwid for what runs today.
Message categories and what Meta charges
Meta charges per delivered message, by category and by the customer's country code. For South African numbers from 1 October 2026:
| Message | Meta category | US$ per delivered message |
|---|---|---|
| Order and delivery updates sent by your systems | Utility (template) | 0.0095 |
| Our replies after the customer taps a button or writes, inside 24 hours | Service (non-template) | 0.0095, after 1,000 free per number per month |
| Any update that also carries an offer or promotion | Marketing (Meta re-categorises it) | 0.0379 |
Utility has volume tiers. They count charged utility messages per calendar month across your business portfolio: up to 100,000 a month is US$0.0095, and 100,001 to 1,000,000 is US$0.009, with further steps above that. Customers' messages to you are free.
A store ships 2,000 orders a month and sends three updates per order (confirmed, dispatched, out for delivery): 6,000 utility templates × US$0.0095 = US$57 a month in Meta fees, billed by Meta to the store. If 300 customers tap a button and get a reply, those replies count against the 1,000 free service messages. See rand estimates on our pricing page.
Keep updates about the order. Meta says a template that mixes an order update with promotional content is categorised as marketing. Its own marketing examples include a delivery-delay apology that offers a credit.
Sources: Pricing on the WhatsApp Business Platform (updated 30 September 2026) and its rate cards and volume tiers; customer service windows; template categorization. Meta sets the final category when it reviews each template.
Opt-in comes first
A phone number on an order is not, by itself, permission to message someone on WhatsApp. Meta requires opt-in that clearly says the person is agreeing to receive messages and names your business. A tick-box at checkout ("Send my order updates to me on WhatsApp from Fynbos Home Store"), wording on an order form, or a question in the chat all work if they meet those rules and the law. Meta suggests separate opt-ins by type of message, so a customer can take delivery updates without marketing.
Source: Get opt-in for WhatsApp, Meta for Developers. Opened 26 October 2026.
Volume and messaging limits
Updates go out without the customer writing first, so they count towards your messaging limit: the number of different customers you can message outside a customer service window in a rolling 24 hours. New business portfolios start at 250. If you dispatch more than that on a busy day, plan the ramp-up before launch. Our guide to WhatsApp messaging limits explains how to get to 2,000 and beyond.
Source: Messaging limits, Meta for Developers.
What we need from you
- A WhatsApp number that isn't in use on the WhatsApp Business app, connected under your own business through Meta's Embedded Signup.
- A payment method on your Messaging account at Meta, because Meta bills you directly.
- Access to the systems that know the status: your shop admin, order system or ERP, and your courier's or route system's API documentation and keys. If a system can send webhooks, even better.
- The list of updates you want, what each button should do, and who decides (for example, can a customer change the address after dispatch?).
- Your opt-in wording and where it appears (checkout, order form, in store).
- Someone to answer typed replies in the shared inbox during your working hours.
For Shopify, customer names, phone numbers and addresses are protected customer data. Access to them has to be requested and approved, so we include it in the plan.
What Euphony charges
Meta's message fees go straight to your account at Meta's rates. We charge for the build, from R15,000 ex VAT, plus R7,500 per integration, and a monthly fee to run and support it, from R4,950 ex VAT. How long the build takes depends mostly on how much your courier's and order system's APIs allow; we'll tell you after looking at them.