Odoo × WhatsApp
Odoo's order dispatched 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, order status changes and customers from Odoo. For this flow it listens for one event and uses a handful of fields from it.
| From Odoo | What it is for |
|---|---|
Order dispatchedorder_dispatched | Carries the delivery company and tracking number. Packed and delivered arrive as their own events, so each stage can send its own message. |
| 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 Odoo 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 →
Nitro, Nonito’s enterprise platform, sends your Odoo orders and customers into the Nonito events API as they happen. It is set up with you during onboarding, against your own Odoo instance.
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. Odoo's order dispatched event starts the flow, and Nonito sends the WhatsApp message with the customer's details filled in from Odoo. It runs on its own once switched on.
Order dispatched. Carries the delivery company and tracking number. Packed and delivered arrive as their own events, so each stage can send its own message.
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 Odoo 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 Shopify instead of Odoo.
Shopify version →The same Odoo event, sent as SMS.
Odoo SMS →A WhatsApp message the moment an order is placed, asking the customer to confirm it before you pack anything.
See the flow →Odoo connects through Nitro during onboarding. Book a call and we will set the first flow up with you.