What runs on our platform today
Our platform already has a Shopify connection. Here's what it does without custom engineering on the Shopify side. We still write the short chat flow that greets your customers and sends the store link.
- Catalogue sync. Your Shopify products come into our platform, and Shopify's webhooks keep them in sync as you change them.
- Ordering in the chat. A customer messages you, gets a link to a store page built from that catalogue, picks items and checks out.
- Payment. The customer pays through your Paystack or Yoco account. The order counts as paid once Paystack or Yoco confirms the payment.
- Order push. Once paid, the order is created in Shopify as a draft order, so your team finds it in your Shopify admin under draft orders.
Orders placed on your Shopify website are not pulled into WhatsApp automatically; that direction is a build (see below). And customers browse through a store link, not WhatsApp's in-chat product catalogue messages, which our platform doesn't send.
Flows in both directions
Most stores want a mix of the two directions. Each row says whether it runs today or is something we build, and how Meta prices the message.
| Flow | Direction | Basis | Meta category |
|---|---|---|---|
| Order and pay in the chat, order pushed to Shopify as a draft | WhatsApp → Shopify | Runs | Service (customer starts the chat) |
| Catalogue and product changes kept in sync | Shopify → platform | Runs | No message |
| Draft order completed automatically into a regular order | WhatsApp → Shopify | Build | No message |
| "Where's my order?" answered by looking up the Shopify order | Shopify → WhatsApp | Build | Service |
| Order confirmation for orders placed on your web shop | Shopify → WhatsApp | Build | Utility |
| Shipped, with the courier's tracking link | Shopify → WhatsApp | Build | Utility |
| Order cancelled notice | Shopify → WhatsApp | Build | Utility |
| Abandoned checkout reminder with the recovery link | Shopify → WhatsApp | Build | Marketing |
| Back-in-stock alert to customers who asked for it | Shopify → WhatsApp | Build | Marketing |
Sources: Shopify webhook topics (orders/create, orders/paid, orders/fulfilled, orders/cancelled, fulfillments/create, checkouts/update, inventory_levels/update) · draftOrderComplete · abandonedCheckouts · Meta pricing and message categories. Opened 26 October 2026. The Meta category column is our reading of Meta's definitions; Meta sets the final category when it reviews each template.
How the build works
Shopify-triggered messages are custom work, but they follow a well-worn pattern. Shopify sends a webhook when something happens in your shop. We pass it to our platform's authenticated webhook endpoint, where the conversation logic we write decides what to say and sends an approved WhatsApp template to the customer.
- Connect your shop. We set up the integration, then you approve the connection in Shopify. Your catalogue starts syncing.
- Agree the messages. We list each event you want covered (paid, shipped, cancelled, cart left behind) and write the wording with you.
- Submit templates to Meta. Messages that go out without the customer writing first must be pre-approved templates. Meta reviews them and assigns each a category.
- Subscribe to Shopify's webhooks. For example
fulfillments/createfor shipping updates, orcheckouts/updateplus the Admin API's abandoned checkouts query for cart reminders. - Write the conversation logic. Our engineers code what happens on each event and on each customer reply, including when to hand over to your team in the shared inbox.
- Test, then go live. We run real orders through a test setup before switching on, then check the delivery and read reports once it's live.
What Shopify's API allows, and what it asks of us
- Shopify's Admin API can turn a draft order into a regular order (
draftOrderComplete), which is how we'd make WhatsApp orders count as normal orders if you want that. - Abandoned checkouts are available with their recovery link, so a reminder can take the shopper straight back to their cart.
- Shopify treats customer names, phone numbers, email addresses and addresses as protected customer data. An app has to request access to each field and meet Shopify's data protection requirements. Any build that messages customers from Shopify order data needs that access, and we factor it into the plan.
Opt-in comes first
A phone number on a Shopify order is not permission to message someone on WhatsApp. Meta requires a clear opt-in that names your business as the sender. For cart reminders and stock alerts, add a clear WhatsApp opt-in at checkout or in the chat, and we only message those customers. Anyone who opts out stops getting them.
Source: Get opt-in for WhatsApp, Meta for Developers
What you need to provide
- A Shopify store and someone with admin access to approve the connection.
- A Paystack or Yoco merchant account, if customers will pay in the chat.
- A phone number for WhatsApp that isn't in use on the WhatsApp Business app, connected through Meta's Embedded Signup under your own business.
- A payment method on your WhatsApp Messaging account, because Meta bills you directly.
- Your delivery options and fees, and who on your team answers when a customer wants a person.
- For Shopify-triggered messages: which events matter, and your opt-in wording.
What it costs
Meta charges your account per delivered message. For South African numbers from 1 October 2026:
- Marketing (cart reminders, stock alerts): US$0.0379
- Utility (confirmations, shipping updates): US$0.0095
- Service (replies inside 24 hours of the customer's message): US$0.0095, after 1,000 free per number per month
Euphony adds nothing to those rates. We charge for the build, from R15,000 ex VAT, plus R7,500 per integration, and a monthly fee from R4,950 ex VAT to run it.
Source: Pricing on the WhatsApp Business Platform (updated 30 September 2026). Worked examples in rand on our pricing page.