> For the complete documentation index, see [llms.txt](https://docs.dapta.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.dapta.ai/ai-text-agents/channels/template-types.md).

# Which template type do you need

The WhatsApp template categories and formats explained in plain language, so you pick the right one and Meta approves it the first time.

A **template** is a message you write in advance and Meta approves before you can send it. You need one whenever **you** start the conversation — a reminder, a promotion, a code, an order update.

You do **not** need one to reply. When a customer writes to you, a 24-hour window opens and your agent answers freely inside it, in whatever words fit. The window closes 24 hours after the customer's last message; after that, reaching them again takes a template.

{% hint style="info" %}
Sending a template does not reopen the window. Only the customer replying does.
{% endhint %}

People use "template type" to mean two different things, and you choose both when you create one:

1. **The category** — what the message is for. Meta sets the rules and the price from this.
2. **The format** — how it looks: a plain message or a swipeable carousel, with or without an image, buttons and a footer.

***

## 1. Choose the category

| Category           | Use it for                                                                         | Examples                                                                                          |
| ------------------ | ---------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
| **Utility**        | Something the customer already agreed to, about a transaction or account of theirs | Order confirmed, shipment on its way, appointment tomorrow at 4, payment received, ticket updated |
| **Marketing**      | Anything you send to create business that was not already agreed                   | Offers, launches, discount codes, "we miss you", abandoned cart, event invitations                |
| **Authentication** | One-time codes only                                                                | Login codes, two-factor codes, password resets                                                    |
| **Service**        | Not a template — this is your free-form reply inside the 24-hour window            | The agent answering a question the customer asked                                                 |

**How to decide in one question:** would the customer be surprised to receive it? If yes, it is Marketing. An order update someone is waiting for is Utility; a discount on a product they once looked at is Marketing, even when it feels helpful.

{% hint style="warning" %}
Do not label a promotion as Utility to pay less or to send more. Meta reclassifies templates it disagrees with, and repeated attempts damage the quality rating of your whole number — which costs far more than the price difference.
{% endhint %}

The category also decides what you pay per message. Marketing is the most expensive, Authentication and Utility cost less, and a Service conversation the customer started is the cheapest of all — see [WhatsApp billing](/ai-text-agents/channels/whatsapp-billing-and-meta-charges.md) for Meta's rates by country.

### Where each category shows up in Dapta

| Category       | Typically used by                                                                                          |
| -------------- | ---------------------------------------------------------------------------------------------------------- |
| Marketing      | [Sequences](/ai-text-agents/campaigns.md) sent to an imported list                                         |
| Utility        | Reminders, confirmations and order updates, sent by a Sequence or from [Inbox](/ai-text-agents/inbox.md)   |
| Authentication | An [Action](/ai-text-agents/setting-up-your-text-agent/text-agent-actions.md) triggered by your own system |
| Service        | Your agent's ordinary replies — nothing to set up                                                          |

***

## 2. Choose the format

### Standard

One message. This covers almost everything you will send.

| Part        | What it can be                                           | Rules                                                                                                                            |
| ----------- | -------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
| **Header**  | Nothing, a line of text, an image, a video or a document | Optional. One only. Changing the format can mean choosing the file again.                                                        |
| **Body**    | Your message, with variables for personal values         | Required. Supply an example value for every variable.                                                                            |
| **Footer**  | A short fixed line — a signature, an opt-out note        | Optional, up to 60 characters, no variables.                                                                                     |
| **Buttons** | Up to three                                              | Quick reply, a link, or a phone number. At most two link buttons and one phone button. Phone numbers go in international format. |

**Button types**

* **Quick reply** — the customer taps instead of typing. The tap is a reply, so it opens the 24-hour window and your agent takes the conversation from there. This is the one that makes templates feel like a conversation rather than a broadcast.
* **Link** — opens an `https://` URL. Use it to send someone to a product, a form or a payment page.
* **Phone number** — starts a call. Useful when the next step genuinely needs a voice.

### Carousel

Two to ten cards the customer swipes through, each with its own image or video, its own short text and its own buttons. Good for showing several products, plans or properties in one message.

Carousels have extra rules:

* **Marketing category only.**
* Between **2 and 10 cards**.
* Every card uses the **same media type** — all images, or all videos, not a mix.
* Every card offers the **same buttons, in the same order**. Only the destinations change.
* **No footer.**

### Which format to pick

| If you want to…                        | Use                                             |
| -------------------------------------- | ----------------------------------------------- |
| Send one clear message                 | Standard, no header                             |
| Make it feel personal                  | Standard, with variables in the body            |
| Show one product or a poster           | Standard with an image or video header          |
| Attach a receipt, ticket or price list | Standard with a document header                 |
| Start a conversation, not a broadcast  | Standard with quick-reply buttons               |
| Show several options side by side      | Carousel                                        |
| Send a login code                      | Standard, Authentication, no media and no links |

***

## Do's and don'ts for a template that works

A good template does three things: Meta approves it the first time, it reaches the customer, and the customer answers it. These rules come from Meta's template review, categorization and quality guidelines and from the WhatsApp Business Messaging Policy.

### Before you write it

| Do                                                                                                                                                         | Don't                                                                                                                                 |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| Get the customer's permission first, for the kind of message you will send — order updates, offers, reminders. Meta asks for opt-in that covers each kind. | Message people who never gave you their number or never agreed to hear from you.                                                      |
| Offer an easy way out on promotional messages: a **Stop promotions** quick-reply button, or a footer such as *Reply STOP to unsubscribe*. Then honor it.   | Keep writing to someone who asked you to stop, blocked you or reported you.                                                           |
| Choose the category that matches what the message says. See **1. Choose the category** above.                                                              | Slip an offer into a Utility message. An order update with a discount counts as **Marketing**, and Meta changes the category for you. |
| Give each template one purpose: one reminder, one offer, one update.                                                                                       | Cram an update, an offer and a survey into one message.                                                                               |

### Writing the message

| Do                                                                                                     | Don't                                                                                                         |
| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------- |
| Write it the way you would to one customer: short, clear, friendly.                                    | Use all caps, strings of emoji or phrases like "CLICK HERE NOW". Meta may limit the number of emoji.          |
| Use variables for the personal parts (name, date, order number) and give each one a realistic example. | Start or end the message with a variable. Put words around it.                                                |
| Number variables in order: `{{1}}`, `{{2}}`, `{{3}}`.                                                  | Skip or shuffle numbers (`{{1}}`, `{{3}}`), leave a brace unclosed, or put `#`, `$` or `%` inside a variable. |
| Keep more words than variables: the fixed text should explain the message on its own.                  | Send a message that is mostly variables. Meta rejects templates with too many variables for their length.     |
| Write in the language you select, with correct spelling. Meta does not translate templates.            | Submit Spanish text under English, or mix languages in one template.                                          |
| Link to a working `https://` page on your own domain, and show the full address.                       | Use link shorteners or links to unrelated sites. The customer cannot see where they lead.                     |
| Make the next step easy: a quick-reply button or a question the customer can answer in one tap.        | Ask for full card numbers, national ID numbers, passwords or other sensitive data.                            |
| Stay polite and factual, even in a payment reminder.                                                   | Threaten the customer, for example with legal action.                                                         |
| Create a new template only when the message is genuinely different.                                    | Resubmit a copy of a template you already have. Duplicates are rejected.                                      |

### Authentication templates

| Do                                                                                    | Don't                                                                                 |
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| Use the Authentication category for one-time codes, and only for them.                | Send codes with a Utility or Marketing template.                                      |
| Keep the code short. Values in an authentication template can be up to 15 characters. | Add links, images, videos or emoji. They are not allowed in authentication templates. |

### After it is approved: keep it healthy

Meta rates every approved template from how people react to it: whether they read it, block the number or report the message. The rating goes **green**, **yellow** or **red**. A template with a low rating can be slowed down or paused, and a paused template cannot be sent.

| Do                                                                     | Don't                                                                          |
| ---------------------------------------------------------------------- | ------------------------------------------------------------------------------ |
| Send it to people who expect it, at a time that suits them.            | Send the same template to an old or purchased list.                            |
| Check replies, blocks and the template's status after the first sends. | Copy a paused template to keep sending. Fix what people are reporting instead. |

### An example

|                                  | Template                                                                                                                                                                                        |
| -------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Likely rejected**              | Category *Utility*: `{{1}} 50% OFF TODAY ONLY!!! 🔥🔥🔥 CLICK bit.ly/xyz` — a promotion filed as Utility, a variable at the start, all caps, a shortened link.                                  |
| **Likely approved and answered** | Category *Marketing*: `Hi {{1}}, your favourite {{2}} is back in stock. Would you like us to hold one for you until Friday?` with quick-reply buttons **Yes, hold it** and **Stop promotions**. |

***

## What gets a template rejected

| Reason                                                                         | What to do instead                                                        |
| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------- |
| The category does not match the content                                        | Resubmit under the honest category.                                       |
| Variables with no example, or meaningless examples                             | Give a realistic sample value for each one. Never a real customer's data. |
| A variable at the very start or very end of the message                        | Put words around it.                                                      |
| The message reads like spam — all caps, many emoji, "CLICK HERE NOW"           | Write it the way you would write to one customer.                         |
| A link that does not work, or is unrelated to your business                    | Use a real page on your own domain.                                       |
| A private or login-protected file used as header media                         | Use a file the provider can actually fetch.                               |
| The message asks for card numbers, passwords or documents                      | Do not collect sensitive data over WhatsApp templates.                    |
| Variables out of order, with an unclosed brace, or with `#`, `$` or `%` inside | Number them `{{1}}`, `{{2}}`, `{{3}}` and keep them to plain values.      |
| Too many variables for the length of the message                               | Add fixed words so the message makes sense on its own.                    |
| A copy of a template you already have                                          | Change the existing one, or write a genuinely different message.          |
| Threatening or abusive wording, such as threatening legal action               | Stay factual and polite.                                                  |

A rejected template is not a dead end: fix the content and submit it again. If it is already approved and cannot be edited, use **Duplicate to Edit** to make a new version, which goes through review on its own.

***

## Before you send

Approval belongs to the account the template lives in, not to the template itself. A template approved for one WhatsApp account is not automatically available on another line. Check the sending line, its account and the approved status together before you schedule anything.

{% content-ref url="/pages/LT6vPXywEfXjmz1MwdWI" %}
[WhatsApp message templates](/ai-text-agents/channels/message-templates.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://docs.dapta.ai/ai-text-agents/channels/template-types.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.
