Shopify × WhatsApp
Shopify's order fulfilled event starts a Nonito flow that sends the customer a WhatsApp message, in English or Arabic, and attributes every order that follows. WhatsApp is where customers in Egypt and the Gulf already read their messages, and it carries buttons, images and replies.
Nonito receives orders, abandoned checkouts, customers, products and collections from Shopify. For this flow it listens for one event and uses a handful of fields from it. Discount codes are created in your Shopify store, one per customer, with the expiry you set.
| From Shopify | What it is for |
|---|---|
Order fulfilledShopify fulfillment | Fires when the order is marked fulfilled, with the courier and tracking link if your fulfilment app adds them. |
| Phone number | From the order. |
| Fulfilment status | The flow follows real events, not a guessed timeline. |
| Tracking link | So the customer can check without asking you. |
| Courier name | People want to know who is knocking. Optional. |
| Delivery window | If your courier provides one. It is the single most useful thing in the message. Optional. |
Tell the customer where the order is before they have to ask, at every step from dispatch to the door.
On its way
Good news, Nour. Order #1042 is on its way with Bosta. Track it any time: yourstore.com/track
Arriving today
Your order is out for delivery today, between 2pm and 5pm.
Use them as they are or rewrite them in your voice. The variables in braces are filled from Shopify at send time.
Good news, {{first_name}}. Order {{order_number}} is on its way with {{courier}}.
Track it any time:
{{tracking_link}}Naming the courier matters more than it sounds. People want to know who is going to knock.
Your order is out for delivery today, between {{delivery_window}}.The most useful message in the set. A window is what lets someone arrange to be in, which is what stops a failed delivery.
Delivered. Hope you like it, {{first_name}}.
Most people who bought the {{product_name}} come back for the {{recommended_product}}.The recommendation only works here because the customer is holding the thing it relates to. The same line a week later is just an ad.
Every message in this flow, with the reasoning behind each one: Shipping & Delivery Updates in the flow library →
Sign up, enter your store domain and approve access in Shopify. Orders, checkouts, customers and products start flowing in, and nothing is exported by hand.
Bring your WhatsApp Business number or set one up through Nonito. Templates are written in English and Arabic and submitted to Meta for you.
Meta charges per delivered template message, and the rate depends on the country. WhatsApp API pricing by country →
Yes. Shopify's order fulfilled event starts the flow, and Nonito sends the WhatsApp message with the customer's details filled in from Shopify. It runs on its own once switched on.
Order fulfilled. Fires when the order is marked fulfilled, with the courier and tracking link if your fulfilment app adds them.
No. You can bring an existing WhatsApp Business number, or Nonito sets up the API connection and submits your templates to Meta for approval during onboarding. Approval is usually the only thing you wait on.
Yes. A Language node sends Arabic speakers the Arabic template and everyone else the English one, using the language on the Shopify customer record.
These are the messages customers otherwise ask for. Each one answers a question they were about to send you, which is why they get read rather than muted.
It reacts to fulfilment and shipping events on your store, so any courier that writes status back will drive it. If yours does not, this flow cannot run.
The same flow, started by Odoo instead of Shopify.
Odoo version →The same Shopify event, sent as SMS.
Shopify SMS →A WhatsApp message the moment an order is placed, asking the customer to confirm it before you pack anything.
See the flow →Start on the free plan and connect Shopify, or book a call and we will set the first flow up with you.