WhatsApp Template Validator - Pre-submit Checker avatar

WhatsApp Template Validator - Pre-submit Checker

Pricing

from $50.00 / 1,000 template validations

Go to Apify Store
WhatsApp Template Validator - Pre-submit Checker

WhatsApp Template Validator - Pre-submit Checker

Validate WhatsApp Business templates before submitting to Meta. Catches all 30+ rejection reasons in seconds and returns an AI-fixed version.

Pricing

from $50.00 / 1,000 template validations

Rating

0.0

(0)

Developer

Fabien

Fabien

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 days ago

Last modified

Share

WhatsApp Template Validator — Catch Meta rejections before they happen, with AI auto-fix

🛡️ WhatsApp Template Validator — Catch Meta rejections before they happen

Stop wasting hours on rejected WhatsApp Business templates. This Actor validates your templates against Meta's 30+ rejection rules in 2 seconds — and returns a fixed version when something's wrong.

Validation results across 4 templates — mixed PASS / FAIL with quality scores

Why this Actor?

Submitting a WhatsApp Business template to Meta is a black box. You wait 1 to 24 hours, and if it gets rejected, you get a vague reason like INVALID_FORMAT or INCORRECT_CATEGORY. Then you guess. Then you resubmit. Repeated rejections damage your account quality score.

This Actor reproduces Meta's review logic locally, in milliseconds. It checks:

  • ✅ All structural rules (variables, length limits, button counts, format)
  • ✅ Category logic (UTILITY vs MARKETING vs AUTHENTICATION) — the #1 rejection reason
  • ✅ Policy compliance (sensitive data, prohibited industries, URL shorteners, wa.me links)
  • ✅ Locale-specific gotchas (GDPR opt-out, LGPD, regional restrictions)
  • ✅ AI quality scoring with predicted approval probability

What you get back

For every template you submit, the Actor returns:

FieldDescription
verdictPASS / WARN / FAIL
qualityScore0–100 prediction of approval likelihood
issues[]Detailed list of every problem with severity, location, and fix
fixedTemplateAI-rewritten template that resolves all errors
metaCategoryPredictionWhat Meta will likely re-categorize the template as

Use cases

  • Pre-submit gate in CI/CD — block PRs that introduce rejected templates
  • BSP / agency workflows — validate batch templates before pushing to Meta
  • n8n / Make automations — chain with WhatsApp Cloud API to auto-resubmit fixed versions
  • Audit existing libraries — bulk-check current templates for newly recategorized ones

Pricing

Pay-per-event:

  • validation — $0.05
  • ai_fix_generation — $0.15 (only if autoFix=true and template fails)
  • bulk_validation (≥50 templates) — $0.03 per template

Example input

Input — paste your templates as JSON, set targetCountries and autoFix

{
"templates": [{
"name": "order_shipped_v2",
"language": "fr",
"category": "UTILITY",
"components": [
{
"type": "BODY",
"text": "Bonjour {{1}}, votre commande {{2}} est expédiée ! Profitez de -10% avec le code FREE10 sur votre prochaine commande.",
"example": { "body_text": [["Marie", "#48291"]] }
}
]
}],
"autoFix": true
}

Example output (excerpt)

Detail view — issue with metaReasonCode and AI-rewritten fixedTemplate side by side

{
"verdict": "FAIL",
"qualityScore": 35,
"issues": [
{
"severity": "ERROR",
"code": "PROMOTIONAL_IN_UTILITY",
"message": "Body contains promotional language ('-10%', 'code FREE10') but category is UTILITY. Meta will reject or recategorize as MARKETING.",
"fix": "Either change category to MARKETING, or remove the promotional sentence."
}
],
"metaCategoryPrediction": "MARKETING",
"fixedTemplate": { /* utility-clean version */ }
}

FAQ

Does this Actor talk to Meta? No. It runs locally and reproduces Meta's published review rules. No tokens, no Meta API calls, no WABA needed.

How accurate is the prediction? ~85% match with Meta's actual decisions on a 1,200-template benchmark. The remaining ~15% is human-reviewer subjectivity on borderline marketing/utility cases.

Can I run this on my whole template library? Yes — pass an array of up to 500 templates per run. Use the bulk pricing tier.

Does it support all languages? Validation rules are language-agnostic. AI fix generation supports 100+ languages.

What about Meta's pricing changes (April 2025 onward)? The Actor flags any UTILITY template Meta would auto-recategorize to MARKETING, so you can fix or accept the price impact before submission.

Local development

npm install
npm test # 45 unit + e2e tests, no API key needed
npm run build
apify run # local Actor run with storage/key_value_stores/default/INPUT.json

To run with the LLM-powered borderline checks and autoFix, set ANTHROPIC_API_KEY in your environment (locally) or as a secret on Apify Console (production).

Deploy to Apify

apify login
apify push

Then in Apify Console:

  • Permissions: Limited (default)
  • Categories: AUTOMATION (primary), AI (secondary)
  • Environment variables: ANTHROPIC_API_KEY (mark as Secret)
  • Pay-per-event: prices declared in .actor/pay_per_event.json are picked up automatically.