> ## Documentation Index
> Fetch the complete documentation index at: https://docs.comify.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a WhatsApp Template

> Set up a WhatsApp message template in the Comify dashboard through the 3-step wizard, add components and buttons, and submit it to Meta for approval.

WhatsApp templates are pre-formatted messages used to start conversations with customers. **Every WhatsApp template must be approved by WhatsApp (Meta) before it can send.** In Comify you build the template through a 3-step wizard and submit it for review from one place.

<Note>
  This is a dashboard walkthrough. Screens are captured from **cloud.comify.io** → **Template Manager → Manage Templates → WhatsApp**.
</Note>

## Before you start: connect an account

Open **Template Manager → WhatsApp** to reach the **WhatsApp Templates** list. It shows a **provider/account selector**, **Category** and **Status** filters, and columns for **Template Name, Provider, Language, Category, Status,** and **Last Updated**.

<Frame caption="WhatsApp Templates list — account selector, filters, and the connect gate">
  <img src="https://mintcdn.com/co-d33c95f1/JDH1bOmW9sqfInn6/images/whatsapp-01-list.png?fit=max&auto=format&n=JDH1bOmW9sqfInn6&q=85&s=18e7e0a96a9b5af00ec10a824397a387" alt="WhatsApp Templates list" width="1556" height="784" data-path="images/whatsapp-01-list.png" />
</Frame>

<Warning>
  If you see **"No WhatsApp Account Connected,"** you must add a WhatsApp account (WABA) before creating templates. Once connected, **select the account from the selector** at the top of the list — the create flow needs it. See [WhatsApp Providers](/channels/whatsapp/overview).
</Warning>

## Step 1 — Set up template

Click **Create Template** to open the wizard. The stepper shows **Set up template → Edit template → Submit for review**.

Choose the **Category** that matches your message, then the **message type**.

<Frame caption="Step 1 — Category and message type">
  <img src="https://mintcdn.com/co-d33c95f1/JDH1bOmW9sqfInn6/images/whatsapp-02-setup.png?fit=max&auto=format&n=JDH1bOmW9sqfInn6&q=85&s=08445e1301018fdbdd949d8521461f42" alt="WhatsApp wizard step 1" width="1556" height="784" data-path="images/whatsapp-02-setup.png" />
</Frame>

**Category** — Meta reviews the template against this, so pick the one that matches the actual content:

| Category           | Use it for                                                                                  |
| ------------------ | ------------------------------------------------------------------------------------------- |
| **Marketing**      | Promotions, offers, announcements, newsletters, re-engagement.                              |
| **Utility**        | Transactional updates tied to an action — order confirmations, shipping updates, reminders. |
| **Authentication** | One-time passcodes and login verification.                                                  |

**Message type** — **Default** (message with media + CTA buttons) or **Carousel** (a swipeable set of cards). Additional types (**Catalog**, **Flows**, **Order Details**, **Calling permissions request**) are marked *Coming soon*.

A live **Template Preview** on the right updates as you build. Click **Continue**.

## Step 2 — Edit template

This is where you write the template and assemble its components.

<Frame caption="Step 2 — name, language, header, and body">
  <img src="https://mintcdn.com/co-d33c95f1/JDH1bOmW9sqfInn6/images/whatsapp-03-edit.png?fit=max&auto=format&n=JDH1bOmW9sqfInn6&q=85&s=eea50e7f423aa2df5c5b4413627ed1b6" alt="WhatsApp wizard step 2" width="1556" height="784" data-path="images/whatsapp-03-edit.png" />
</Frame>

<Steps>
  <Step title="Name your template and pick a language">
    Enter a **template name** (up to 512 characters) and **select the language**.

    <Warning>
      WhatsApp requires names to be lowercase with only letters, numbers, and underscores — for example `order_shipped` or `otp_login`.
    </Warning>
  </Step>

  <Step title="Add a Header (optional)">
    Choose a header type: **None**, **Text**, **Image**, **Video**, or **Document**. A text header supports one variable; media headers attach an image, video, or file.
  </Step>

  <Step title="Write the Body (required)">
    Enter your message (up to 1024 characters). The toolbar offers **emoji, bold, italic, strikethrough,** and **code**, plus **Add variable** to insert placeholders for personalization.
  </Step>

  <Step title="Add a Footer (optional)">
    A short line of fixed text (up to 60 characters), e.g. "Reply STOP to opt out." Footers can't contain variables.
  </Step>

  <Step title="Add Buttons (optional)">
    Click **Add button** (up to 10). Button types:

    | Button                | What it does                                                   |
    | --------------------- | -------------------------------------------------------------- |
    | **Custom**            | A quick-reply button that sends its label back as the reply.   |
    | **Visit website**     | Opens a URL (can end with a variable for per-recipient links). |
    | **Call on WhatsApp**  | Starts a WhatsApp call.                                        |
    | **Call phone number** | Dials a phone number.                                          |
    | **Complete Flow**     | Launches a WhatsApp Flow experience.                           |
    | **Copy offer code**   | Lets the recipient copy a promo code.                          |

    <Frame caption="Footer and the Add button menu">
      <img src="https://mintcdn.com/co-d33c95f1/JDH1bOmW9sqfInn6/images/whatsapp-04-buttons.png?fit=max&auto=format&n=JDH1bOmW9sqfInn6&q=85&s=64378bd810fa03db5ed7922f5ff42517" alt="WhatsApp footer and buttons" width="1556" height="784" data-path="images/whatsapp-04-buttons.png" />
    </Frame>
  </Step>
</Steps>

<Tip>
  Provide realistic **sample values** for any variables and media so the preview — and Meta's reviewers — see representative content. Vague or empty samples are a common rejection reason.
</Tip>

## Step 3 — Submit for review

When the body and components look right (confirm with the live preview), continue to **Submit for review**. Comify sends the template to WhatsApp (Meta), and the **Status** column on the list tracks its state.

<Frame caption="Step 3 — Submit for review">
  <img src="https://mintcdn.com/co-d33c95f1/JDH1bOmW9sqfInn6/images/whatsapp-05-submit.png?fit=max&auto=format&n=JDH1bOmW9sqfInn6&q=85&s=8a168383a75c680d0a5bb50031a3f8ed" alt="WhatsApp wizard step 3" width="1556" height="784" data-path="images/whatsapp-05-submit.png" />
</Frame>

| Status       | Meaning                                            |
| ------------ | -------------------------------------------------- |
| **Pending**  | Submitted and awaiting Meta's review.              |
| **Approved** | Live and ready to send.                            |
| **Rejected** | Not approved — fix the flagged issue and resubmit. |

<Warning>
  Only **Approved** templates can be sent or selected in a campaign. Editing an approved template's content generally requires resubmission.
</Warning>

## Best practices

<CardGroup cols={2}>
  <Card title="Match content to category" icon="list-check">
    The biggest factor in approval. Promotions → Marketing, updates → Utility, codes → Authentication.
  </Card>

  <Card title="Respect opt-in" icon="user-check">
    Only message customers who consented; add an opt-out line in the footer where appropriate.
  </Card>

  <Card title="Keep it concise" icon="scissors">
    Short, single-CTA messages perform best and clear review faster.
  </Card>

  <Card title="Preview before submitting" icon="eye">
    Use the live preview to catch layout and variable issues before review.
  </Card>
</CardGroup>

## Next steps

* Send it: [Create a campaign](/campaigns/overview)
* Other channels: [Email template](/platform/create_email_template) · [Push template](/platform/create_push_template)
