Odoo WhatsApp: Native WABA Messaging for SMEs from Discuss
Odoo WhatsApp is an Enterprise-only app that connects a WhatsApp Business Account to Odoo so teams send quotations, receipts, and tickets from Sales, POS, and Events — and answer replies inside Odoo Discuss. Here is how it works, how to set it up, and how it compares to the Dynamics 365 WhatsApp channel.
What is the Odoo WhatsApp app?
Odoo WhatsApp is a native productivity app, documented under Odoo 19.0, that bridges an Odoo database with a WhatsApp Business Account (WABA) using the official WhatsApp Business Cloud API. Once a WABA is connected, users send and receive WhatsApp messages directly from inside the Odoo database and create or send pre-approved templates with dynamic placeholders — for example quotations from Sales, receipts or invoices from Point of Sale, and tickets from Events.
Two important constraints shape every Odoo WhatsApp project. First, the app is Odoo Enterprise only — it does not work in Odoo Community edition. Second, it is only compatible with WhatsApp Business Platform Accounts. Personal WhatsApp accounts and WhatsApp Business App accounts are not compatible, so a business must migrate its number to a WhatsApp Business Account before it can be used with Odoo.
- Native Odoo Enterprise app (not available in Community).
- Connects a WhatsApp Business Account (WABA) to Odoo via the WhatsApp Business Cloud API.
- Sends templates with dynamic placeholders from Sales, POS, Events, and Invoicing.
- Personal WhatsApp and WhatsApp Business App numbers are not compatible.
Company-initiated vs customer-initiated conversations
Odoo WhatsApp supports two distinct conversation flows, and both are governed by WhatsApp's template-and-session model.
In a company-initiated flow, the company starts the discussion by sending a template to one or more customers. If a customer answers within 15 days, Odoo opens a Discuss chat window so operators can continue the conversation. Should the customer not respond within 15 days, the next reply re-populates to all operators configured on that channel. This is the pattern to use for quotation follow-ups, event reminders, and receipt delivery.
In a customer-initiated flow, a customer messages the company's public WhatsApp number. Odoo then opens a group chat that includes every operator responsible for that channel, so the right team can pick up the thread. Odoo recommends setting up separate WhatsApp accounts for each department — sales, support, finance — so messages route to the operators who should own them.
- Company-initiated: send a template, Discuss chat opens if the customer replies within 15 days.
- Customer-initiated: inbound message opens a group chat with all channel operators.
- Odoo recommends one WABA per department for cleaner routing.
- All conversations run through the Odoo Discuss application.
Meta-side setup: business account, app, and tokens
Before anything is configured in Odoo, the WhatsApp Business Account must be prepared on the Meta side. The Odoo documentation lays out a four-step preparation: create a Meta business account, create a Meta developer account, set up an app and add the WhatsApp product in Meta's developer console, then test the API connection. Meta provides a test phone number that can send unlimited messages to up to five recipients.
To move from test to production, an Odoo admin adds a real phone number in Meta, adds a payment method — required by Meta's fraud detection — and generates a permanent System User access token. That token must carry three permissions: business_management, whatsapp_business_messaging, and whatsapp_business_management.
- 01Create the Meta accounts and app
Create a Meta business account, a Meta developer account, then an app with the WhatsApp product added in the Meta developer console.
- 02Test the API connection
Use Meta's test phone number, which can send unlimited messages to up to five verified recipients, to confirm the API connection works.
- 03Add a real number and payment method
Add a real phone number in Meta and add a payment method, which Meta requires for fraud detection before production traffic.
- 04Mint a permanent System User token
Generate a permanent System User access token with business_management, whatsapp_business_messaging, and whatsapp_business_management permissions.
Odoo-side configuration and webhooks
With the WABA ready in Meta, the connection is completed inside Odoo. Under WhatsApp app → Configuration → WhatsApp Business Accounts, the admin copies five values from the Meta Developer Dashboard into Odoo: Phone Number ID, a temporary Access Token, App ID, WhatsApp Business Account ID, and App Secret. Clicking 'Test Connection' validates that Odoo can reach the WABA.
Receiving inbound messages requires a webhook. After a successful Test Connection, Odoo auto-populates a Callback URL and a Webhook Verify Token, which the admin pastes into Meta's webhook configuration. In Meta's developer console, the admin opens the Webhook fields section, clicks Manage, and subscribes to the fields Odoo needs: account_update, message_template_quality_update, message_template_status_update, messages, and template_category_update. Once the webhook is verified, two-way messaging flows through Odoo Discuss.
- Configure the WABA under WhatsApp → Configuration → WhatsApp Business Accounts.
- Paste Phone Number ID, Access Token, App ID, WABA ID, and App Secret from Meta.
- Click 'Test Connection' to validate and to generate the Callback URL and Webhook Verify Token.
- Subscribe Meta's webhook to account_update, message_template_quality_update, message_template_status_update, messages, and template_category_update.
Templates, dynamic placeholders, and the 24-hour rule
Like every WhatsApp Business integration, Odoo WhatsApp is bound by WhatsApp's template-vs-session model. Pre-approved templates — with dynamic placeholders for things like a customer name, a quotation total, or an event ticket URL — are how a company starts a conversation. Odoo drives these templates from its own apps: a Sales quotation, a POS receipt, an Events ticket, or an Invoicing document can each trigger a templated WhatsApp send.
The 24-hour session rule applies to the reply side. Once a customer responds, a session window opens and free-form messaging is allowed for 24 hours from the most recently received message. After that window closes, the company can again only send pre-approved templates. This is WhatsApp platform policy, not an Odoo choice, and it shapes how teams design automation: use templates for outbound campaigns and notifications, and treat replies as live conversations inside Discuss.
One more change to plan for: effective April 1, 2025, WhatsApp deprecated its Template Console Tab and Templates API. Any new templates must be created through the current Meta tooling rather than the legacy console, so template lifecycle management is now part of ongoing Odoo WhatsApp administration.
The Dynamics 365 equivalent: a Twilio-mediated channel
Microsoft Dynamics 365 takes a different architectural path to the same WhatsApp Business Platform. The D365 WhatsApp channel is part of Omnichannel for Customer Service and Dynamics 365 Contact Center, and it applies to Contact Center embedded, Contact Center standalone, and Customer Service. Unlike Odoo's direct-to-WABA connection, Microsoft's documented channel integrates WhatsApp through Twilio as the Business Solution Provider, wired into the Copilot Service admin center.
Setup in D365 means fetching the Twilio ACCOUNT SID and AUTH TOKEN from the Twilio Console, creating a messaging account in Copilot Service admin center → Channels → Messaging accounts → New account → WhatsApp, attaching the Twilio-connected WhatsApp number (prefixed with '+'), and copying the Twilio inbound URL as the callback. Prerequisites include channels provisioned in the environment, a Twilio account (subscription or sandbox), the Twilio number connected to a WhatsApp Business Profile, and — for new Twilio accounts — disabling a security setting that blocks media files.
On the agent side, an incoming WhatsApp request in D365 opens a session with a communication panel where the representative sees customer information, can use call and visual-engagement options, monitors real-time sentiment, follows scripts, and uses Smart Assist cards, productivity tools, and knowledge-article lookup. The same 24-hour session window governs free-form messaging, and template messages are sent through Twilio using pre-approved templates — each localized variant must be approved separately by WhatsApp. After the April 1, 2025 deprecation of the WhatsApp Template Console, D365 templates are managed through Twilio's Content Template Builder and referenced by Content Template SID rather than template name.
Microsoft has also flagged a June 2026 WhatsApp change: WhatsApp is introducing usernames and a Business-Scoped User ID, after which phone numbers may no longer be sent when a user adopts a WhatsApp username. Because D365 routing rules, Power Automate flows, and AI-agent context variables commonly key off the customer's phone number, D365 customers should review any logic that depends on phone-number identification ahead of the rollout.
| Dimension | Odoo WhatsApp | Dynamics 365 WhatsApp |
|---|---|---|
| Edition | Odoo Enterprise only | Omnichannel for Customer Service / Contact Center / Customer Service |
| Connection model | Direct to WhatsApp Business Account (Cloud API) | WhatsApp through Twilio (BSP), or Digital Messaging add-in |
| Admin surface | WhatsApp app → Configuration → WhatsApp Business Accounts | Copilot Service admin center → Channels → Messaging accounts |
| Conversation surface | Odoo Discuss (group chats with operators) | Agent communication panel with sentiment, scripts, Smart Assist |
| Outbound pattern | Templates from Sales, POS, Events, Invoicing | Templates through Twilio (Content Template SID after Apr 1, 2025) |
| Routing | Per-department WABA recommended | Omnichannel routing, queues, workstreams |
When each platform fits an SME
For an SME already running Odoo as its ERP and CRM, the native WhatsApp app is the natural fit: templates fire directly from the Sales, POS, Events, and Invoicing documents the team already uses, and replies land in Discuss alongside live chat and other channels. The trade-off is that the app is Enterprise-only and the team must own WABA setup, template approval, and webhook maintenance.
For an SME centered on customer service — especially one already licensed for Dynamics 365 Customer Service or Contact Center — the D365 WhatsApp channel is the better fit because it slots into Omnichannel routing, the agent communication panel, sentiment analysis, and Smart Assist. The trade-off is the added Twilio dependency (or the Digital Messaging add-in) and the need to manage template lifecycles through Twilio's Content Template Builder.
Because Flectic implements both platforms, we help SMEs choose on merit — sales-and-operations teams tend to benefit from Odoo's document-driven messaging, while contact-center teams tend to benefit from D365's agent experience. Either path is a configured, governed WhatsApp Business deployment, not a free broadcast tool: Meta's commerce and messaging policies, the template-approval process, and the 24-hour session rule apply to both.
Frequently asked questions
Does Odoo WhatsApp work in Odoo Community edition?
No. Odoo WhatsApp is an Odoo Enterprise app. It does not work in Odoo Community edition. You also need a WhatsApp Business Account (WABA) — personal WhatsApp accounts and the consumer WhatsApp Business App are not compatible.
What is the 24-hour session rule in Odoo WhatsApp?
It is WhatsApp's platform policy, not an Odoo setting. Once a customer replies, a 24-hour session window opens during which free-form messaging is allowed. After the window closes — measured from the most recently received message — you can again only send pre-approved templates. Odoo uses templates for outbound sends from Sales, POS, Events, and Invoicing.
How does Odoo WhatsApp compare to the Dynamics 365 WhatsApp channel?
Odoo connects directly to a WhatsApp Business Account and surfaces conversations in Odoo Discuss, with templates fired from ERP documents. Dynamics 365 routes WhatsApp through Twilio (or a Digital Messaging add-in) inside Omnichannel for Customer Service, with an agent communication panel, sentiment, and Smart Assist. Odoo fits sales-and-operations teams; D365 fits contact-center teams.
What changed with WhatsApp templates on April 1, 2025?
WhatsApp deprecated its Template Console Tab and Templates API. New templates must be created in the current Meta tooling (and, for the Dynamics 365 Twilio path, in the Twilio Content Template Builder using the Content Template SID instead of the template name). Plan template lifecycle management as ongoing WhatsApp administration.
Do I need a payment method and a permanent token to go live?
Yes for production. Meta requires a payment method for fraud detection before you send real traffic, and Odoo needs a permanent System User access token with business_management, whatsapp_business_messaging, and whatsapp_business_management permissions. Meta's test phone number only sends to up to five verified recipients.
Book an ERP Readiness Call
Flectic implements both Odoo and Microsoft Dynamics 365, so we help you choose the WhatsApp path that fits your team — document-driven messaging in Odoo, or contact-center routing in D365. Our AI-Accelerated Delivery is designed to deliver up to 3x faster, and we serve SMEs across Canada, the UK, and the USA. Book an ERP Readiness Call and we will map the right WhatsApp integration to your sales, service, and operations workflow.
Sources
- Odoo WhatsApp is documented under Productivity in the Odoo 19.0 documentation; it is Enterprise-only and integrates a WhatsApp Business Account via the WhatsApp Business API. — https://www.odoo.com/documentation/19.0/applications/productivity/whatsapp.html (verified Direct primary source — Odoo 19.0 official documentation page for the WhatsApp app; confirmed via search excerpt.)
- Odoo WhatsApp is only compatible with WhatsApp Business Platform Accounts; personal WhatsApp and WhatsApp Business App accounts are not compatible. — https://www.odoo.com/documentation/19.0/applications/productivity/whatsapp.html (verified Stated explicitly on the same Odoo 19.0 WhatsApp documentation page.)
- Company-initiated sends open a Discuss chat if the customer replies within 15 days; if no reply within 15 days the next reply re-populates to all configured operators; customer-initiated messages open a group chat with all channel operators. — https://www.odoo.com/documentation/19.0/applications/productivity/whatsapp.html (verified Verbatim conversation-flow description on the Odoo 19.0 WhatsApp documentation page.)
- Meta setup requires a business account, developer account, app with the WhatsApp product, and API testing; Meta's test number sends to up to five recipients. — https://www.odoo.com/documentation/19.0/applications/productivity/whatsapp.html (verified Setup steps described in the Odoo 19.0 WhatsApp documentation page.)
- Production requires a real phone number, a payment method for fraud detection, and a permanent System User token with business_management, whatsapp_business_messaging, whatsapp_business_management. — https://www.odoo.com/documentation/19.0/applications/productivity/whatsapp.html (verified Production setup section of the Odoo 19.0 WhatsApp documentation page.)
- Odoo webhook subscription fields are account_update, message_template_quality_update, message_template_status_update, messages, and template_category_update, added under Meta's Webhook fields section. — https://www.odoo.com/documentation/19.0/applications/productivity/whatsapp.html (verified Webhook configuration section of the Odoo 19.0 WhatsApp documentation page; field list corroborated by Meta's WhatsApp webhooks overview.)
- The D365 WhatsApp channel is part of Omnichannel for Customer Service / Dynamics 365 Contact Center and integrates WhatsApp through Twilio with Copilot Service admin center; the 24-hour window restricts free-form replies after which only approved templates are allowed. — https://learn.microsoft.com/en-us/dynamics365/customer-service/administer/configure-whatsapp-channel (verified Direct primary source — Microsoft Learn D365 WhatsApp channel configuration page; 24-hour window excerpt quoted in search.)
- Effective April 1, 2025, WhatsApp deprecated its Template Console Tab and Templates API; D365 customers must manage templates through Twilio's Content Template Builder and reference them by Content Template SID. — https://help.twilio.com/articles/19816296822299 (verified Twilio Help article 'Upgrading WhatsApp Templates to Content Templates' confirms the April 1, 2025 deprecation; D365-specific SID usage follows the documented D365 Twilio path.)
- From June 2026, WhatsApp is introducing usernames and a Business-Scoped User ID, after which phone numbers may not be sent when a user adopts a WhatsApp username. — https://developers.facebook.com/documentation/business-messaging/whatsapp/business-scoped-user-ids/ (verified Direct primary source — Meta for Developers Business-scoped user IDs documentation; June 2026 rollout corroborated by Twilio and Vonage changelogs.)
- The 24-hour session window governs free-form messaging in D365; after the window, only pre-approved templates can be sent. — https://learn.microsoft.com/en-us/dynamics365/customer-service/use/whatsapp (verified Direct primary source — Microsoft Learn D365 WhatsApp representative-experience page; 24-hour window quoted in search.)