Send to thousands. Personalise for one.
Tag-based or CSV-driven WhatsApp campaigns with per-contact template variables, scheduling, and real-time delivery tracking.
Tag or CSV audiences
Send to everyone with a tag, or upload a CSV of numbers with per-contact variables. Mix, match, resend.
Template personalisation
Every recipient sees their own name, order ID, or code — powered by Meta-approved templates with variable substitution.
Scheduled or immediate
Timezone-aware scheduling. Plan your weekend sale on Thursday; we'll fire it when your market wakes up.
Live delivery stats
Sent, delivered, read, failed — counts stream in as Meta confirms. Drill into per-contact status for debugging.
BullMQ-powered delivery that survives the spikes
Every broadcast is queued and processed with controlled concurrency. Rate limits retry with exponential backoff; failures stay in the queue with error context, not lost. Plan-enforced caps prevent accidentally burning through your conversation budget.
- Per-workspace monthly broadcast limits enforced via PlanGuard
- Failures tracked per-contact with Meta error code + subcode
- Resend "only failed" supported — no duplicate charges
Templates, the way Meta expects
Broadcasts must use approved templates. WapiSnap syncs templates live from Meta, surfaces approval status per template, and lets you create + submit new templates (including buttons) without leaving the dashboard.
Frequently asked questions
How do I pick who receives a broadcast?+
Two ways. Tag-based: select contacts with any combination of tags. CSV: upload a list with per-contact variables for template personalisation. Both pipe through the same delivery engine.
Can I personalise each message?+
Yes. Variables map to Meta-approved templates. With CSV imports, each row carries its own variable values — so every recipient sees their own name, order ID, or coupon code.
Can I schedule a broadcast in advance?+
Yes. Pick immediate or schedule. Scheduled broadcasts use the same cron-backed runner as scheduled flows, with timezone-aware timing.
How do I know what got delivered?+
Every broadcast tracks total, sent, failed, delivered, and read counts in real time. Per-contact status is stored so you can diff "who didn't receive this" vs "who didn't open it".
What happens if Meta rate-limits me?+
Delivery runs through BullMQ with exponential backoff. Rate-limit responses retry automatically without losing the queue position. Nothing gets silently dropped.
Your WhatsApp. Your AI. Your rules.
Join businesses automating WhatsApp without vendor lock-in.