# Highly Structured Message

This action will deliver a Message Template to the user. Message templates are created by your [WhatsApp Business selected provider.](https://docs.xenioo.com/actions-and-operations/content/broken-reference)

![](https://2532694803-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LdPD9c4fJbXSAZcPHt9%2F-M2E6cYqiCJSe-7eghyI%2F-M2E7T_pE0pkx8S4PkYt%2Fimage.png?alt=media\&token=f09a385a-2201-4c66-b048-264e931c65a4)

### Settings

The action uses the following settings:

| Setting           | Description                                                               | [Parsed](https://docs.xenioo.com/actions-and-operations/dynamic-parsing) |
| ----------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------ |
| Element Namespace | The namespace of the template. This is usually your Facebook Business Id. | :white\_check\_mark:                                                     |
| Element Name      | The name of the element you've chosen for your template                   | :white\_check\_mark:                                                     |
| Time To Live      | The TTL value for your template                                           | :white\_check\_mark:                                                     |
| Language          | The language of the template message                                      | :no\_entry:                                                              |
| Parameters        | The parameters that need to be supplied to your template                  | :white\_check\_mark:                                                     |

### Remarks

The Highly Structured Message action will deliver a WhatsApp Business template in full accordance to Facebook API. Please also refer to[ Facebook documents](https://developers.facebook.com/docs/whatsapp/api/messages/message-templates/) for specific information on the required fields.

{% hint style="info" %}
This action is **not blocking**. The flow will continue and restart from the relevant interaction if the user writes something instead of interacting with the template buttons.
{% endhint %}

### Trigger

This action has no triggers.

### Variables

Depending on the type of template, different variables might be generated upon user interaction with the content.

<table><thead><tr><th width="285">Variable</th><th width="163">Template Type</th><th>Description</th></tr></thead><tbody><tr><td>wa_flow_data</td><td>Flow</td><td>Contains the full JSON representation of all the information sent back by the WhatsApp flow.</td></tr><tr><td>wa_catalog_data</td><td>Catalog</td><td>Contains the full JSON representation of the user check out order.</td></tr><tr><td>ordered_products_count</td><td>Catalog</td><td>The number of products the user confirmed in his basket at checkout</td></tr><tr><td>&#x3C;INDEX>_product_retailer_id</td><td>Catalog</td><td>The retailer id of the product at &#x3C;INDEX></td></tr><tr><td>&#x3C;INDEX>_quantity</td><td>Catalog</td><td>The amount of products selected at &#x3C;INDEX></td></tr><tr><td>&#x3C;INDEX>_item_price</td><td>Catalog</td><td>The unit price of the product selected at &#x3C;INDEX></td></tr><tr><td>&#x3C;INDEX>_currency</td><td>Catalog</td><td>The currency of the price for the product at &#x3C;INDEX></td></tr></tbody></table>

{% hint style="info" %}
Flow template fields will also be parsed automatically and added to the bot conversation variables. The fields name can vary, depending on the fields of the flow.
{% endhint %}

### Availability

Channel specific availability follows the table below:

| Channel          | Availability    |
| ---------------- | --------------- |
| Facebook         | Not Applicable  |
| WhatsApp         | Fully Available |
| Telegram         | Not Applicable  |
| Web              | Not Applicable  |
| Alexa            | Not Applicable  |
| Google Assistant | Not Applicable  |
| Slack            | Not Applicable  |
| API              | Not Applicable  |

This action can be used only inside interactions and not as child of other actions.&#x20;
