> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zeotap.com/llms.txt
> Use this file to discover all available pages before exploring further.

# WhatsApp

## Overview

WhatsApp Business API is a leading messaging platform that enables businesses to communicate with customers at scale through the world's most popular messaging app. It allows companies to send automated notifications, provide customer support, and run marketing campaigns without coding, triggering personalized messages, interactive buttons, and rich media content in real-time based on customer behavior. Integrating seamlessly with existing business systems via robust APIs, WhatsApp Business API helps drive customer engagement, support efficiency, and conversational commerce across global markets. It provides end-to-end encryption, template messaging, and analytics to optimize communication strategies while maintaining WhatsApp's trusted user experience and achieving improved customer satisfaction and conversion rates. This integration with Zeotap enables you to send messages through WhatsApp.

## Pre requisites

1. You must have a verified **WhatsApp Business Account**.
2. You must have a verified **Facebook Business Manager Account**.
3. You'll need a **phone number** to associate with your **WhatsApp Business Account**. This number will be used for sending and receiving messages through the API.
4. You **must register your phone number** using the **WhatsApp Cloud API** to receive its unique **Phone Number ID**. This is done by making a POST request to the /\<PHONE\_NUMBER\_ID>/register endpoint.

```bash Bash (Unix Shell) theme={null}
curl --location 'https://graph.facebook.com/v23.0/{PHONE_NUMBER_ID}/register' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--data '{
    "messaging_product": "whatsapp",
    "pin": "{6_DIGIT_PIN}"
}'
```

5. **Template Creation** and Approval: All message **templates** must be created in the WhatsApp Manager and approved by Meta. It's best practice to use named variables **(like {`{customer_name}`})** instead of numbered ones for clarity and easier management.

<Frame>
  <img src="https://mintcdn.com/zeotap/kEe8zTZlpZky9cq1/articles/integrate-customer/Storage/integrate-customer/whatsapp/whatsapp_1.png?fit=max&auto=format&n=kEe8zTZlpZky9cq1&q=85&s=96e9eb949bb2720732c618128c38e0b3" width="1067" height="733" data-path="articles/integrate-customer/Storage/integrate-customer/whatsapp/whatsapp_1.png" />
</Frame>

6. You must generate a System User access token with the correct permissions (whatsapp\_business\_management, whatsapp\_business\_messaging, whatsapp\_business\_manage\_events) and configure a webhook to receive message status updates and replies.

<Note>
  **Note:**

  *At the moment, this integration supports **text-based templates only**. Sending **media content** (such as images or videos) and **links** is not supported yet.*
</Note>

## Creating a Destination

<Steps>
  <Step>
    Log into the Zeotap CDP App and go to the DESTINATIONS application.
  </Step>

  <Step>
    Click + Create Destination.
  </Step>

  <Step>
    Under All Destinations, search for **WhatsApp**.
  </Step>

  <Step>
    Click on WhatsApp. A screen appears displaying details about the particular destination towards the left. On the right-hand side of the screen find a list of fields that are required for the integration to be established. Enter the required details as mentioned in the following steps:

    a. Enter a name for the Destination. <br />
    b. Enter the **Access** **Token**. <br />
    c. Enter the **Template** **Name**. <br />
    d. Enter the **Phone Number ID**. <br />
    e. Select the **Template Language** from the dropdown menu. Refer to the [WhatsApp Supported Languages](https://developers.facebook.com/documentation/business-messaging/whatsapp/templates/supported-languages) documentation to identify the correct language code corresponding to the language selected when creating your template. <br />

    <Frame>
      <img src="https://mintcdn.com/zeotap/O0NPy2SgcJN2ar7w/articles/integrate-customer/Storage/integrate-customer/whatsapp/whatsapp_2.png?fit=max&auto=format&n=O0NPy2SgcJN2ar7w&q=85&s=c72a41f31c358cc4c6397eae49cef440" width="1600" height="925" data-path="articles/integrate-customer/Storage/integrate-customer/whatsapp/whatsapp_2.png" />
    </Frame>
  </Step>

  <Step>
    In the new screen that appears, choose the appropriate Action and mapping as explained below.

    a. Choose the desired action under Choose your Action and then choose the corresponding identifiers under Map the Fields. By default, the recipient number is visible. <br />
    b. Mandatory Fields <br />
    i. **to** <br />
    c. Click +**Add Mapping Field** and **enter your exact template variable name** in the field on the right. <br />
    d. Click **Save Mapping**.

    <Frame>
      <img src="https://mintcdn.com/zeotap/kEe8zTZlpZky9cq1/articles/integrate-customer/Storage/integrate-customer/whatsapp/whatsapp_3.png?fit=max&auto=format&n=kEe8zTZlpZky9cq1&q=85&s=d872ad171a9a86feac0fcfe9fd9c5730" width="1600" height="829" data-path="articles/integrate-customer/Storage/integrate-customer/whatsapp/whatsapp_3.png" />
    </Frame>
  </Step>
</Steps>

## Activate the Destination on Journeys

After creating a destination, next, you need to link it in the Send to Destination node within the workflow, as explained below.

<Steps>
  <Step>
    In the workflow, click + and choose Send to Destinations.

    <Frame>
      <img src="https://mintcdn.com/zeotap/kEe8zTZlpZky9cq1/articles/integrate-customer/Storage/integrate-customer/whatsapp/whatsapp_4.png?fit=max&auto=format&n=kEe8zTZlpZky9cq1&q=85&s=d45f30cc8c76e4838a69be4637253795" width="1032" height="542" data-path="articles/integrate-customer/Storage/integrate-customer/whatsapp/whatsapp_4.png" />
    </Frame>
  </Step>

  <Step>
    Choose the destination from the list of available destinations by using the search feature.

    <Frame>
      <img src="https://mintcdn.com/zeotap/kEe8zTZlpZky9cq1/articles/integrate-customer/Storage/integrate-customer/whatsapp/whatsapp_5.png?fit=max&auto=format&n=kEe8zTZlpZky9cq1&q=85&s=58493a0c91e2a6d0205c2e4f16fba62e" width="1600" height="891" data-path="articles/integrate-customer/Storage/integrate-customer/whatsapp/whatsapp_5.png" />
    </Frame>
  </Step>

  <Step>
    Under the Destination Details tab, the Access Token and Ad Account ID fields are automatically populated based on the value that you have entered while creating the destination.
  </Step>

  <Step>
    Under the Destination Settings tab, choose the Action and mapping as per your requirement.
  </Step>

  <Step>
    Upon clicking Save Destination. The destination is attached as shown in the image below.

    <Frame>
      <img src="https://mintcdn.com/zeotap/kEe8zTZlpZky9cq1/articles/integrate-customer/Storage/integrate-customer/whatsapp/whatsapp_6.png?fit=max&auto=format&n=kEe8zTZlpZky9cq1&q=85&s=078e666c39c56eac81d3b35cb326979e" width="1056" height="992" data-path="articles/integrate-customer/Storage/integrate-customer/whatsapp/whatsapp_6.png" />
    </Frame>
  </Step>
</Steps>
