Odoo 19 WhatsApp Integration: Step-by-Step Setup Guide

Integrating WhatsApp with Odoo 19 allows businesses to manage customer conversations directly from their ERP system. With the WhatsApp Business Platform Cloud API, your team can send messages from Odoo and handle customer replies through the Discuss app.

This guide explains how to connect Meta WhatsApp Cloud API to Odoo 19, configure the required credentials and webhooks, test incoming and outgoing messages, and troubleshoot common setup issues.

Before you start, you will need administrator access to your Odoo database and access to your Meta business assets. Allow approximately 45 to 60 minutes for the initial setup, depending on your account configuration and verification requirements.

​Applies to

Odoo 19 Enterprise, including Odoo Online

Who should use this guide

Odoo administrators and IT professionals responsible for setting up WhatsApp.

Example database

acmefashion.odoo.com

Note: This guide uses a fictional company called Acme Fashion. Replace every example value with your own details from Meta and Odoo.

1. What You Will Achieve

When this guide is finished:

  • You can send WhatsApp messages from Odoo, including Contacts, Sales, and Discuss, where supported.
  • When a customer replies, the message can appear in Odoo Discuss under the WhatsApp section.
  • Your team can manage customer conversations in Odoo without switching to a separate messaging interface.

2. What You Need Before Integrating WhatsApp with Odoo

2.1 Requirements

  • A Meta business account with the necessary administrative permissions.
  • A Meta developer account and a configured app with the WhatsApp product.
  • A business phone number that can complete Meta's verification process by SMS or voice call, where supported.
  • Administrator access to your Odoo database.
  • A public HTTPS address for your Odoo database. Odoo Online already provides this.

Important: Odoo's native WhatsApp integration supports WhatsApp Business Platform accounts, not personal WhatsApp accounts or WhatsApp Business App accounts used as standalone app accounts. If you want to use an existing number, check Meta's current migration requirements before disconnecting or deleting any existing account. Do not delete your WhatsApp account without first confirming the appropriate migration procedure.

For details, refer to the official Odoo 19 WhatsApp documentation.

2.2 Values You Will Collect from Meta

Keep these values in a secure location. You will enter them in Odoo later.

Value Where to find it in Meta What it is
Phone Number ID Meta Developers > Your app > WhatsApp > API Setup The ID of your WhatsApp business number. It is not the phone number itself.
WhatsApp Business Account ID (WABA ID) Meta Developers > WhatsApp > API Setup The ID of your WhatsApp Business Account. Example: 109876543219876
App ID Meta Developers > App Settings > Basic The ID of your Meta app. Example: 742198765432109
App Secret Meta Developers > App Settings > Basic > Show A private credential used by Odoo when validating incoming webhook requests.
Access Token Meta Business Settings > Users > System Users A token that authorises API requests on behalf of the configured business assets.
Verify Token Shown in Odoo on the WhatsApp Business Account record A value that Meta uses to verify the webhook endpoint during setup.

Important: Never share your App Secret or access token in public documents, emails, or chats. Anyone who obtains valid credentials may be able to access business resources or perform actions permitted by those credentials.

3. Prepare Your Meta WhatsApp Business Account​

3.1 Prepare and Verify the Business Phone Number

  1. Go to Meta for Developers and open your app.
  2. In the left menu, open WhatsApp and select API Setup.
  3. Follow the instructions to add and verify your business phone number.
  4. Enter the verification code sent by SMS or voice call, as offered by Meta.
  5. Record the Phone Number ID and WhatsApp Business Account ID displayed on the page.

If your number is already being used in WhatsApp or WhatsApp Business, check Meta's current number-migration and coexistence options before proceeding. The standard Odoo integration requires a compatible WhatsApp Business Platform configuration. Do not assume that deleting the existing account is always necessary or that an existing app number can be connected without migration.

3.2 Configure the Meta Developer App

  1. Open your app in Meta for Developers.
  2. Complete the required app details and business configuration.
  3. Add the WhatsApp product if it has not already been added.
  4. Open App Settings > Basic and record the App ID.
  5. Click Show next to App Secret, authenticate if required, and copy the secret securely.

Meta may require a privacy policy URL and other information before an app can be switched to Live. Complete the required configuration and permissions for your intended business use.

3.3 Create a System User Access Token

  1. Go to Meta Business Suite and open Business Settings.
  2. Navigate to Users > System Users.
  3. Create a System User with the appropriate administrative permissions, or select an existing authorised system user.
  4. Assign the app and WhatsApp Business Account as assets, granting the permissions required for the integration.
  5. Generate an access token for the app.
  6. Select the appropriate permissions, including whatsapp_business_messaging and whatsapp_business_management, as required for your configuration.
  7. Copy the token and store it securely.

Important: A System User access token can be configured without an expiry where Meta permits it, but this does not guarantee that it will remain valid indefinitely. Changes to permissions, assets, or account security may affect its validity. Review the token's permissions and status if the integration stops working.

4. Configure WhatsApp in Odoo 19

  1. In Odoo, open the WhatsApp app.
  2. Go to WhatsApp > Configuration > WhatsApp Business Accounts.
  3. Click New.
  4. Enter the details shown in the table below.
  5. Click Save.
  6. Click Test Connection. A successful result confirms that Odoo can connect using the configured credentials.

Odoo WhatsApp Business Account Configuration

Odoo field What to enter
Account Name A clear name, for example, Acme Fashion WhatsApp.
Phone Number ID The Phone Number ID from Meta. Example: 187654321098765
Account ID The WhatsApp Business Account ID from Meta. Example: 109876543219876
App ID The App ID from Meta App Settings > Basic. Example: 742198765432109
App Secret The App Secret from Meta App Settings > Basic. Copy it exactly.
Access Token The System User access token generated for the configured business assets.
Notify Users Add the Odoo users who should be notified about incoming WhatsApp conversations.

If Notify Users is empty or configured incorrectly, the expected users may not receive notifications for new conversations. Review this setting as part of your receiving-message tests.

After the account is saved and the connection is tested, Odoo provides the Callback URL and Webhook Verify Token needed for the next step.

5. Connect the Webhook in Meta

The webhook allows Meta to send incoming message events to Odoo. Without a correctly configured webhook, sending messages successfully does not guarantee that customer replies will appear in Odoo.

5.1 Add the Callback URL

  • In Meta for Developers, open your app.
  • Go to WhatsApp > Configuration or the webhook configuration section available in your app.
  • In the Webhook section, click Edit.
  • Copy the Callback URL from the WhatsApp Business Account record in Odoo.
  • Paste it into the Callback URL field in Meta.

The URL will resemble this example:

https://acmefashion.odoo.com/whatsapp/webhook

  • Copy the Verify Token from Odoo and paste it into the corresponding field in Meta.
  • Click Verify and Save.

Use the exact URL and token generated by your Odoo database. Do not copy the example URL above as your actual callback URL.

If verification fails, check for typing errors, confirm that the URL uses HTTPS, and ensure that the credentials and webhook configuration are correct.

Good to know: If you open the webhook URL in a normal browser, you will see "Forbidden". This is normal. The address only accepts requests from Meta. It does not mean something is broken.

5.2 Subscribe to the Required Webhook Fields

1. On the webhook configuration page, locate Webhook Fields.

2. Click Manage.

3. Subscribe to the following fields:

  • account_update
  • message_template_quality_update
  • message_template_status_update
  • messages
  • template_category_update

4. Save the changes.

These are the webhook fields listed in Odoo 19's official configuration instructions. The messages field is essential for receiving message events. The other fields support account or message-template updates.

For the complete configuration procedure, consult the Odoo 19 WhatsApp documentation.

6. Test the WhatsApp Integration

6.1 Test Sending a Message​

  1. In Odoo, open a contact with a phone number you can access.
  2. Make sure the phone number is stored in the correct international format.
  3. Send a WhatsApp message from Odoo using the available messaging action.
  4. Check that the message arrives on the recipient's phone.

If this is your first test, use a recipient number and message type permitted by your Meta configuration. Template requirements and other WhatsApp messaging restrictions still apply.

6.2 Test Receiving a Reply​

  1. On the recipient's phone, open the conversation that received the message.
  2. Reply to the message from your business number.
  3. In Odoo, open Discuss and check the WhatsApp section.
  4. Confirm that the incoming message appears in the expected conversation.
  5. Reply from Odoo and confirm that the recipient receives your response.

Note: The Test button next to the messages field in Meta sends a fake sample message with a made-up phone number ID. A green "200 OK" there only proves that Meta can reach your URL. It does not prove real customer replies will arrive (for example, a wrong App Secret is not caught by this test). Always do the real test.

6.3 If the Reply Does Not Appear​

  1. Enable developer mode in Odoo if necessary.
  2. Go to Settings > Technical > WhatsApp > WhatsApp Messages, where available.
  3. Look for the incoming message record.
  4. If a record exists but the conversation is not visible to the expected users, check the Notify Users configuration and the conversation's access and notification settings.
  5. If no record exists, check the webhook configuration and troubleshooting steps below.

7. Troubleshooting Common Odoo WhatsApp Integration Issues

Problem Likely cause What to do
Sending works, replies never arrive in Odoo Wrong App Secret in Odoo (most common), or webhook not set up fully First copy the App Secret again from Meta App Settings > Basic and save it in Odoo. Then check Step 3: callback URL verified and messages field subscribed.
Meta webhook test is green but real messages do not come The test uses a fake number ID and hides real errors Test with a real message (6.2). Recopy the App Secret into Odoo.
Forbidden page when opening the webhook URL in a browser Normal behaviour Nothing to fix.
Message received in Odoo but nobody sees the chat Notify Users is empty Add users to Notify Users on the WhatsApp account and send a new message.
Incoming messages rejected (403 / signature error) Wrong App Secret in Odoo Copy the App Secret again from Meta App Settings > Basic. No spaces. Save, then send a new test message.
Webhook Verify and Save fails in Meta Callback URL or Verify Token typed wrongly Copy both again from Odoo. Make sure the URL starts with https://.
Cannot send free text to a customer More than 24 hours since the customer last wrote Send an approved message template instead (see Section 8).
Number keeps missing messages Number still active on a phone WhatsApp app Delete the WhatsApp account on the phone (Step 3.1).
Messages go to the wrong contact Number formats differ Store customer numbers in international format, for example +1 415 555 0199.

Tip for Odoo Online: You do not have direct access to the server logs in the same way as a self-hosted deployment. Start with the Odoo WhatsApp Messages records, Meta's webhook configuration, and the available API error details.

8. Daily Use: WhatsApp Messaging Rules and Best Practices

24-hour messaging window

Under WhatsApp's standard customer-service rules, free-form replies are generally permitted within 24 hours of the customer's last message. Outside this window, an approved message template is generally required to initiate or resume a conversation.

Message templates

Create templates in Odoo or Meta, submit them for approval where required, and ensure their status is synchronised with Odoo. Subscribe to the relevant webhook fields to receive supported template updates.

Team access

Keep Notify Users and conversation access settings up to date when staff join or leave.

Token security

Do not delete or regenerate the System User access token without a plan to update the credentials in Odoo. Protect tokens and App Secrets from unauthorised access.

Message quality

Avoid sending unwanted messages. Customer blocks and reports can negatively affect your business's messaging quality and may lead to restrictions.

Phone number format

Store customer numbers consistently in international format, including the correct country code.

9. Odoo WhatsApp Integration Checklist

Tick each item when it is complete.

10. Frequently Asked Questions

Yes. Odoo's native WhatsApp app is available for supported Odoo Enterprise deployments, including Odoo Online. The integration requires a correctly configured WhatsApp Business Platform account and Meta credentials.

Yes. Odoo's native WhatsApp integration is an Enterprise application and is not available in Odoo Community edition.

Possibly, but the number must be configured for a compatible WhatsApp Business Platform setup. Check Meta's current migration or coexistence options before making changes to an existing WhatsApp or WhatsApp Business App account.

Sending and receiving depend on different parts of the integration. Check the App Secret, webhook callback URL, Verify Token, subscribed fields, access permissions, and incoming-message records in Odoo.

Yes. Odoo supports WhatsApp conversations through Discuss. Configure the appropriate notification users and manage access to conversations according to your team's workflow.

Approved templates are generally required for business-initiated messages and messages sent outside the standard 24-hour customer-service window. The exact messaging requirements depend on the type of message and applicable WhatsApp policies.

We work with Odoo every day.

Check out our blog for more guides and how-to articles about Odoo.

View more articles
في ERP
تسجيل الدخول حتى تترك تعليقاً
How Odoo Helps Businesses Build Smarter, Connected Websites