How do I integrate Odoo with WhatsApp API?
Install the official OminiFlow Odoo 19 module from the Odoo Apps Store, then map catalog, WhatsApp contacts, and event-triggered templates without raw Graph API work. Install the free OminiFlow module from the Odoo Apps Store (Odoo 19, ominiflow_odoo), add a Developer Portal API key, Test Connection, then enable catalog and WhatsApp customer sync. Map order/invoice events to approved templates and route replies to the shared inbox.
Last updated: 24 June 2026
Quick answer: Install the free OminiFlow module from the Odoo Apps Store (Odoo 19, technical name ominiflow_odoo, LGPL-3). It connects Odoo to OminiFlow’s WhatsApp and catalog APIs with a Developer Portal API key — Test Connection against /api/wpbox/me, then sync products and WhatsApp customers on a schedule or on demand.
Vanilla Odoo does not send WhatsApp on Meta Cloud API by itself. The Apps Store module is the supported connector. For outbound order, invoice, or ticket alerts, map those Odoo events to approved templates in Ominiflow and route replies to the shared inbox.
View OminiFlow on Odoo Apps Store →
Official listing on the Odoo Apps Store
OminiFlow is published on the Odoo Apps Store as a Sales-category connector for Odoo 19. Author: CodecrispTech. License: LGPL-3. Listing: apps.odoo.com/apps/modules/19.0/ominiflow_odoo.
- Secure API key — Developer Portal
OMINI_key, not a Meta system-user token in Odoo - Test Connection — live check against
GET /api/wpbox/me - Product catalog sync — match by OminiFlow id, then SKU; stock quantity stored as a product field (Odoo warehouse qty is not rewritten)
- WhatsApp customer sync — match by OminiFlow id, then phone, then email (re-running sync does not duplicate contacts)
- Hourly cron + sync logs — success/failure filters for ops
- HMAC webhooks — inbound Developer Portal webhooks verified with
X-Ominiflow-Signature
Sales order push and warehouse inventory moves are not in this module yet — OminiFlow does not currently publish those REST APIs. Use Odoo automated actions or webhooks for those outbound WhatsApp templates.
Why connect Odoo to WhatsApp
Most Odoo rollouts stop at email and in-app notifications. WhatsApp adds a channel your customers and internal teams already check dozens of times daily.
- Faster response on revenue events — hot leads and payment failures surface in WhatsApp within seconds of the Odoo trigger
- Richer context — buttons, PDF links, and images inside approved templates beat plain SMS
- Audit trail — delivery and read receipts finance and support leads can act on
- Agent handoff — automated first message, human takeover inside the 24-hour service window when needed
High-value Odoo → WhatsApp triggers
- Sales order — instant Utility or Marketing template with next-step CTA
- Invoice posted — timed reminder sequence (T-24h / due date)
- Delivery done — status update with deep link back to Odoo
- Ticket opened — escalation to assigned owner in shared inbox
Integration architecture
| Layer | Role |
|---|---|
| Odoo 19 + OminiFlow module | ERP records; catalog and WhatsApp customer pull; connection settings |
| Ominiflow Developer Portal | API keys, catalog APIs, contacts, HMAC webhooks |
| Ominiflow inbox | Template send, agent replies, analytics |
| Meta Cloud API | Official WhatsApp delivery and quality rating |
Install from the Odoo Apps Store
- Install OminiFlow in Odoo 19 from the Odoo Apps Store (or search “ominiflow”)
- Create an
OMINI_API key in the OminiFlow Developer Portal - In Odoo open OminiFlow → Connections, enter the base URL and API key, then click Test Connection (status should read Connected)
- Enable product and/or customer sync; run Sync now or wait for the hourly cron
- Export remaining contacts with E.164 mobiles and documented opt-in timestamps
- Map high-intent Odoo events (order, invoice, delivery, ticket) to Utility vs Marketing templates; pilot 20 records before full automation
- Route replies to the shared inbox; watch delivery rate, block rate, and quality rating for 90 days
Template examples
- Utility: "{1} updated in Odoo. View details: {2}"
- Utility: "Reminder: {1} is due {2}. Reply HELP for assistance."
- Marketing (opt-in): "New offer for {1} — tap to view: {2}"
Implementation pitfalls
- Cold outreach — triggering Marketing templates without opt-in risks number bans
- Utility abuse — promotional copy in Utility category gets rejected or downgraded
- Expecting order/warehouse sync — the Apps Store module syncs catalog and customers, not sales orders or stock moves
- No reply path — one-way blasts without inbox coverage frustrate customers who reply
Metrics to track after go-live
| Metric | Healthy range | Action if off |
|---|---|---|
| Delivery rate | > 95% | Validate numbers, template category, quality rating |
| Read rate | 70–90% | Improve timing and message relevance |
| Reply rate | 10–30% (use-case dependent) | Add clear CTA; staff inbox SLA |
| Time-to-first-response | < 5 min on hot leads | Assignment rules + staffing |
Related: Odoo integration page · Odoo Apps Store listing · API setup guide · Template approval · Ominiflow pricing
FAQ
Does Odoo have a native WhatsApp integration? expand_more
Odoo Enterprise has its own WhatsApp app on some editions. Community and most custom stacks use a connector. The official OminiFlow path is the free Odoo Apps Store module for Odoo 19, plus Ominiflow templates and inbox for Cloud API sends.
Which template category should Odoo triggers use? expand_more
Transactional updates (payments, tickets, reminders) → Utility. Promotional offers → Marketing with documented opt-in. Login codes → Authentication.
Can agents reply inside Odoo? expand_more
Replies land in the Ominiflow shared inbox. The Apps Store module pulls WhatsApp customers and catalog into Odoo; agents still handle live chat in the inbox, with CRM logging where you map it.