WHATSAPP × ODOO

Odoo has WhatsApp. Odoo 19 has AI agents. The bridge is not automatic.

A production WhatsApp agent needs the WhatsApp Business Platform, inbound webhooks, approved outbound templates, Odoo record matching, a narrow agent tool set, and a human handoff. Connecting two apps is the easy part. Deciding what the agent may say and do is the product.

AI assistant using live Odoo data to answer a business conversation

The direct answer: Odoo 19 does not document a one-click “WhatsApp AI Agent.” It documents a WhatsApp Business Platform integration and, separately, native AI agents and AI-powered Live Chat. You can combine these capabilities, but the message routing, identity checks, tool permissions, template rules, and escalation path must be designed.

This matters because a website live-chat visitor and a WhatsApp contact are not the same channel. Odoo’s AI Live Chat integration has a documented agent and lead-creation flow. Odoo’s WhatsApp integration connects a WhatsApp Business Account to Odoo through Meta’s API and webhooks. Do not promise the Live Chat agent automatically answers WhatsApp unless you have built and tested that bridge.

What is native

Start with what Odoo and Meta actually provide

Native capabilities and custom work for an Odoo WhatsApp AI agent
LayerProvidedYou still decide or build
WhatsApp Business PlatformBusiness numbers, message APIs, templates, webhooks, delivery eventsConsent, routing, retries, template strategy, operational ownership
Odoo WhatsAppWABA integration, Discuss conversations, templates, webhook configurationWhich records messages may read or update
Odoo 19 AIAgents, prompts, topics, tools, sources, server actionsThe WhatsApp channel adapter and safe tool set
Odoo AI Live ChatAI responses, source grounding, lead qualification, escalationEquivalent behavior for WhatsApp and channel-specific policy

Odoo’s WhatsApp documentation is explicit that the integration is for WhatsApp Business Platform Accounts, not personal WhatsApp accounts. Meta’s Cloud API uses Graph API calls for outgoing messages and webhooks for incoming messages and status events. Templates generally require approval and are the mechanism for messaging outside the customer-service window.

Architecture

The production message path

Customer → WhatsApp Business Platform → webhook → Odoo WhatsApp / Discuss → identity and conversation policy → AI agent → approved Odoo read tools → response draft → policy check or human approval → WhatsApp API → delivery status webhook → Odoo log

Every arrow carries a failure mode. Webhooks can be retried. Contacts can share a phone. A customer can ask about an order they do not own. The model can misunderstand a product code. A template can be rejected or paused. Delivery can fail. A human can join halfway through the conversation.

Use idempotency keys or message IDs so retries do not create duplicate leads, activities, or orders. Store the external message ID, Odoo conversation, matched partner, chosen tool, records read, response status, and escalation result. “The AI said it” is not an audit trail.

Identity

A phone number is a clue, not authorization

Matching an incoming number to res.partner is convenient. It is not enough for sensitive data. Numbers are reassigned, shared by teams, entered inconsistently, and sometimes attached to several contacts. Before disclosing invoice balances, delivery addresses, or order details, define an identity policy.

  • Public questions: product information, opening hours, delivery regions, and approved FAQs can use trusted sources without customer identification.
  • Low-risk account questions: ask for an order reference and verify it against the matched contact before returning a limited status.
  • Sensitive questions: move the customer to an authenticated portal or a human-assisted verification flow.
  • Writes: never change bank details, payment terms, addresses, or confirmed orders from a conversational guess.

Do not send the model every field on the partner record. Build tools that return only what the use case requires. Redact internal notes, credit limits, margins, employee information, and unrelated company data by default.

Useful jobs

Four WhatsApp agent jobs worth building

1. Product and policy answers from approved sources

Answer availability rules, return policy, delivery areas, warranty terms, and basic product questions from controlled Knowledge content. Restrict the agent to those sources when an unsupported answer would create a commercial promise.

2. Order-status lookup

After identity checks, read sale-order and delivery status and return a plain-language update with the order reference. Do not let the model infer that “assigned” means “shipped.” Map Odoo states to approved customer wording.

3. Lead qualification with human escalation

Collect name, company, use case, location, and requested timeline; then create a draft lead or hand off to a salesperson. Odoo’s AI Live Chat documentation offers a useful pattern: the agent answers common questions, requests information, creates leads through a dedicated topic, and escalates when confidence or policy requires a human.

4. Draft order intake

For known wholesale customers, interpret a message or attached document, match products, and create a draft quotation for review. Never silently confirm the order, invent an SKU, override a pricelist, or choose a substitute without an explicit policy.

Tools

Keep WhatsApp tools narrower than internal chat tools

An internal employee can notice a strange answer and open the record. A customer sees an official business message. The tool surface should reflect that difference.

  • search_public_product_information — approved fields and published products only.
  • get_verified_order_status — requires order reference plus an identity match; returns mapped customer-safe states.
  • create_draft_lead — validates required contact fields and marks WhatsApp as the source.
  • create_draft_quotation — known partner, matched SKUs, no confirmation, visible warning on unmatched lines.
  • handoff_to_human — records the reason and includes a concise conversation summary.

Do not expose generic model access, arbitrary server actions, payment posting, refunds, user management, or unrestricted chatter search. Prompt instructions such as “be careful” do not make a broad tool safe.

Messaging rules

Templates and customer-service windows shape the conversation

Meta distinguishes free-form conversation inside its service window from template messages used to initiate or resume business messaging outside it. Templates are approved, categorized, monitored for quality, and can be paused or rejected. Your agent therefore cannot treat every outbound message as ordinary chat.

Keep template selection deterministic. The agent may provide variables for an approved template, but code should validate the template, language, required placeholders, contact consent, and business purpose. Subscribe to status and template webhooks so Odoo reflects delivery failures and template-state changes.

Do not let the model generate opt-in language, legal notices, or marketing templates on the fly. Those are controlled communication assets. The agent can choose among approved options only when policy permits it.

Handoff

Human escalation is a feature, not a fallback apology

Define escalation triggers before launch: low confidence, repeated misunderstanding, customer frustration, custom pricing, contract changes, account access, payment disputes, troubleshooting, regulated advice, or any write outside the narrow tool set.

The handoff should include the matched contact, verified references, concise summary, sources consulted, tools called, and draft next step. Stop the agent from continuing once a human owns the conversation. Two voices answering the same WhatsApp thread is worse than a short wait.

Measure containment only alongside correctness and customer effort. A 90% “automation rate” that hides wrong answers is not success. Track verified resolutions, handoff quality, duplicate records, template failures, response time, customer re-contact, and the percentage of agent drafts a human materially edits.

Rollout

A safe launch sequence

  1. Connect a test WhatsApp Business number to a staging Odoo database.
  2. Start with source-grounded public FAQs and no record access.
  3. Add human handoff and prove ownership transfer works.
  4. Add one verified read tool, such as order status.
  5. Test shared numbers, unknown contacts, duplicate webhooks, another company, invalid references, and prompt injection inside message text.
  6. Add draft-only lead or quotation creation with required review.
  7. Monitor messages, tool calls, provider cost, retries, handoffs, and corrections.
  8. Expand only when the current job is boring and measurable.
Questions

FAQ

Does Odoo 19 include a WhatsApp AI agent?

Odoo 19 documents WhatsApp integration and AI agents separately. It documents a native AI agent for Live Chat, but not a one-click WhatsApp AI agent bridge.

Can I use a personal WhatsApp account with Odoo?

No. Odoo’s documented integration is compatible with WhatsApp Business Platform Accounts, not personal WhatsApp accounts.

Can the agent send any outbound WhatsApp message?

No. Meta’s service-window and template rules apply. Template messages generally require approval, and your workflow must validate consent, purpose, variables, and template status.

Should a WhatsApp agent create Odoo orders automatically?

Start with draft quotations for known customers, matched products, and human review. Do not confirm orders or invent product matches from an ambiguous message.

Your customers should see one helpful conversation—not your integration diagram.

We build the Odoo agent, tools, approvals, and audit trail, then connect the channel around it.