> For the complete documentation index, see [llms.txt](https://guide.tiledesk.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://guide.tiledesk.com/apps-and-integrations/whatsapp-business/how-to-perform-a-whatsapp-broadcast-using-tiledesk-and-customer.io.md).

# How to perform a WhatsApp broadcast using Tiledesk and Customer.io

If you are a Customer.io user you may have noticed that it isn't possible to perform a native broadcast on the WhatsApp Channel. However, it is possible to use the Webhook option to “move” the broadcast towards Tiledesk and to use our new WhatsApp dedicated actions. How is it possible? Easy, Chatbot's actions can now be performed through API!

Let's see how to do that!

#### Create and configure a Chatbot on Tiledesk <a href="#create-and-configure-a-chatbot-on-tiledesk" id="create-and-configure-a-chatbot-on-tiledesk"></a>

If you haven't created a Chatbot yet, sign in on the [Tiledesk Dashboard](https://panel.tiledesk.com/v3/), create or select a project and click on **Bot** on the left sidebar. Click on *Add from scratch* button and create a new Chatbot.

You are now in the Chatbot Design Studio. Create a new block clicking on *+add* button and choose a name for this block. Before continuing, please delete the default Reply action as it isn't necessary to reach our goal.

<figure><img src="/files/k5xcJa2PDyXA1ij33dgR" alt=""><figcaption></figcaption></figure>

Now click on *Add action* and select the **WhatsApp by Attribute** action. Configure this action is very easy. Simply create a custom attribute by giving it a name that you will use later and choose it in the select "Assign to"

<figure><img src="/files/oPgPW8VlnALVI4wW4AyG" alt=""><figcaption></figcaption></figure>

Done! Your action is ready to be used.

#### Use the action in Customer.io[#](https://gethelp.tiledesk.com/articles/how-to-perform-a-whatsapp-broadcast-using-tiledesk-and-customerio/#use-the-action-in-customerio) <a href="#use-the-action-in-customerio" id="use-the-action-in-customerio"></a>

Sign in on [customer.io](https://customer.io/), create a new Broadcast, and configure it to your preferences choosing segments, conditions, goals, etc.

On the Step 3 (**Content**), choose the **Webhook** option and access the advanced settings click on *Content* box.

<figure><img src="/files/eIPAsPne4NjCogJqKMLp" alt=""><figcaption></figcaption></figure>

At this point, an HTTP request must be written correctly and to do so, it is necessary to know the language and the structure of the WhatsApp template to be sent in broadcast. But, don't worry, we have a trick for you!

> Remember that you can send messages to your customers on WhatsApp only using an approved template. For any doubt about the process of templates creation and WhatsApp configuration please refers to our guides on [WhatsApp Business Integration](/apps-and-integrations/whatsapp-business.md).

#### Use the Fast Prototyping trick to generate the request payload <a href="#use-the-fast-prototyping-trick-to-generate-the-request-payload" id="use-the-fast-prototyping-trick-to-generate-the-request-payload"></a>

Come back on Chatbot Design Studio. Add a new block for the Chatbot previously created, than click on *Add action* and select the **WhatsApp Static** action.

Note that this block will never be executed directly, but can be used as an important fast prototyping tool.

At this point, get your *Phone Number Id* from the [Meta for Developers](https://developers.facebook.com/apps/) platform and paste it on the Phone Number Id input field, then choose the template that you want to use in the broadcast.

It's very probable that the selected template contains parameters, so let's fill in the corresponding fields with some example information, including the recipient's phone number.

<figure><img src="/files/JgBzBdZHbgUQ8yBFDfAF" alt=""><figcaption></figcaption></figure>

if you want, you can see the preview of your WhatsApp message as the recipient will see it.&#x20;

A little further down you will be able to see the auto-generated payload that we can use to compile the HTTP request on customer.io.

> **Warning!** In the specific case of customer.io it is necessary and sufficient to enter only one recipient.

<figure><img src="/files/4ECihOn4dozQopDv3v1o" alt=""><figcaption></figcaption></figure>

Copy the auto-generated payload and move again on customer.io. Paste the static payload on the editor e make it dynamic.

<figure><img src="/files/IinOeHBShE1cAIfdhsIO" alt=""><figcaption></figcaption></figure>

Place the variables provided by customer.io to fill  parameters like recipient phone\_number, name, etc. Then, pay attention to the following changes:

* payload.text must be the name of the **WhatsApp by Attribute** action
* payload.token must be the chatbot token provided by **Tiledesk**

**Get chatbot token**

You can get the token associated with your chatbot from the Chatbot Design Studio itself, clicking on **General** on the left side menu, and under the **Developer** tab you can generate a new token simply clicking on **Get Token** button.

<figure><img src="/files/zknZ6LbFgDU4KGkPOnQP" alt=""><figcaption></figcaption></figure>

Let's complete the HTTP request on customer.io specifying:

* Method: **POST**
* Url: **<https://api.tiledesk.com/v3/modules/tilebot/ext/YOUR\\_BOT\\_ID>**
* Header: **Content-Type: application/json**

<figure><img src="/files/PP1EI9jJbVjv4Azt3iqN" alt=""><figcaption></figcaption></figure>

That's all! You will now be able to make your first WhatsApp broadcast with Tiledesk.

You can perform a test by clicking the **Send test** button on customer.io to be sure that all works correctly, then you can save changes, review your entire broadcast and choose whether to send it immediately or schedule it.

If you have any questions, feel free to contact us live on chat or at <info@tiledesk.com> 📧\
&#x20;

For more info on who we are, what we do, or what is our shtick, visit the [Tiledesk Website](https://tiledesk.com/) 👩‍🚀


---

# 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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://guide.tiledesk.com/apps-and-integrations/whatsapp-business/how-to-perform-a-whatsapp-broadcast-using-tiledesk-and-customer.io.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
