Skip to content

Set up a WhatsApp Channel

A WhatsApp channel links your WhatsApp Business phone number to Cloud Voice, letting agents handle customer WhatsApp conversations directly in the Cloud Voice App instead of a separate WhatsApp client. This page walks you through creating the required Meta app, collecting the credentials Cloud Voice needs, and connecting the channel end to end.

Confirm that both sides of the integration are ready before you begin.

Your Cloud Voice PBX (private branch exchange: the hosted phone system that routes your calls and messages) must meet the following requirements.

  • Firmware: Version 84.23.0.24 or later.
  • Domain name: The PBX domain name must not contain underscore (_) characters. Because of a restriction on the third-party platform, an underscore causes the messaging channel to fail authentication or stop receiving messages.
  • Domain certificate: A valid domain certificate must be installed on the PBX.
  • Product: WhatsApp Business Platform.

  • Accounts:

  • Phone number: A phone number that is valid and available for messaging. You can check a number’s status on the Meta Business Suite portal under Account > WhatsApp accounts > WhatsApp Manager > Account tools > Phone numbers.

    Cloud Voice, WhatsApp Manager phone numbers list showing an available number and its status

Keep the following constraints of the WhatsApp messaging channel in mind.

ItemDescription
Message typeText messages and multimedia messages are supported. WhatsApp determines which multimedia types are allowed; see WhatsApp supported media types.
Messaging mechanismAgents can receive and reply to inbound messages, and can also start a conversation proactively using a WhatsApp message template.
Message sending rateUp to 80 messages per second.
File sizeUp to 100 MB per file.
File retention periodFiles are retained for 72 hours.

Setting up a WhatsApp channel takes four steps:

  1. Create a Meta app on the Meta for Developers portal.
  2. Collect credentials on the Meta Business Suite portal.
  3. Create and configure the channel on Cloud Voice.
  4. Configure the webhook in the Meta app.

Create a Business-type Meta app, attach your WhatsApp phone number, and record the phone number ID and app secret. You will enter both values on Cloud Voice later.

  1. Sign in to the Meta for Developers portal with your Meta Developer account and open My Apps from the top menu.

    Meta for Developers top menu with the My Apps option highlighted

  2. Create an app of the Business type.

    1. Click Create App.

      App type selection page with the Create App button

    2. Fill in the app settings. In the Business Portfolio field, choose your Business Account so the app is tied to your business, apps that require advanced access for permissions must be linked to a verified business entity.

      Cloud Voice, app details form with the app name and Business Portfolio fields completed

  3. On the Add products to your app page, scroll to WhatsApp and click Set up. You are taken to the WhatsApp product’s Quickstart page.

    Add products page with the Set up button next to the WhatsApp product

  4. In the left navigation pane, go to WhatsApp > API Setup > Send and receive messages, then do the following:

    1. From the From drop-down list, click Add phone number and add your WhatsApp phone number for messaging.

      From drop-down list with the Add phone number option

    2. Select the added number in the list and note its Phone number ID: you will need it on the PBX.

      Selected phone number with its phone number ID displayed

  5. In the left navigation pane, go to App settings > Basic and note the App secret. You will need it on the PBX later.

    Cloud Voice, Basic app settings page with the App secret field

Step 2. Collect credentials on the Meta Business Suite portal

Section titled “Step 2. Collect credentials on the Meta Business Suite portal”

On the Meta Business Suite portal, create a system user, grant it access to the Meta app from Step 1, and generate an access token for it. You also copy the WhatsApp Business Account ID, which Cloud Voice uses to pull in the account’s message templates.

  1. From the top-left corner of the Meta for Developers portal, go to App Dashboard > Business settings. You are redirected to the Business settings page of the Meta Business Suite portal.

    App Dashboard menu with the Business settings link

  2. Go to Users > System users and create a system user with app permissions.

    1. Click Add and create a system user with the Admin role.

      System users page with the Add dialog for a new admin user

    2. Select the new user, click Add assets, and grant the user full control of the app.

      Cloud Voice, Add assets panel granting full control of the app to the system user

  3. Go to Accounts > WhatsApp Accounts, add the system user to your WhatsApp Business account, and grant full control.

    Cloud Voice, WhatsApp account people settings assigning full control to the system user

  4. Return to Users > System users and generate an access token with the whatsapp_business_messaging and whatsapp_business_management permissions enabled.

    Token generation dialog with the two WhatsApp permissions selected

    The generated token appears in a pop-up window.

    Pop-up window displaying the generated system user access token

  5. Go to Accounts > WhatsApp accounts, open your WhatsApp Business Account, and copy the account ID.

    WhatsApp Business Account details with the account ID

Step 3. Create and configure the channel on Cloud Voice

Section titled “Step 3. Create and configure the channel on Cloud Voice”

Create a WhatsApp channel on the PBX and populate it with the values you gathered in the previous steps so Cloud Voice can connect to WhatsApp for messaging.

  1. Sign in to the PBX web portal and go to Messaging > Message Channel.

  2. Click Add and select WhatsApp.

  3. On the Authentication tab, enter the WhatsApp authentication details.

    Cloud Voice, WhatsApp channel Authentication tab with name, webhook, and token fields

    • Name: A name that helps you identify the channel.
    • Webhook URL: Note this value down, you will paste it into WhatsApp in Step 4.
    • Verify Token: Note this value down, you will paste it into WhatsApp in Step 4.
    • Access Token: Paste the access token you generated in Meta Business Suite (Step 2).
    • App Secret: Paste the app secret you copied from the Meta for Developers portal (Step 1).
  4. On the Messaging Settings tab, configure the channel.

    1. Enter the WhatsApp phone number details.

      Messaging Settings tab with phone number and phone number ID fields

      • Phone Number: The WhatsApp phone number in E.164 format ([+][country code][phone number]), for example +15559871234.
      • Phone Number ID: The phone number ID you recorded in Step 1.
    2. In the WhatsApp Business Account ID field, paste the account ID you copied in Step 2. The PBX then automatically syncs the message templates tied to that WhatsApp account into the channel.

      WhatsApp Business Account ID field on the channel form

    3. From the Destination for Inbound Messaging drop-down list, choose where inbound messages to this number are routed.

      Destination for Inbound Messaging drop-down list

      OptionDescription
      ExtensionChoose an extension from the Extension drop-down list. Only that extension user receives inbound messages from the number.
      Message QueueChoose a queue from the Message Queue drop-down list. Every agent in the queue is notified of new inbound sessions, but once an agent picks up a session, only that agent receives and replies to the follow-up messages in it.
      Third-Party Message Analytics Platform (Transmitted via API)Inbound messages are automatically forwarded to a third-party message analytics platform over the API (application programming interface, a way for two systems to exchange data automatically) for advanced processing. This requires that your PBX is already integrated with the analytics platform via the API. Once integrated, incoming messages are relayed automatically, you can watch for the New Message Notification API event, and the PBX’s Message API suite is available for deeper interaction.
    4. In the Extensions Allowed to Create Messaging Sessions section, select the extensions that may start a messaging session with customers.

      Extension selection list for allowing outbound session creation

    5. Configure the session settings as needed.

      SettingDescription
      Close Session AutomaticallyTo have the system close sessions that have been idle for a set time, select the checkbox and enter the number of days in Session Timeout (Days).
      Allow the Creation of Duplicate Active SessionsSelect the checkbox to permit a new session even when an active session already exists between the same sender and receiver. When an agent tries to create such a session in the Cloud Voice App, a prompt appears; if the agent continues, the existing session is removed from the previous handler’s list and taken over by the new agent, along with the full chat history.

      Session Timeout field for automatically closing inactive sessions

  5. Click Save.

Step 4. Configure the webhook in the Meta app

Section titled “Step 4. Configure the webhook in the Meta app”

Set up a webhook for your Meta app so it delivers real-time message events, allowing the PBX to process incoming WhatsApp messages.

  1. Sign in to the Meta for Developers portal with your Meta Developer account and open My Apps from the top menu.

    Meta for Developers top menu with the My Apps option

  2. Click your app to open its details page.

    App list with the target app selected

  3. Go to WhatsApp > Configuration to set the messaging webhook and subscribe to the webhook field so the PBX is notified when WhatsApp messages arrive.

    1. Paste the Webhook URL and Verify Token you noted from the PBX in Step 3.

      Cloud Voice, WhatsApp webhook configuration with the callback URL and verify token entered

    2. In the Webhook fields section, subscribe to the messages field.

      Webhook fields list with the messages field subscribed

  • The channel’s Status shows a green indicator, confirming that the WhatsApp channel was created successfully.

    Message Channel list showing the WhatsApp channel with an active status

  • The PBX automatically counts the messages sent and received on the channel. The Total column shows all sent messages, including both successful and failed ones.

    WhatsApp channel message report with sent and received totals

Send a text message to the WhatsApp number and confirm that the assigned agent receives it in the Cloud Voice App.