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

# Template rejected

> Why Meta rejects a WhatsApp message template, how to read the rejection reason in Flowella, and what to change in the template before resubmitting it.

Meta reviews every template you submit. Most rejections come down to a small set of recurring issues. This page covers the common ones and what to change before resubmitting.

For the format itself (categories, headers, buttons, variables) see [Template reference](/app/template-reference).

## Where to read the rejection reason

In Flowella, open **Templates** and find the rejected template. The rejection reason returned by Meta appears on the template page, usually as a short string like `INVALID_FORMAT` or a sentence explaining the issue.

## Common rejection reasons

<AccordionGroup>
  <Accordion title="Wrong category" icon="tag">
    You submitted a Marketing-style message under **Utility**. Common signs:

    * Promotional copy ("Sale ends Friday", "Get 20% off")
    * An offer or coupon
    * Re-engagement messaging

    Resubmit as **Marketing**. If the template is genuinely transactional (order updates, password resets, appointment reminders), keep it as Utility but tighten the copy.
  </Accordion>

  <Accordion title="Promotional language in Authentication" icon="key">
    Authentication templates can contain only the verification code and minimal supporting text. Anything that reads like marketing — branding statements, offers, links to your site — will be rejected. Strip back to the code, an expiry note, and "Do not share this code".
  </Accordion>

  <Accordion title="Sample variable values don't match the body" icon="curly-braces">
    When you add a variable like `{{1}}`, Meta requires a sample value that matches what you'd really send. Common mistakes:

    * A sample link that's a generic homepage when the body promises an order tracking page.
    * A sample name with special characters that imply unsupported formatting.
    * Samples that don't match the template's tone (e.g. `John` for a first name when the body addresses the recipient as "Customer").

    Use realistic samples. For URLs, use a real production-style URL with placeholder IDs.
  </Accordion>

  <Accordion title="Spammy text in the body" icon="megaphone-off">
    These get rejected fast:

    * Excessive capitalisation (`FREE!!!`)
    * Multiple exclamation marks
    * "Click here" without context
    * Over-promising language ("guaranteed", "100% off")
    * Misleading urgency ("Last chance!" without a real deadline)

    Rewrite as a calm, factual message. WhatsApp templates should read like a useful update, not a banner ad.
  </Accordion>

  <Accordion title="Variable indexes out of order" icon="list-ordered">
    Variables must be sequential starting from `{{1}}`. `{{1}}` then `{{3}}` will be rejected. Renumber so they go `{{1}}`, `{{2}}`, `{{3}}` in order.
  </Accordion>

  <Accordion title="Broken or unreachable media header" icon="image-off">
    For IMAGE, VIDEO, and DOCUMENT headers, Meta tries to fetch the URL during review. If it 404s, redirects through a login page, or is blocked by your CDN to non-browser user-agents, the template is rejected. Host on stable infrastructure that allows Meta's crawler.
  </Accordion>

  <Accordion title="Buttons that don't comply" icon="square-arrow-out-up-right">
    * Quick reply labels longer than 25 characters
    * URL buttons whose URL pattern doesn't make sense (`https://example.com/{{1}}` with a sample of `not-a-path`)
    * Phone buttons in non-E.164 format

    Fix the offending button, leave the others in place.
  </Accordion>

  <Accordion title="Duplicate template name" icon="copy">
    A WABA cannot have two templates with the same `name` and `language`. If you re-submitted with the same name without removing the old one, the new one will be rejected. Either pick a new name, or delete the old version first.

    Meta enforces a **30-day cooldown** on re-using a name after deletion. If you try to publish a template with the same name as one Meta is currently deleting, Flowella surfaces a cooldown-specific error so you know to either wait or pick a new name.
  </Accordion>
</AccordionGroup>

## Resubmitting

<Steps>
  <Step title="Open the rejected template">
    Open the rejected template in Flowella.
  </Step>

  <Step title="Click Edit">
    Click **Edit**.
  </Step>

  <Step title="Apply your changes">
    Make the fix indicated by the rejection reason.
  </Step>

  <Step title="Submit again">
    The template re-enters the `PENDING` state. Most resubmissions clear Meta's automated review within minutes, though some are routed for human review and can take up to 48 hours.
  </Step>
</Steps>

<Tip>
  Keep working APPROVED templates untouched. Edit a copy when you want to make significant changes — that way your live sends keep working while Meta reviews the new version.
</Tip>

## Still rejected after fixing?

<Note>
  If the same template is rejected twice and you can't see why, contact [support](https://flowella.io/support) with:

  * The template name and language
  * The full rejection reason from Meta
  * A screenshot of the template body, header, and buttons

  We can often spot the issue quickly or escalate to Meta on your behalf.
</Note>

## Related

<CardGroup cols={2}>
  <Card title="Template reference" icon="file-text" href="/app/template-reference">
    Categories, headers, button rules, and variable syntax.
  </Card>

  <Card title="Template variables" icon="curly-braces" href="/app/template-variables">
    Sample values, fallbacks, and the rejection traps that come with them.
  </Card>

  <Card title="Templates" icon="layout-template" href="/app/templates">
    Edit and resubmit the rejected template.
  </Card>

  <Card title="Pricing & categories" icon="badge-dollar-sign" href="/account/pricing-and-conversation-categories">
    Why category mismatches matter beyond just rejection.
  </Card>
</CardGroup>
