# Whatsapp (WABA) Templates

### Overview

Saleschat lets you fetch and manage *templates* registered via your preferred BSP (Business Service Providers) or directly on Meta.

> **Can I register templates that are still&#x20;*****Pending Review*****?**\
> No. Templates must be in `APPROVED` state unless you explicitly call the admin-only bypass flow used by the auto-sync mechanism.

> **What does enable / disable mean for a template?**
>
> *Enabled:* When a template is enabled, it can be accessed and used by automations and APIs. This means it is available for workflows and integrations.&#x20;
>
> *Disabled:* Disabled templates cannot be utilized by automations or APIs. They are essentially inactive, so they won't appear & cannot be used, in automated processes until re-enabled.&#x20;

> **What does visible mean for a template?**
>
> **Visibility** determines whether an agent can see and select the template.
>
> * If a template is **visible**, agents will be able to find and use it on their chats screen
> * If a template is **hidden**, it will not be displayed to agents

> **What are quick replies on the template page?**
>
> **Quick replies** are conversational templates designed to keep conversations flowing smoothly. These are *not* Meta (Facebook) templates—they are custom responses, which you can register on Saleschat.&#x20;
>
> Quick replies allow agents to maintain conversation quality by providing prompt, contextually appropriate responses while a chat session is active.

### Supported Template Components

| Component          | Mandatory                      | Parameter support | Notes                                                                                                                        |
| ------------------ | ------------------------------ | ----------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| **Body**           | ✅ Yes                          |                   | We support only Numbered placeholders  `{{1}}...`Placeholders are not supported.                                             |
| **Header (Media)** | ✅ Yes                          |                   | Only `IMAGE`, `VIDEO`, or `DOCUMENT` formats are allowed. Text / Location headers are not supported.                         |
| **Footer**         | ✅ Yes (*Meta & Interakt only*) |                   | *Gupshup* templates **cannot** contain a footer at all.                                                                      |
| **Buttons**        | ✅ Yes                          |                   | Supported button types: `URL`, `PHONE_NUMBER`, `QUICK_REPLY`. URL Buttons can have only one parameter at the end of the URL. |
| **Carousel**       | ❌ Not supported                |                   |                                                                                                                              |

> **What if I want to use different URLs for the same template instead of registering multiple templates?**
>
> Saleschat allows you to use the below provided URL as a method for providing dynamic buttons to have different urls. Use the following URL while you register the template, & pass any URL you want as the parameter to redirect.&#x20;
>
> ```java
> https://apis.saleschat.pro/cta?redirect=
> ```

> **What if I want to measure clicks on URLs?**
>
> You can use UTM query parameters in the URL. Further if you like UTM parameter to be configurable, then use URL Buttons with a parameter. Google analytics or similar tools can give you analytics based on UTM parameters (link to google analytics documentation).&#x20;

> Is there any alternative to UTM parameters / Google analytics?
>
> Lastly if you use URL redirect as explained above, then Saleschat can run the analytics for you
>
> example of how Saleschat URL redirect works?

### Parameter Types

Saleschat can be auto\_fill parameter values if they are available. This is an added functionality on top of Meta Templates. This has two major benefits

1. Enterprises can run Automations using templates with parameters.
2. Agent's do not have to repeatedly type the parameter values while sending templates.

| Type           | Purpose                                                             | Tag rules / Tag values                                                                                            |
| -------------- | ------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
| **AUTO\_FILL** | Saleschat fills the value automatically if provided via integration | <p>Supported tags : <code>sc.contact.name</code><br><code>sc.user.name</code></p>                                 |
| **USER\_FILL** | Value supplied by your agent before sending                         | <p>Tag <strong>must NOT</strong> start with <code>sc.</code><br>Tag <strong>must be < 128 characters</strong></p> |

> **Can different parameters have the same tags ?**
>
> No, tag values must be unique across the whole template. This ensures there are no duplicated tag identifiers within a single template.

> **Can agents change the media when sending a template with AUTO\_FILL headers?**
>
> No, agents cannot change the media file when sending a template that uses AUTO\_FILL headers. The media file must be specified during template registration and remains fixed.

{% hint style="info" %}
Editing Parameter types and tags, once registered, is currently not supported, although it is in our development pipeline. If you would like us to expedite the same, then please reach out to us.
{% endhint %}

### Template Webhooks

The following webhooks are available for respective BSPs and are also handled by Saleschat.

| Webhook type                  | Meta | Gupshup Enterprise | Interakt |
| ----------------------------- | ---- | ------------------ | -------- |
| **Template Status Update**    | ✅    | ✅                  | ✅        |
| **Template Quality Score**    | ✅    | ✅                  | ✅        |
| **Template Category Change**  | ✅    | ✅                  | ✅        |
| **Template Component Change** | ✅    | ❌                  | ❌        |

> **How can I configure Gupshup Enterprise to send Webhooks to Saleschat?**
>
> &#x20;You can configure Template webhooks to be sent to the following callback URL
>
> ```java
> "https://apis.saleschat.pro/v1/gupshup/comms/waba/callback/template"
> ```

> **How do we update template component changes on Saleschat if my provider is Gupshup Enterprise and Interakt?**
>
> If you've updated the template on gupshup/interakt, you would need to sync those changes manually on saleschat, see section below

### Updating Templates Manually

Click on the Sync icon on the Template dashboard page for the template you want to sync. It will fetch the changes from Meta and apply it on Saleschat. If the number of parameters have changed between the previous template, and the new template, then you would require to manually re-register the new template by clicking the arrow next to the template name, after it's synced.&#x20;

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

> **What if I do not update the template on Saleschat?**
>
> If you do not update the template that's undergone a change on Meta, the template deliveries will fail.

> **What if the template is deleted on Meta?**
>
> Please disable the template on saleschat if template is deleted on Meta. Since we dont allow deleting a template on Saleschat as of now

***

*Last updated: 23rd July 2025*


---

# 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://docs.saleschat.pro/getting-started/whatsapp-waba-templates.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.
