# Send Template

The *Send Template* action node enables you to send pre-approved [WhatsApp message templates](/flow/channel-capabilities/use-whatsapp-with-chat-flow/send-whatsapp-message-templates.md) to your customers from within Chat Flow.

You can use this node in any of your workflows, but it is typically used in [Dynamic API flows](/flow/workflow-management/create-new-flow/dynamic-api-workflows.md) to initiate WhatsApp conversations with customers.&#x20;

{% hint style="info" %}
When configuring the node, you can only select from the **approved** WhatsApp templates on your account. To find out how to apply for and manage your WhatsApp templates, see [here](https://guides.clickatell.com/whatsapp-channel/channel-capabilities/whatsapp-message-templates/add-message-templates).

Note that this node is not supported on the [Previewer](/flow/workflow-management/using-the-previewer.md).
{% endhint %}

<figure><img src="/files/lNRiFqJrvQcMKri88eJB" alt=""><figcaption><p>Configuring the Send Template action node</p></figcaption></figure>

<figure><img src="/files/hDn3LHIDsbdgibbPZrFC" alt=""><figcaption><p>Setup of a Send Template node.</p></figcaption></figure>

**Manual JSON Config** allows you to configure the Send Template node dynamically at runtime using either a flow variable or a session variable that contains the template configuration. You can provide the full template payload programmatically, rather than pre-selecting a single template and defining its values in the node UI. This makes it possible to use one Send Template node to send different approved WhatsApp templates, populate template parameters dynamically, and include media references such as images or documents when required. This option is especially useful in [dynamic workflows](/flow/workflow-management/create-new-flow/dynamic-api-workflows.md) where the template name, parameters, or media need to be determined during the flow, for example from an API response or values set earlier in the session.

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

You can use the *Send Template* node to send any type of template. Depending on the type of template you select, the fields to configure adapt accordingly.

#### Text templates

Below is an example of how to configure the node if a text template is selected.

<figure><img src="/files/RtRPVanfRkxmHQONSFMi" alt="" width="563"><figcaption><p>Example of a text template.</p></figcaption></figure>

#### Templates with interactive buttons

Below is an example of configuring the node if a template with interactive buttons is selected.

The flow-builder can configure the next flow/step to execute when the customer selects each button. Additional data that needs to be sent for postback data can be added if required.

{% hint style="info" %}
Maximum of 10 buttons allowed.
{% endhint %}

<figure><img src="/files/QdPPRER5aLe8KrsULbcs" alt="" width="272"><figcaption><p>Example of a template with interactive buttons.</p></figcaption></figure>

If the template contains a dynamic URL, the flow-builder must capture the variable's value in the field as shown below.

<figure><img src="/files/1zGpsZHm60rz5go9r2fb" alt="" width="272"><figcaption></figcaption></figure>

#### Templates with media headers

Below is an example of configuring the node if a media template is selected. You can add images, videos, and documents in the header of your template.&#x20;

The flow-builder must specify the media file to add to this template.&#x20;

{% hint style="info" %}
The preview will not show the media file, it will only be added upon sending.&#x20;
{% endhint %}

<figure><img src="/files/xvHNsl7M11iGtb7GoRi5" alt="" width="563"><figcaption></figcaption></figure>

#### Templates with location headers

Below is an example of configuring the node if a location template is selected.&#x20;

{% hint style="info" %}
Only supported on Meta's Cloud environment.
{% endhint %}

<figure><img src="/files/Q4DFg1V1muXAl5whMr4Y" alt="" width="563"><figcaption></figcaption></figure>


---

# Agent Instructions: 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:

```
GET https://guides.clickatell.com/flow/action-nodes/send-template.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
