Why Connect WhatsApp Business to Odoo?
WhatsApp has over 2 billion users, and in many markets it is the primary communication channel. Customers expect to receive order confirmations, delivery updates, and support on WhatsApp rather than email. Connecting WhatsApp Business API to Odoo lets you send transactional messages, handle customer inquiries, and run marketing campaigns through the platform your customers actually use.
Integration Types
Message Categories
| Type | Use Case | Requires Template? |
|---|---|---|
| Transactional | Order confirmation, shipping update, invoice | Yes |
| Customer Service | Support replies within 24h window | No (free-form) |
| Marketing | Promotions, product launches, re-engagement | Yes |
| Authentication | OTP codes, verification | Yes |
Connection Architecture
- WhatsApp Business API (Cloud) — Meta's hosted API. Recommended for most businesses. No server infrastructure needed.
- WhatsApp Business API (On-Premise) — Self-hosted for enterprises needing data residency control.
- BSP (Business Solution Provider) — Third-party providers like Twilio, MessageBird, or Gupshup that simplify API access.
Setup Steps
1. WhatsApp Business Account
- Create a Meta Business account at business.facebook.com
- Register for WhatsApp Business API access
- Verify your business (legal name, website, documentation)
- Register your phone number
- Generate a permanent access token
2. Message Templates
Create and submit templates for approval:
- Order confirmation: "Your order #{{1}} has been confirmed. Total: {{2}}. Track at: {{3}}"
- Shipping update: "Your package for order #{{1}} has shipped. Tracking: {{2}}"
- Appointment reminder: "Reminder: Your appointment is on {{1}} at {{2}}. Reply YES to confirm."
- Payment receipt: "Payment of {{1}} received for invoice {{2}}. Thank you!"
- Templates must be approved by Meta before use (24-48 hours)
3. Odoo Integration Module
Build or install a WhatsApp connector:
- Store API credentials in Odoo system parameters
- Create a message sending service using the Cloud API
- Map Odoo events to WhatsApp templates (order confirmed → send template)
- Handle incoming messages via webhook endpoint
- Store conversation history linked to Odoo contacts
4. Automation Rules
Configure automatic messaging:
- Sale order confirmed → send order confirmation via WhatsApp
- Delivery order validated → send shipping notification with tracking
- Invoice paid → send payment receipt
- Appointment created → send reminder 24h before
- Lead created → send welcome message (if opt-in)
5. Incoming Message Handling
- Set up webhook to receive incoming WhatsApp messages
- Route messages to Odoo helpdesk tickets or CRM leads
- Auto-reply during 24h session window
- Match incoming phone numbers to Odoo contacts
- Create new contacts for unknown numbers
Compliance Requirements
- Collect explicit opt-in before sending marketing messages
- Provide easy opt-out mechanism in every template
- Respect 24-hour customer service window for free-form replies
- Store opt-in records for audit purposes
- Follow Meta's commerce and messaging policies
Common Pitfalls
- Template rejection — Meta rejects templates with spelling errors, unclear purpose, or policy violations. Review guidelines before submitting.
- Phone number format — Always use E.164 format (+1234567890). Odoo phone fields may need normalization.
- Rate limits — New accounts start with lower sending limits. Build up sending reputation gradually.
- 24-hour window — After 24 hours of no customer response, you can only send approved templates, not free-form messages.
Getting Started
Deploy Odoo on DeployMonkey, register for WhatsApp Business API, create your message templates, and configure the integration module. Start with transactional messages (order confirmations) and expand to marketing campaigns once your templates are approved.