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

# How to create a WhatsApp template

> Create a WhatsApp template, add text or a file to its header, and understand what to do while Meta reviews it.

Templates are messages Meta must approve before you can start a conversation or send a WhatsApp campaign.

## What you will get

You will have a template submitted for review, with its header, variable examples, and a preview of what customers will see.

## Requirements

* An agent with WhatsApp connected.
* A new name in lowercase, using numbers or underscores.
* The message text and an example for every variable you use.
* A sample file if you choose an image, video, or document header.

## Create the template

<Steps>
  <Step title="Open the creator">
    In **Automations** → **Templates**, select **Create template**. Enter the name, then choose a language and category.
  </Step>

  <Step title="Choose the header">
    Under **Header**, switch between **Text**, **Image**, **Video**, **Document**, and **Location**. Choose **Location** to add a place to the template header. Each format keeps its own draft while you try another one, so returning to a tab does not remove its file.

    <Frame caption="The creator shows header tabs beside the live preview.">
      <img src="https://mintcdn.com/evaai-85079546/tydtW4RhqkPMXWiu/images/en/automations/templates-header-preview-v202609.webp?fit=max&auto=format&n=tydtW4RhqkPMXWiu&q=85&s=eb97e27b03831974e83afb445bea5b70" alt="Template creator with Text, Image, Video, and Document tabs beside the live preview." width="2144" height="1448" data-path="images/en/automations/templates-header-preview-v202609.webp" />
    </Frame>
  </Step>

  <Step title="Write the message and its examples">
    In **Message body**, use numbered variables such as `{{1}}`. Under **Examples for each variable**, enter a realistic example for every one. If a text header has variables, add its examples too.
  </Step>

  <Step title="Review the preview and submit it">
    Check **Live preview** as you edit. Add a footer or buttons under **Advanced options** if needed. Select **Create template** to submit it to Meta.
  </Step>
</Steps>

## Meta approval states

In the list, open a template to see its status and details.

| Status                    | What it means                                               |
| ------------------------- | ----------------------------------------------------------- |
| **Pending submission**    | Eva has not sent it to Meta yet.                            |
| **In WhatsApp approval**  | Meta is reviewing it; it cannot be used yet.                |
| **Approved**              | It can be selected in campaigns and conversations.          |
| **Rejected** or **Error** | Open it to see the reason, then use **Duplicate and fix**.  |
| **Paused**                | Meta paused it; read the saved reason in the template.      |
| **Disabled**              | Meta withdrew it. It remains as history and cannot be used. |
| **Deleted**               | It no longer exists in Meta.                                |

<Frame caption="The cards show templates in different approval states.">
  <img src="https://mintcdn.com/evaai-85079546/tydtW4RhqkPMXWiu/images/en/automations/templates-status-rejection-v202609.webp?fit=max&auto=format&n=tydtW4RhqkPMXWiu&q=85&s=2941fb133a9cb05a0ee6f43b74efad78" alt="Templates with Approved, In WhatsApp approval, and Rejected statuses." width="1616" height="960" data-path="images/en/automations/templates-status-rejection-v202609.webp" />
</Frame>

## What a rejection means

The details show **Why Meta rejected it** with a clear explanation. Use **Show technical details** only when you need Meta's returned text.

| Code             | What to do                                                                                                                                                                                             |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| 100              | Check the example values: they are missing or empty.                                                                                                                                                   |
| 10 or 200        | The connection lacks permission. Reconnect WhatsApp.                                                                                                                                                   |
| 190              | Access expired. Reconnect WhatsApp in Settings.                                                                                                                                                        |
| 80007 or 131056  | Meta is limiting sends. Try again in a few minutes.                                                                                                                                                    |
| 131031           | Check the payment method or business verification in Meta Business.                                                                                                                                    |
| 131037           | Wait for Meta to approve the number's display name.                                                                                                                                                    |
| 131048 or 131049 | These are sending limits, not payment issues. For 131048, check the sending number's channel health and quality. For 131049, Meta has limited marketing messages to that person; do not try again now. |
| 131051           | The name already exists. Use another one.                                                                                                                                                              |

If another code appears, Eva shows the reason Meta returned. Correct the copy and create a new version; Meta does not let you change the content of an approved template.

## How to know it worked

The card changes to **Approved**. Then, in a WhatsApp campaign for the same sending number, the template appears for selection.

## If something goes wrong

<AccordionGroup>
  <Accordion title="I cannot submit the template to Meta">
    Check the marked fields. A variable without an example, an empty text header, or a missing file blocks submission.
  </Accordion>

  <Accordion title="The approved template does not appear in my campaign">
    Check that the campaign uses the same WhatsApp number. If the template has an image, upload that image while preparing the campaign.
  </Accordion>

  <Accordion title="Meta rejected my template">
    Open the card, read **Why Meta rejected it**, and select **Duplicate and fix**. Correct the new version and submit it again.
  </Accordion>
</AccordionGroup>

## Next steps

<Columns cols={2}>
  <Card title="Send a campaign" href="/en/automations/campaigns" />

  <Card title="After connecting WhatsApp" href="/en/channels/whatsapp/after-connecting" />
</Columns>
