WAWaxiomatic

AI Spam-Check — preventing template rejections before they happen

18 May 2026 · 2 min read · by Engineering

#ai#templates#product

Every WhatsApp Business operator has lived this loop: write a template, submit to Meta, wait 24–72 hours, get rejected for a reason that’s often a single sentence change. We built AI Spam-Check as a pre-submission step in our template builder to compress that loop to zero.

How it works. The customer drafts a template in the visual builder — header, body with placeholders, optional footer and buttons. Before they tap Submit to Meta, we route the components through a tightly-scoped Claude prompt that has the public Meta template policy in its system prompt and returns a structured SpamCheckResult with a 0–10 risk score, a one-line rationale, and an array of flagged issues. The dashboard surfaces each issue inline with a Suggest fix chip that swaps in a Claude-generated rewrite for that component only.

The model gates submission when blocking: true — typically when the template combines a UTILITY category with marketing language, a body with a dynamic URL, or a header that violates the no-emoji rule. Non-blocking flags appear as warnings; the customer can still submit if they want to override. Either way, we persist the score and rationale on the template row so the operator can see why a template was flagged six weeks later.

Two design notes. First, we cache the prompt aggressively — Meta’s policy doesn’t change often, so the system prompt is a fixed prefix and we use Anthropic’s prompt caching to keep per-check cost under a tenth of a cent. Second, we never auto-submit — a green check from Claude is a strong signal but Meta’s reviewers ultimately decide; we want the human approval click before the template hits Meta.

What does it cost? On the Free Forever tier you get 50 AI requests a month, which covers a comfortable amount of template iteration. Paid tiers scale from 2,000 to unlimited. There’s no per-check upcharge — it’s part of every plan.

What did we see in pilot data? Across our first 60 customers, we tracked the rejection rate of templates submitted with vs. without AI Spam-Check enabled (it’s a toggle while we ramp confidence). Templates that went through the pre-check were rejected by Meta 30–40% less often on average, with the biggest drop for MARKETING templates that were originally drafted as if they were UTILITY. The single most common save was “dynamic URL in body → use a URL button with a stable base URL instead” — a fix that would have taken three days of round-tripping with Meta’s review queue to discover the other way.

We’ll keep tuning the prompt as Meta’s policy shifts. Try the builder yourself at /dashboard/templates/new — the spam check runs whether you’re on the free tier or a paid plan.