ChatDaddy

Understanding WhatsApp Limitation Cards — Why a Message Can't Be Shown, Sent, or Approved

ChatDaddy now explains every WhatsApp API limitation in-app: why an incoming message can't be shown, why your draft won't send, and why an authentication template was rejected — with the exact workaround for each.

Updated Jul 19, 2026

Also searched as: WhatsApp limitation card, message can't be shown, unsupported message WhatsApp API, why can't I send this message, WhatsApp poll not showing, View Once not supported, authentication template rejected, OTP template rejected reason, WhatsApp API send restriction, template only badge, not supported badge, WhatsApp Cloud API limitations, message not delivered ChatDaddy, WABA send limits, live location not supported

Some things WhatsApp simply will not do over the Business API — and when you hit one, ChatDaddy now tells you which rule you hit, why it exists, and what to do instead. This guide walks through the three moments you will see one of these explanations. Every limitation described here comes from Meta's WhatsApp Cloud API, not from ChatDaddy. None of them can be turned on in your settings — but almost all of them have a workaround, and the in-app card always names it.

The three moments you will see a limitation

  1. A customer's message arrives, but the Inbox can't show it — e.g. a poll, a View Once photo, a live location.
  2. Your WhatsApp Business API channel refuses to send your draft — e.g. four reply buttons, a voice note, a list with an attachment.
  3. Your authentication (OTP) template is rejected — e.g. it contains a link, an emoji, or an over-long parameter. Each one is explained by the same card, so once you can read one you can read all of them.

Scenario 1 — A customer's message can't be shown in the Inbox

**When it happens: **a customer sends something from their phone that the WhatsApp Cloud API does not forward to business platforms. The message exists on their phone and in the WhatsApp Business app — it just never reaches ChatDaddy.

Step 1 — Look for the quiet one-liner in the conversation

Instead of an empty or broken bubble, the chat shows a short italic line naming exactly what came through. It stays inline so a busy conversation doesn't turn into a wall of warnings.

The chat bubble names what arrived — here, a poll that the API cannot deliver.

Step 2 — Click “Why?” for the full explanation

The Why? hint sits at the end of the line. Clicking it opens the card with the full explanation.

The “Why?” hint at the end of the one-liner opens the explanation card.

Step 3 — Read the four parts of the card

Every card in ChatDaddy — for incoming messages, sending limits and template rejections alike — answers the same four questions in the same order:

The four parts of a limitation card, in the order they always appear.

  1. What happened — the title and one-line summary of what WhatsApp sent.
  2. Why it happens — the underlying Meta rule, in plain language.
  3. What you can do — the workaround, most specific option first.
  4. Where to read more — a link straight to Meta's official documentation.

All 14 situations you may see in the Inbox

These 14 cards cover 19 different message types that Meta reports as unsupported.

The 14 incoming-message cards. Every one follows the same four-part shape.

What you see in the chatWhy it happensWhat you can do
Polls don't come throughThe Cloud API has no poll type, so votes are invisible tooOpen the WhatsApp Business app to see it; ask with reply buttons or a list instead
This message was edited on WhatsAppMeta reports the edit but never sends the new textTreat the text shown as the original; check the phone for the edit
View Once photo or videoView Once media is destroyed after one viewingAsk the customer for a normal photo instead
Live location isn't supportedA one-off pin arrives fine; the live stream doesn'tAsk for a normal location pin instead
Animated GIF isn't supportedThe Cloud API doesn't carry WhatsApp's GIF typeAn MP4 video arrives fine — ask for that
Kept a disappearing messageIt's an action on the chat, not a messageNo action needed
Pinned messages don't syncPinning is a phone-side action Meta doesn't pass onNo action needed
Group invite linkThe Cloud API doesn't carry group invitesJoin or decline from the phone
Cart or product messageShop messages are rendered by the app, not passed through the APIAsk the customer to confirm the items in a message
Interactive message can't be shownOnly whoever created the payload can re-render itAsk them to reply in plain text
Reaction can't be shownThe original never arrived, so there is nothing to attach toNo action needed
Link preview onlyThe message held nothing but a link-preview cardAsk for the link as plain text
Media isn't availableThe media expired or never finished uploadingAsk the customer to re-send the file
WhatsApp couldn't process this messageIt failed on Meta's side, so nothing arrivedAsk the customer to re-send — usually a one-off

Almost every one of these is still readable in the WhatsApp Business app on the phone connected to the channel. That is the one reliable way to see the original.


Scenario 2 — Your WABA channel refuses to send the message

**When it happens: **while composing in the Inbox, building a message flow, or testing a draft in the WhatsApp sandbox. ChatDaddy checks the draft against Meta's rules before sending, so you find out while you can still fix it — not after a silent failure.

Step 4 — Check the badge first

Every send restriction carries one of three badges. The badge tells you whether the message can ever be sent, and it is the fastest way to know what to do next.

The three badges: Not supported, Limit, and Template only.

BadgeWhat it meansWhat to do
Not supportedWhatsApp Business API has no such feature — it will never sendUse the alternative named in the card, or send from a personal (QR-linked) channel
LimitYour draft breaks a size or structure ruleEdit the draft to fit the limit, then send again
Template onlyFree-form messages can't carry thisMove it into an approved template, or reword the message

Step 5 — Apply the fix from the card

You never have to look the rule up. The card states the exact limit and the two quickest ways to get within it.

A “Limit” card: the exact cap, plus two ways to get under it.

Step 6 — When a draft breaks several rules at once

In the WhatsApp sandbox, each broken rule gets its own row, so you can fix them in one pass instead of discovering them one at a time. Each row has its own Why? hint.

A single draft breaking seven rules — each listed separately with its own explanation.

All 12 send restrictions

What you're trying to sendBadgeThe ruleWhat to do instead
A pollNot supportedWhatsApp Business API has no poll message typeAsk with reply buttons (max 3) or a list (max 10 rows), or send from a personal channel
A product or catalog cardNot supportedThese need a WhatsApp Shop on the numberSend the details as a normal message, or use a list to offer several products
A recorded voice noteNot supportedThe Business API path doesn't carry voice notesAttach it as a normal audio file, or write the message as text
An edit to a sent messageNot supportedThe Cloud API has no edit endpoint at allSend a follow-up with the correction, or delete the original
More than 3 reply buttonsLimitA message can carry at most 3 reply buttonsRemove buttons until 3 remain, or use a list instead (10 rows)
A button title over 20 charactersTemplate onlyFree-form button titles are capped at 20 characters (the composer allows 80)Shorten it to 20 characters, or move it into an approved template
A link or call buttonTemplate onlyURL and call buttons only exist inside an approved templatePut the link or number in the message text, or use a template
Buttons and a list in one messageLimitA message carries buttons or a list, never bothDrop one of them, or split them across two messages
An attachment on a list messageLimitMeta's list payload has no media headerSend the file as a separate message
More than 10 list rowsLimitA list holds 10 rows in total, across every sectionRemove rows until 10 remain, or split the rest into a second list
A free-form message after 24 hoursTemplate onlyFree-form only works within 24 hours of the customer's last replySend an approved template — their reply re-opens the 24-hour window
A call from a coexistence numberNot supportedCalling needs a full Business API numberCall from a full Business API number, or migrate the number off coexistence

Scenario 3 — Your authentication (OTP) template is rejected

**When it happens: **when you submit a template that delivers a passcode. Meta holds authentication templates to much stricter rules than marketing or utility ones, because passcode messages are a prime phishing target.

Step 7 — Read the named reason, not “Template rejected”

Instead of a generic rejection, ChatDaddy shows the one rule you broke — with the reasoning behind it and the exact fix.

A named rejection reason, with the rule, the reasoning, and the fix.

All 7 authentication template rules

Seven named rejection reasons, replacing the generic “Template rejected” message.

Rejection reasonWhy Meta enforces itHow to fix it
Zero-tap needs both fallback buttonsZero-tap is Android-only, so other devices need the fallbacksAdd a one-tap autofill and a copy-code button — keep zero-tap on, the fallbacks sit alongside
One-tap autofill is Android-onlyAutofill needs an Android handshake iOS doesn't offerAdd a copy-code button for iPhone users, and check your Android signature hash
Only Authentication templates can send a passcodeMeta reserves passcodes for this category aloneSet the category to Authentication, or start from Meta's Template Library
No links in an authentication templatePasscode messages are a phishing target, so Meta bans links outrightRemove every URL — including inside variables
No media in an authentication templatePlain text stops passcode messages impersonating a brandRemove the media header; use a plain text header, or none
No emojis in an authentication templatePlain text keeps the passcode from being visually spoofedRemove every emoji, including in your variable examples
Parameter is longer than 15 charactersLonger values are rejected outright, not truncatedShorten it to 15 characters or fewer, or move the longer text into the body

Step 8 — Run the pre-submit checklist

The same ruleset, as a checklist. Running through it before you submit is the fastest way to avoid a rejection round-trip.

The eight authentication-template rules as a pre-submit checklist.


Frequently asked questions

Is the message lost for good? For incoming messages, the content never reached ChatDaddy — but it is still on the customer's phone and in the WhatsApp Business app connected to your channel. Open the app on that phone to read it.

Will trying again help? It depends on the badge.

  • Not supported — no. Retrying sends the same rejected payload.
  • Limit — yes, once you have edited the draft to fit the limit.
  • Template only — yes, once the content is in an approved template.

Why can my personal (QR-linked) channel do things my WABA channel can't? They use two different transports. A personal or business QR-linked channel talks to WhatsApp the way the phone app does, so it can send polls and voice notes. A WhatsApp Business API channel goes through Meta's Cloud API, which supports a smaller set of message types but unlocks broadcasts, templates and higher volumes.

Can ChatDaddy lift any of these limits? No. Every rule on this page is enforced by Meta's WhatsApp Cloud API before the message reaches or leaves ChatDaddy. What ChatDaddy can do — and now does — is catch the rule early and tell you which workaround applies.

The 24-hour window keeps closing. What can I do? Only an approved template can be delivered once 24 hours have passed since the customer's last reply. As soon as they reply to the template, the 24-hour window re-opens and free-form messages work again.

Read more on Meta's documentation


Related guides

Was this article helpful?

Related articles