Odoo × WhatsApp
Odoo's order cancelled 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 cancelledorder_cancelled | Arrives with the cancellation reason, which is what lets the flow answer the actual objection. |
| Phone number | From the cancelled order. |
| Order number | So the customer knows which order you mean. |
| Order contents | Needed to offer a sensible swap. |
| Cancellation reason | If your store records one. The flow asks anyway, because the recorded reason is usually a checkbox rather than the truth. Optional. |
| Stock levels | So a swap you offer is actually available. Optional. |
When an order is cancelled, ask why, then offer the fix that matches the answer.
The question
Your order #1042 has been cancelled, Nour. Mind telling us why? It helps us fix it.
Wrong item, offer a swap
Got it, thank you. The Weekend Bag is in stock. Want us to swap it and send it today?
Use them as they are or rewrite them in your voice. The variables in braces are filled from Odoo at send time.
Your order {{order_number}} has been cancelled, {{first_name}}.
Mind telling us why? It helps us fix it."It helps us fix it" is doing the work. Without a reason to answer, most people will not.
Got it, thank you.
The {{alternative_product}} is in stock. Want us to swap it and send it today?Naming the specific item and confirming it is in stock removes both the decision and the doubt.
No problem at all, {{first_name}}.
If you come back within the week, {{discount_value}} is waiting on your account. No code needed.Held on the account rather than sent as a code. It removes the friction and stops the code circulating.
Every message in this flow, with the reasoning behind each one: Order Cancellation Save in the flow library →
6 brands run cancelled order save 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 cancelled 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 cancelled. Arrives with the cancellation reason, which is what lets the flow answer the actual objection.
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 customer already knows. The message is the difference between them quietly leaving and telling you what went wrong.
No. The swap path needs no discount at all, and it is where most saves come from. The discount is only for a change of mind, and it is optional there too.
The same flow, started by Shopify instead of Odoo.
Shopify version →A WhatsApp message the moment an order is placed, asking the customer to confirm it before you pack anything.
See the flow →Tell the customer where the order is before they have to ask, at every step from dispatch to the door.
See the flow →Odoo connects through Nitro during onboarding. Book a call and we will set the first flow up with you.