---
title: 9.3 WhatsApp Message Templates
description: "WhatsApp message templates are pre-approved message formats required to initiate conversations or send messages outside the 24-hour session window. All…"
url: "https://peikly.com/docs/whatsapp-templates/"
updated: "2026-10-07"
category: WhatsApp
tags:
  - Manual sync
---

# 9.3 WhatsApp Message Templates

## What This Feature Does

WhatsApp message templates are pre-approved message formats required to initiate conversations or send messages outside the 24-hour session window. All templates must be approved by Meta before they can be used. Templates come in two types: **Standard** (a single header, body, footer, and button set) and **Carousel** (a body plus 2–10 swipeable cards — see [9.3.5 Carousel Templates](#935-carousel-templates)).

## When to Use

- Use when sending the first message to a contact.
- Use in campaigns that go to contacts who have not recently messaged you.
- Do not use free-text messages to initiate conversations — Meta will reject them.

## Prerequisites

- CompanyAdmin role.
- At least one connected WhatsApp phone number.
- Understanding of Meta's template guidelines (see link below).

## Understanding Template Categories

| Category | When to Use | Example |
| --- | --- | --- |
| `MARKETING` | Promotions, campaigns, re-engagement | "Here's 20% off your next order!" |
| `UTILITY` | Transactional notifications, updates | "Your order #123 has shipped." |
| `AUTHENTICATION` | OTPs, login codes | "Your verification code is: 4721." |

**Important:** Meta may reject templates that use the wrong category. Marketing content submitted as Utility will be rejected.

## 9.3.1 View Templates

1. In the sidebar, click **WhatsApp** → **Message Templates**.
2. The list shows all templates with status badges: **Draft**, **Pending**, **Approved**, **Rejected**, **Paused**, plus send-volume stats per template and, for a Rejected template, a clickable rejection reason.
3. Use the **Business Account** filter to narrow the list to templates belonging to one WABA when you have several connected.
4. Click a template's name to open a **WhatsApp-style chat bubble preview** (header/body/footer/buttons rendered with variable sample values applied) without leaving the list — this works for templates of any status, not just Approved ones.

## 9.3.2 Create a Template

1. Click **Create WhatsApp Template** in the top-right.
2. Fill in the template form:
   - **Template Name:** Lowercase letters, digits, and underscores only. E.g., `order_confirmed`.
   - **Category:** MARKETING, UTILITY, or AUTHENTICATION.
   - **Language:** Select the language for this template.
   - **Template type:** **Standard** (a single header/body/footer/buttons message) or **Carousel** (a body plus 2–10 swipeable cards — see [Carousel Templates](#935-carousel-templates)).
   - **Header (optional):** Text, image, video, or document.
   - **Body (required):** Main message content. Use `{{1}}`, `{{2}}` placeholders for variables.
   - **Footer (optional):** Short disclaimer or unsubscribe note.
   - **Buttons (optional):** Quick Reply or Call-to-Action buttons.
3. For each variable (`{{1}}`, `{{2}}`), provide a **sample value**.
4. Preview the template on the right panel, or click **Generate with AI** to have AI draft or refine any part of it (see [Generate Template Content with AI](#934-generate-template-content-with-ai) below).
5. Choose how to save:
   - **Save as Draft** — saves the template without submitting it to Meta. Fully editable afterward.
   - **Save and Send for Approval** — saves the template and immediately submits it to Meta for review in one step. A confirmation popup warns that the template can't be edited again until Meta finishes reviewing it.
6. Click the info icon (ⓘ) next to the save buttons at any time to open **How WhatsApp Template Approval Works** — a reference panel covering the review lifecycle, category rules, and content rules Meta enforces.

## What Happens After

- **Save as Draft** leaves the template at status `Draft` — nothing is sent to Meta yet.
- **Save and Send for Approval** submits immediately; Meta reviews the template (typically within minutes, occasionally up to 24 hours or longer for new/flagged accounts). While **Pending**, the template is locked and cannot be edited or resubmitted.
- Status updates to `Approved`, `Rejected`, or `Paused`.
- You can use `Approved` templates immediately in chat or campaigns.
- Editing an already-**Approved** template and resubmitting it creates a new version that goes through Meta review again.
- If the save succeeds but submission to Meta fails, the template is still saved as Draft and the error explains that you can resend it from the template list — the save itself is never lost.

## Template Status Meanings

| Status | Meaning | What to Do |
| --- | --- | --- |
| Draft | Saved but not submitted | Review and submit when ready |
| Pending | Submitted, awaiting Meta review | Wait; no action needed |
| Approved | Ready to use | Use in chat and campaigns |
| Rejected | Meta denied the template | Edit based on rejection reason and resubmit |
| Paused | Temporarily suspended by Meta | Review quality; see Meta guidelines |
| Disabled | Permanently disabled by Meta | Create a new template with corrected content |

## 9.3.3 Download Templates from Meta

If templates were created directly in WhatsApp Manager and not via Application:

1. Click **Download All from Meta** on the Templates list page.
2. Application syncs all templates from your connected WABAs.

## 9.3.4 Generate Template Content with AI

### What This Feature Does

An AI assistant drafts or refines the header, body, footer, and/or buttons of a WhatsApp template from a plain-language description, on both the Create and Edit pages.

### Step-by-Step Instructions

1. Click **Generate with AI** above the template designer (only shown when AI generation is available on your plan — see Errors below).
2. Check which part(s) you want AI to write or change: **Header**, **Body**, **Footer**, **Buttons**. The Footer option is hidden entirely on the Free plan, since the footer is fixed on that plan.
3. If a part already has content, a notice explains that checked parts are refined based on your prompt (or fully rewritten if you say so) while unchecked parts are left exactly as they are.
4. Describe what you need in the text box, or click one of the **suggestion chips** (e.g. "Promo with website button", "Reminder with call button") to start from a ready-made prompt.
5. Click **Generate**.
6. If the AI adds a website (URL) button or a phone button and needs information it can't know on its own, a **follow-up panel** appears asking for the missing detail:
   - A website button needs a real URL — the AI never invents one.
   - A phone button auto-fills your currently selected WhatsApp phone number; if none is selected, you're asked to confirm it.
7. Review the applied content in the designer and preview panel, edit anything by hand if needed, then save as usual.

### Errors, Messages, and Exceptions

| Message | Why It Happens | How to Fix |
| --- | --- | --- |
| **Generate with AI** button is replaced with a locked badge | Your subscription plan doesn't include AI content generation at all | Upgrade your plan |
| `Please select at least one part of the template to generate.` | No Header/Body/Footer/Buttons checkbox was selected | Select at least one part |
| `Please describe what you need.` | The requirements text box was empty | Enter a description |
| `You've reached your daily AI action limit. Please try again tomorrow.` | Your plan's daily AI Quick Actions quota is used up | Wait for the next day, or upgrade for a higher/unlimited quota |
| `The AI content generation service is not configured.` | The platform's AI provider isn't set up | Contact your administrator |
| `The AI could not generate the requested content. Please try again with a more detailed description.` | The AI response couldn't be parsed, or didn't produce the requested part | Rephrase with more specific detail and retry |
| Generation times out or fails unexpectedly | Transient AI provider issue | Retry after a moment |

### Best Practices

- Be specific about tone, purpose, and any button you want (e.g. "Order confirmation with a Track Order website button and a Call Us button") — vague prompts produce generic results.
- Use the follow-up panel's real URL/phone number rather than leaving a placeholder — Meta rejects templates with non-working links.
- Generate once, then hand-edit small wording tweaks directly in the designer instead of re-generating for a one-word change.

## 9.3.5 Carousel Templates

### What This Feature Does

A **carousel template** sends one message body followed by 2–10 swipeable cards, each with its own media, an optional short description, and up to 2 buttons. Use it to show a product range, a set of offers, or several options in a single WhatsApp message.

### How to Build One

1. On the **Create WhatsApp Template** page, in the **Visual designer** card, switch **Template type** from **Standard** to **Carousel**. The Header, Footer, and top-level Buttons sections are replaced by a **Cards** section; the **Body** stays and becomes the message shown above the cards.
2. Write the **message body** (up to 1,024 characters). It supports `{{1}}` variables like any template — give each a sample value in the Variable samples panel.
3. Choose the **card media type** — **Image** or **Video**. This applies to every card; Meta does not allow mixing image and video cards. Changing it after adding media clears media that no longer matches.
4. Fill in each card (starts with two; use **Add card** for up to 10, and the card header row to **reorder**, **duplicate**, or **remove** a card):
   - **Media** (required) — pick an image or video from the Media Library.
   - **Card text** (optional) — a short description, up to 160 characters.
   - **Buttons** (optional, up to 2) — Quick reply, Visit website, or Phone call.
5. **Card 1 sets the button layout.** Every other card automatically gets the same button **types in the same order** — you can only change each card's label, URL, or phone number. This is a Meta rule: the button configuration must be identical across all cards.
6. The live preview shows the body bubble followed by the scrollable card strip.
7. Save as Draft or Save and Send for Approval, exactly like a standard template.

### Rules and Limits (enforced on save)

- Between 2 and 10 cards.
- Every card needs a media file, all of the same type (all images or all videos).
- Card text is capped at 160 characters.
- Card buttons must use **static** values — a website button's URL cannot contain `{{ }}` placeholders in this version.
- Every card must carry the same buttons, in the same order, as card 1.

### Sending

Approved carousel templates work everywhere a standard template does — **WhatsApp Chat** ("Send Approved Template"), **WhatsApp Campaigns** (broadcasts), **Automation Workflows**, the **Scheduler**, and **Send test message**. Only the message body's `{{1}}` variables are mapped at send time; card content is fixed by the approved template. The chat history renders the full carousel bubble.

### Notes

- **Generate with AI** is available for standard templates only; build carousel cards manually.
- Downloading a carousel authored directly in WhatsApp Manager is best-effort — if Meta's API does not return the card details, it syncs as a standard template.

## Template Rejection Reasons (Common)

| Rejection Type | Why It Happens | How to Fix |
| --- | --- | --- |
| Wrong category | Marketing content submitted as Utility | Change category to MARKETING and resubmit |
| Missing variable sample | No sample value provided for `{{1}}` | Add realistic sample values for all variables |
| URL in message without approved domain | External URL not pre-approved | Remove the URL or apply for URL domain approval |
| Abusive or promotional content in Utility template | Template reads as marketing | Move to MARKETING category |
| Template too short | Body under minimum length | Expand the body text |
| Duplicate template name | A template with this name already exists | Change the template name (even slightly) |

## Errors, Messages, and Common Fixes

| Message | Why It Happens | How to Fix |
| --- | --- | --- |
| `Could not create/update template.` | Validation or API error | Check all fields; ensure name uses only allowed characters |
| `Template not found.` | Deleted or not accessible | Reload the templates list |
| `Invalid template identifier.` | URL/ID issue | Navigate back to the list and reopen |

## Best Practices

- Test templates with real contacts before launching a campaign.
- Keep template names descriptive: `welcome_new_customer`, not `template1`.
- Always include a variable sample — Meta rejects templates without them.
- Never include personally identifiable information (PII) directly in a template body.

## External Dependencies

- **WhatsApp Business Policy:** [https://www.whatsapp.com/legal/business-policy](https://www.whatsapp.com/legal/business-policy)
- **Meta Template Guidelines:** [https://developers.facebook.com/docs/whatsapp/message-templates/guidelines](https://developers.facebook.com/docs/whatsapp/message-templates/guidelines)
- **WhatsApp Manager (Template Management):** [https://business.facebook.com/wa/manage/message-templates/](https://business.facebook.com/wa/manage/message-templates/)
