Odoo × WhatsApp
Odoo's order created 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 createdorder_created | Sent the moment the order is placed in Odoo, with the items, totals and customer, so the confirmation can name all three. |
| Phone number | From the order. At a counter, captured at the till. |
| Order number | So the customer knows which order you mean. |
| Order contents | What they bought, listed in the message. |
| Payment method | Splits cash on delivery from prepaid. Without it everyone gets the same message. Optional. |
| First name | Used for personalisation. Optional. |
| Branch | In-store only. Lets you report and segment per location. Optional. |
A WhatsApp message the moment an order is placed, asking the customer to confirm it before you pack anything.
Cash on delivery, with buttons
Hi Nour We have received your order #1042. Order details: 1 × Classic Tote Total 1,250 EGP, cash on delivery. Please confirm below so we can prepare it.
Prepaid, no confirmation needed
Hi Nour Order #1042 is paid and confirmed. 1 × Classic Tote We will message you the moment it ships.
Use them as they are or rewrite them in your voice. The variables in braces are filled from Odoo at send time.
Hi {{first_name}}
We have received your order {{order_number}}.
Order details:
{{order_items}}
Total {{order_total}}, cash on delivery.
Please confirm below so we can prepare it.Naming the total and the payment method up front is what stops a surprise at the door, which is where most cash-on-delivery refusals come from.
Hi {{first_name}}
Order {{order_number}} is paid and confirmed.
{{order_items}}
We will message you the moment it ships.Someone who has already paid does not need to confirm anything. Asking them to would read as doubt about their own order.
Thanks for coming in, {{first_name}}
Here is your receipt for {{order_number}}:
{{order_items}}
Keep this for returns or exchanges.The receipt is the reason the customer hands over a number at the till. Framing it as a service, not a signup, is what makes the ask work.
Every message in this flow, with the reasoning behind each one: Order Confirmation in the flow library →
11 brands run order confirmation on Nonito. Between October 2025 and September 2026 it produced:
Measured across every store running it on Nonito, not only this platform, with cancelled orders excluded. Your result depends on your product and pricing, so read it as a range, not a forecast.
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 created 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 created. Sent the moment the order is placed in Odoo, with the items, totals and customer, so the confirmation can name all three.
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.
The order ships. Silence is not a cancellation, and treating it as one is how brands cancel good orders.
You will see cancellations earlier, not more of them. The orders that cancel here are the ones that would have been refused at the door, after you had paid to ship them.
The same flow, started by Shopify instead of Odoo.
Shopify version →Tell the customer where the order is before they have to ask, at every step from dispatch to the door.
See the flow →A few hours after delivery, one tap to rate the order. Good ratings go to your storefront, poor ones go to a person.
See the flow →Odoo connects through Nitro during onboarding. Book a call and we will set the first flow up with you.