> For the complete documentation index, see [llms.txt](https://learn.doubletick.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://learn.doubletick.io/automations-and-integrations/integration/webengage-x-doubletick.md).

# WebEngage x DoubleTick

Learn how to connect WebEngage with DoubleTick so you can send WhatsApp campaigns from WebEngage through your DoubleTick WABA number and get delivery updates back.

The WebEngage x DoubleTick integration is a native integration that lets you run WhatsApp campaigns from WebEngage while DoubleTick sends the messages through your WhatsApp Business API number. Delivery status updates flow back to WebEngage, so your campaign reports stay accurate.

This guide walks you through the full setup, from creating an API key to launching a test campaign.

#### What's covered

* [Before you start](#before-you-start)
* [How to create a DoubleTick API key](#how-to-create-a-doubletick-api-key)
* [How to add DoubleTick as a WhatsApp provider in WebEngage](#how-to-add-doubletick-as-a-whatsapp-provider-in-webengage)
* [How to set up the delivery report webhook in DoubleTick](#how-to-set-up-the-delivery-report-webhook-in-doubletick)
* [How to create templates in WebEngage](#how-to-create-templates-in-webengage)
* [How to send a test campaign](#how-to-send-a-test-campaign)
* [Key takeaways](#key-takeaways)

#### Before you start

Make sure you have the following ready:

* An active DoubleTick account with a WhatsApp Business API (WABA) number connected.
* Admin access to your DoubleTick account.
* Admin access to your WebEngage dashboard.
* Access to Postman, which you will use once to register the delivery token.

The setup has four parts: creating an API key, adding DoubleTick as a provider in WebEngage, connecting delivery updates back to WebEngage, and creating your templates. Do them in this order.

#### How to create a DoubleTick API key

<figure><img src="https://2303112206-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F53n17VnOICC1LtDqlENV%2Fuploads%2FU3fDRPfQsU7mG7Y3cQEs%2F01-create-api-key.gif?alt=media&amp;token=13cfbc6a-c70a-483e-b357-4144fa68e248" alt=""><figcaption></figcaption></figure>

* Log in to DoubleTick and go to **Settings** → **Developer API**.
* Click **Create new key**.
* Give the key a name you will recognise later, for example "webengage".
* Click **Copy key** and save it somewhere safe. DoubleTick shows the key only once, so if you lose it you will need to regenerate it.
* Keep this key handy. You will paste it into WebEngage in the next section and into Postman later.

#### How to add DoubleTick as a WhatsApp provider in WebEngage

<figure><img src="https://2303112206-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F53n17VnOICC1LtDqlENV%2Fuploads%2F5IaACHrIq1KUfIvPD6R6%2F02-webengage-wsp.gif?alt=media&amp;token=0384dc37-367b-4d8c-8256-2d03291bad64" alt=""><figcaption></figcaption></figure>

* Log in to WebEngage and go to **Integrations** → **Channels** → **WhatsApp**.
* Scroll to **Available WhatsApp Service Providers (WSP)** and click **Private WSP**.
* In the **Add WhatsApp Service Provider (WSP)** window, fill in the fields as follows:
  * **WhatsApp Service Provider**: Private WSP.
  * **Configuration Name**: DoubleTick.
  * **WhatsApp Business Number**: your WABA number with the country code.
  * **URL**: `https://public.doubletick.io/whatsapp/message/webengage`
  * **Request Type**: Send personalization variables.
* Click **Add Header** and enter **Authorization** as the key and your DoubleTick API key as the value.
* Click **Add WSP** to save.
* WebEngage now shows a pop-up titled **Webhook URL for Delivery Reports**. Copy this URL, because you need it in the next section. It looks like `http://wt.in.webengage.com/tracking/events`.
* Click **OK**. DoubleTick now appears in your **WhatsApp Service Provider (WSP)** list as a Private provider.

#### How to set up the delivery report webhook in DoubleTick

<figure><img src="https://2303112206-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F53n17VnOICC1LtDqlENV%2Fuploads%2FIyEl8jlOjmGqUQJiNv0w%2F04-postman-dsn.gif?alt=media&amp;token=5e1ec594-885e-40f0-8b2b-6726bc68298b" alt=""><figcaption></figcaption></figure>

To set up the delivery report webhook, you need a DSN token from WebEngage. You request this token from WebEngage support, then use it in a cURL request that registers the Delivery Report URL you copied from WebEngage with DoubleTick.

* Email the WebEngage support team and ask for the DSN token for your private WhatsApp service provider setup. They will send you the token.
* Copy the following cURL command:

{% code expandable="true" %}

```bash
curl -X POST 'https://public.doubletick.io/v2/webhook/register' \
    -H 'Authorization: <ORG_PUBLIC_API_KEY>' \
    -H 'content-type: application/json' \
    -d '{
      "url": "<WEBENGAGE_DSN_URL>",
      "method": "POST",
      "bodyFormat": "JSON",
      "authorization": {
        "type": "BEARER",
        "payload": "<WEBENGAGE_DSN_TOKEN>"
      },
      "webhookEvents": ["WEBENGAGE_MESSAGE_STATUS"],
      "wabaNumbers": ["<YOUR_WABA_NUMBER>"],
      "isVisible": true
    }'
```

{% endcode %}

* Open Postman, click **Import**, paste the cURL command and press **Enter**. Postman fills in the method, URL, headers and body for you.
* Replace the placeholders with your own details:
  * `<ORG_PUBLIC_API_KEY>`: the DoubleTick API key you created earlier.
  * `<WEBENGAGE_DSN_URL>`: the Delivery Report URL you copied from WebEngage.
  * `<WEBENGAGE_DSN_TOKEN>`: the token WebEngage support sent you.
  * `<YOUR_WABA_NUMBER>`: your WABA number with the country code and no plus sign.
* Click **Send**. A successful call means DoubleTick will now deliver message status updates to WebEngage with the token attached.
* If you see a `403 Forbidden` response, check that the **Authorization** header holds your full, valid DoubleTick API key.

#### How to create templates in WebEngage

WebEngage needs its own copy of every template you want to send. Your template must already be approved in DoubleTick first. The template you create in WebEngage must be identical to the one in DoubleTick. If anything differs, the message will fail to send.

* Create and get your template approved in DoubleTick as usual.
* In WebEngage, go to **Integrations** → **Channels** → **WhatsApp**, and click **Add WhatsApp Template** under **WhatsApp Templates**.
* Enter the same template name you used in DoubleTick.
* Select **DoubleTick (Private)** as the **WhatsApp Service Provider**.
* Choose the template type (Text, Image, Video, and so on), the category and the language to match your DoubleTick template.
* Add the template text, footer and buttons exactly as they appear in DoubleTick. The name, category, language, text, footer and buttons must all match exactly.
* Click **Submit** to save the template.
* Repeat for every template you plan to use in campaigns.

#### How to send a test campaign

* To send a test campaign, follow the steps in the official WebEngage documentation: [Creating WhatsApp campaigns](https://knowledgebase.webengage.com/docs/creating-whatsapp-campaigns#create-campaigns).

#### Key takeaways

* The integration sends WhatsApp campaigns from WebEngage through your DoubleTick WABA number.
* Create the DoubleTick API key first, then use it as the Authorization header in WebEngage.
* Copy the Delivery Report URL from WebEngage.
* Ask WebEngage support for the DSN token, then register the webhook in DoubleTick once with the Postman request.
* Create every template in both DoubleTick and WebEngage. The two templates must be exactly identical, or the message will fail to send.
* Send a test campaign before you launch to your full audience, using the official WebEngage documentation.

#### Frequently asked questions

<details>

<summary>Where do I find my DoubleTick API key?</summary>

Go to **Settings** → **Developer API** in DoubleTick and create a new key. DoubleTick shows the key only once, so copy it right away. If you lose it, regenerate the key from the same page.

</details>

<details>

<summary>Why do I need a DSN token?</summary>

The DSN token lets WebEngage accept the delivery status updates that DoubleTick sends. Without it, messages can still go out but your delivery status will not update in WebEngage.

</details>

<details>

<summary>Can I import templates from DoubleTick into WebEngage?</summary>

No. You create each template in WebEngage manually, using the same name, language and content as the approved template in DoubleTick.

</details>

<details>

<summary>My Postman request returns 403 Forbidden. What should I do?</summary>

This usually means the **Authorization** header is missing or the API key is incorrect. Paste your full DoubleTick API key into the **Authorization** header and send the request again.

</details>

<details>

<summary>My test message was not delivered. What should I check?</summary>

Check that your WABA number and API key are correct in the WebEngage provider settings, that the template name matches exactly in both platforms, and that the template is approved in DoubleTick. Also confirm your test segment contains a user with a valid phone number.

</details>

#### Related articles

{% content-ref url="/spaces/53n17VnOICC1LtDqlENV/pages/JvmraV79BtG1bLhD4amv" %}
[How to Create and Manage Your API Key in DoubleTick](/settings/developer-documentation/how-to-create-and-manage-your-api-key-in-doubletick.md)
{% endcontent-ref %}

{% content-ref url="/spaces/53n17VnOICC1LtDqlENV/pages/pzfwSyD9HYHWwTrfxkqr" %}
[How to use Message Status Update Webhook](/webhooks-and-public-api/webhooks/how-to-use-message-status-update-webhook.md)
{% endcontent-ref %}

{% content-ref url="/spaces/53n17VnOICC1LtDqlENV/pages/1IHB1sMp9nKMTRudNUZ8" %}
[Understanding and Using Webhooks in DoubleTick](/webhooks-and-public-api/webhooks/understanding-and-using-webhooks-in-doubletick.md)
{% endcontent-ref %}

{% content-ref url="/spaces/53n17VnOICC1LtDqlENV/pages/NTmcEhof4JYPvfhaoWLO" %}
[How to Create a Message Template](/templates/create-templates/how-to-create-a-message-template.md)
{% endcontent-ref %}

{% content-ref url="/spaces/53n17VnOICC1LtDqlENV/pages/z3HLvps2BSRtjLazMhwS" %}
[CleverTap x DoubleTick](/automations-and-integrations/integration/clevertap-x-doubletick.md)
{% endcontent-ref %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://learn.doubletick.io/automations-and-integrations/integration/webengage-x-doubletick.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
