
WhatsApp Business API Message Templates: Categories and Approval
Learn the WhatsApp Business API template categories, how to write messages Meta approves, and how an AI agent should use templates outside the service window.
Want to apply this in your company?
Book a call with Juan →WhatsApp Business API Message Templates: Categories and Approval
A WhatsApp Business API message template is a text pre-approved by Meta that a company can send when there is no open conversation with the customer, such as a notice or a first contact. To get approved, it must sit in the right category (marketing, utility or authentication), have clear content, variables with sample values and customer consent behind it. The AI agent does not invent this text. It picks an approved template, fills in the permitted variables and, once the customer replies, goes back to free-form conversation.
Key takeaways
- A template is how you start a conversation, or restart one, when the customer service window is closed. Inside the window, text is free-form.
- The category (marketing, utility or authentication) sets the content rules and how you are billed. Meta can reclassify a template if the declared category does not match the text.
- Approval depends on specific wording, sample values for variables, a clear purpose and compliance with the platform's commerce and messaging policies.
- The AI agent should work from a closed list of approved templates, check the window before sending and log every decision.
- Opt-in, LGPD and message quality matter as much as the wording. Unwanted messages lower your quality rating and can lead to restrictions on your number.
What is a message template, and when is it required?
The WhatsApp Business Platform separates business-initiated messages into two types. The first is the session message, in free-form text, allowed while the customer service window is open. The window opens when the customer writes to the company and stays open for a period set by Meta (check the current value in the official documentation, because the platform can change it). The second type is the template, required when the company wants to speak first or when the window has already closed.
In practice, any automation that sends order updates, appointment reminders, payment notices or quote follow-ups depends on templates. Answering a question the customer just asked does not.
A template has components: header (optional), body, footer (optional) and buttons (optional, such as quick reply or link). The body carries numbered variables in double curly braces, which are replaced at send time. Each template gets an internal name, a language and a category, and goes through review before it can be used. The technical details of creating and sending templates are in Meta's documentation on sending message templates for the Cloud API.
Before any of this, the account has to be ready to operate. If your company has not completed that step yet, read the guide to Meta business verification for the WhatsApp API.
What are the template categories, and how do you choose?
Meta's documentation organizes templates into three categories. Picking the wrong one is among the most common causes of rejection or automatic reclassification.
- Utility: a specific message that the customer requested or expects, tied to an existing transaction or account. Examples: order confirmation, delivery notice, reminder for an appointment already booked, status update on a contracted service. The text should not contain promotion.
- Marketing: anything that promotes, advertises, invites a purchase or tries to re-engage. Offers, launches, campaigns, reactivation surveys and event invitations belong here. If a utility text gains a sentence with an offer, Meta tends to treat it as marketing.
- Authentication: delivery of a one-time code to verify identity, in its own format, with stricter content rules. It is not a place for any other topic.
A simple decision guide, in order:
- Did the customer take an action or buy something that justifies this message right now? If yes, it is a utility candidate.
- Does the message contain any element of an offer, discount, commercial invitation or push to buy again? If yes, it is marketing, even when it arrives alongside useful information.
- Does the message exist only to deliver a verification code? Then it is authentication.
- When in doubt, choose the more conservative category and split it into two templates: a utility one with no sales pitch, and a marketing one sent only to people who agreed to receive it.
Billing and sending limits depend on the category and change over time. So check Meta's current pricing and limits before planning volume, instead of copying figures from old articles. To see how this fits with campaigns and consent, also read WhatsApp outbound messages: templates, opt-in and best practices.
How do you write a template that Meta approves?
Review combines automated checks and, sometimes, human review. What the documentation and WhatsApp's business policy make clear works as a writing checklist:
- Obvious purpose: the reader should understand in one sentence why they are receiving the message. Generic texts like "we have news for you" tend to be blocked.
- Variables with context: do not leave a variable alone at the start or end of the body, and do not place two side by side with no text between them. Surround each variable with words that explain what it represents.
- Realistic samples: when you submit for review, each variable needs a sample value. Use plausible values and no real customer data.
- Consistent category: a utility notice that ends with "enjoy our promotion" will be reclassified or rejected.
- No prohibited content: WhatsApp's commerce policy and messaging policy restrict certain products and practices, and forbid asking for sensitive data, such as passwords or full card numbers, by message. Read the WhatsApp Business messaging policy before drafting.
- Professional tone and correct language: the declared language must match the text. Avoid excess capital letters, repeated punctuation and shortened links that hide the destination.
- An exit option: in marketing templates, give the customer a simple way to stop receiving messages, such as a quick reply button.
An example of better wording, in utility: "Hi, ((1)). Order ((2)) is out for delivery and should arrive at the address on file. If you need to change anything, reply to this message." Compare it with "Hi, ((1))! News for you! Check it out!", which says nothing, mentions no customer action and would probably be blocked or treated as marketing.
If a template is rejected, the platform states the reason. Fix that specific point and resubmit, instead of creating dozens of blind variations.
Step by step: create, get approved and maintain a template
A working sequence that reduces rework:
- Define the trigger: which event in the process fires the message (order shipped, quote ready, appointment booked) and who the recipient is.
- Confirm consent: record where and when the customer agreed to receive WhatsApp messages and for what purpose. The guide on how to collect WhatsApp opt-in covers this.
- Choose the category using the decision guide from the previous section.
- Write the body with as few variables as possible and context around each one.
- Prepare the variable samples, with no real data.
- Submit for review through WhatsApp Manager or the API and wait for the status.
- Track the status and the quality rating. Templates can be paused or disabled if many customers block or report the sender.
- Review periodically: remove unused templates and adjust the ones that draw complaints.
How should the AI agent use templates outside the service window?
This is where many deployments break. An AI agent holds a good conversation in free-form text, but outside the window it cannot simply generate a new sentence. The platform only accepts an approved template. The right design separates three responsibilities.
First, a deterministic rule (no AI) checks whether the window is open by looking at the time of the customer's last incoming message. This check should not be delegated to the model, because a mistake becomes a rejected message or an improper send.
Second, if the window is closed, the agent can only choose from a closed list of approved templates, each with a described purpose, category and variables. The model helps decide which template fits the context and extracts variable values from system data (order, calendar, service ticket), not from the customer's free text.
Third, sending goes through validation: does the customer have recorded consent for that purpose? Does the variable have the expected format? Is there a frequency limit per contact? If any check fails, the agent does not send and hands the case to a person.
When the customer replies to the template, the window reopens and the agent returns to free-form text, now with the context of the template that was sent. The history should show which template went out, with which values and for what reason. That record helps with audits, with requests from data subjects and with investigating complaints.
Three additional safeguards:
- Personal data in variables: send only what is necessary. Avoid placing diagnoses, debt amounts or sensitive information in a template. Brazil's data protection authority (ANPD) is the reference for data protection guidance.
- Untrusted input: if the customer's text feeds the model, treat it as untrusted. Risks such as prompt injection can lead the agent to fill variables with improper content. See the prompt injection protection guide.
- Volume and reputation: mass sends without consent damage quality and can affect the number. The article on banned WhatsApp numbers and how to avoid it details this risk.
If you build the flow in an automation tool, the guide to the n8n WhatsApp Cloud API workflow shows how to organize the webhook, verification and sending.
Illustrative scenario: device ready notice
Imagine, as an illustrative scenario, a repair shop that serves customers on WhatsApp. The customer dropped off a device for repair and chatted with the agent on the day of intake. Days later, the technician marks the service order as complete in the system.
The flow would go like this: the system event triggers the automation. The deterministic rule checks the customer's last message and sees the window has closed. The agent receives the list of allowed templates and selects the utility template "service completed", whose body says the device on order ((1)) is ready for pickup and invites the customer to reply with questions. The values come from the system, not from free text. Validation confirms the consent recorded when the order was opened. The message goes out and the log keeps the template, variables and time.
If the customer replies asking about warranty, the window reopens and the agent returns to free-form text, consulting the company's rules. If the question goes beyond what it can decide, it hands off to a person with a summary of the conversation. This kind of process is covered in AI for electronics repair shops.
Notice what the agent does not do: it does not write the notice from scratch, it does not add an accessory offer (that would turn it into marketing and require another template and another consent), and it does not send when data is missing.
How does the map, limit, pilot, hand over method apply to templates?
The method has four moves. In map, the company lists the messages it currently sends on its own initiative, the trigger for each one and where consent is recorded. In limit, it defines the closed list of templates, the permitted variables, the frequency cap and the data that never goes into a message. In pilot, it picks a single real flow, such as the order-ready notice, with logs and a success metric agreed beforehand, for example reply rate or complaint rate. In hand over, it delivers the documented operation and decides whether to expand, adjust or stop, with one person responsible for reviewing templates and the quality rating.
This pace avoids the common mistake of getting a dozen templates approved at once and discovering later that half were reclassified or generate blocks. For the broader deployment picture, see how to integrate AI into your company's WhatsApp.
Frequently asked questions
How long does template approval take? Meta says review is usually quick, but timing can vary and there is no guarantee. Plan the launch with slack and do not depend on same-day approval for a campaign or a process change.
Can I use a utility template to announce a promotion? It is not recommended. If the text contains promotional content, Meta can reclassify it as marketing, with its own rules and billing. The right path is to create a separate marketing template and send it only to people who consented to that type of contact.
Can the AI agent create templates on its own? It should not. Creating and reviewing templates involves platform policy, category, consent and brand image, and should go through a responsible person. The agent acts afterward, choosing among templates that are already approved and filling in validated variables.
What happens if the customer does not reply to the template? The conversation is not opened, and the agent remains limited to approved templates for that contact. Do not push with repeated sends. Set an attempt limit, log the result and, if the matter is important, use an alternative channel or involve someone on the team.