Way4Tech
WH Messaging

WhatsApp Business Odoo Integration

WhatsApp OTP, templates, conversations.

WhatsApp is where customers in much of the Middle East, South Asia and Africa actually reply, so pushing order confirmations, delivery updates and payment reminders there beats email on response rate. Connected to Odoo through the Business API, messages are sent from the record they belong to, and inbound replies are routed back onto the lead, order or ticket. Outside an open conversation, only pre-approved message templates can be sent, which shapes the whole design.

What syncs between WhatsApp Business and Odoo

  • โœ“ Outbound template messages: Odoo to WhatsApp, one-way, triggered by order confirmation, delivery, invoice or a scheduled reminder.
  • โœ“ Inbound messages: WhatsApp to Odoo, one-way, matched on phone number and posted onto the related lead, order or ticket.
  • โœ“ Delivery and read receipts: WhatsApp to Odoo, one-way, so failed sends are visible rather than assumed.
  • โœ“ One-time passcodes: Odoo to WhatsApp, one-way, for login or order verification flows.
  • โœ“ Contact numbers: Odoo to WhatsApp, one-way, normalized to international format before any send.
  • โœ“ Conversation history: stored against the Odoo record so the next agent sees what was said.

How we implement it

  1. 1
    Business account setup

    A WhatsApp Business account with a verified number that is not already tied to the consumer app.

  2. 2
    Template design and approval

    Draft the templates you need, submit them for approval, and design around the fact that free-text sending is limited outside an open conversation.

  3. 3
    Number normalization

    Clean the contact numbers in Odoo to international format first. This is the single most common cause of failed sends.

  4. 4
    Trigger mapping

    Decide which Odoo events send which template, to whom, and in which language.

  5. 5
    Inbound routing

    Route replies to the right team, with a fallback queue so nothing lands in an unwatched inbox.

  6. 6
    Monitoring

    Track delivery failures and template rejections so a broken template is caught the same day, not at month end.

Services that cover this work

WhatsApp Business and Odoo: common questions

Can we send any message we like?

No. Outside an open conversation with the customer, sends are limited to templates approved in advance. Once the customer replies, free-text conversation is possible for a period, which is why templates are designed to invite a reply.

Do replies reach the right person?

Yes. Inbound messages are matched on phone number and posted to the related record, then routed to a team. An unmatched number goes to a fallback queue rather than nowhere.

Can we send in Arabic and English?

Yes. Templates are approved per language, and Odoo picks the language from the customer record so each contact gets their own.

Is this the same as WhatsApp Web on a shared phone?

No, and that difference matters. The Business API gives you per-record history, delivery receipts, automation and multiple agents on one number, none of which a shared handset can do.

Can it send one-time passcodes?

Yes, using a template built for verification. It is a common pattern for portal login and order confirmation where email deliverability is poor.

Need a connector that is not on the list?

Custom REST, GraphQL, webhook, EDI and flat-file integrations, built with retry, idempotency and audit logging so a failed message is visible instead of lost.