Staying unbanned
WhatsApp restricts numbers used with third-party tools at its own discretion. Here is everything that raises or lowers your odds, and what PromotionBot does automatically.
PromotionBot runs on an unofficial WhatsApp integration. That's what makes it possible to message groups at all — the official Business API can't do it. It also means WhatsApp can restrict a number used with any third-party tool, at its own discretion, sometimes with no warning.
The risk is real and it is manageable. Almost every restriction we've seen traces back to one of five behaviours, all avoidable. This page is the highest-value thing in these docs.
The short version#
- Use a dedicated number, never your personal WhatsApp.
- Warm up a new number over days, not minutes.
- Keep daily caps low — one or two messages per group per day.
- Vary your message text between groups.
- Only message groups you're a genuine member of.
Everything below is detail on those five.
Use a dedicated number#
A spare SIM, a cheap prepaid, a number bought for the association. Two reasons:
- If WhatsApp restricts it, your personal account — your family chats, your two-factor codes — is untouched.
- A number whose only traffic is announcements has a clean, consistent pattern. A number that's simultaneously your personal chat and a broadcast tool looks stranger, not less strange.
Don't share the number with a person who also uses it for one-to-one chat on the same account.
Warm up a new number#
This is the single biggest trigger. A brand-new WhatsApp number that links a device and immediately messages forty groups is the exact signature of a spam operation.
A reasonable ramp:
| Day | What to do |
|---|---|
| 1–2 | Link the number, import groups, tag them. Send nothing. Have a couple of normal one-to-one conversations from the phone. |
| 3–4 | One real send to a small audience — three or four groups. |
| 5–7 | Two sends, ten to fifteen groups. |
| Week 2 | Normal operation. |
It feels slow. It is much faster than replacing a banned number and re-pairing mid-term.
New numbers start small#
The ramp above is what to do by hand. The app also enforces a floor under it, so a mistake on day one cannot become a ban: a newly linked number gets a lower daily allowance that rises on its own, roughly doubling each day until it reaches the normal 400 after about a week. You don't configure it, request it, or wait for us to lift it. Day one is deliberately small; by the end of the first week the ramp is gone.
Three things worth knowing:
- It follows the phone number, not the connection. Re-link the same number — after a reconnect, a new phone, a fresh QR — and it keeps the age it already earned. You are never sent back to day one for re-pairing. Link a genuinely new number and the ramp starts over, which is the correct behaviour: it is a new account in WhatsApp's eyes, whatever your organisation's history is.
- This one can't be overridden. The rate-ceiling override exists for established numbers with a legitimate reason to reach everyone at once. On a two-day-old number there is no such reason that outweighs the risk, so Compose explains the limit and how soon it rises, and offers no "send anyway". A number that gets restricted stops working for your whole team, and that trade is not close.
- Nothing is lost, only spread. Schedule the rest or let a campaign carry it — deferred sends go out on their own as the allowance grows. You do not need to remember to come back.
If you're onboarding and want everyone reached this week, the ramp is a reason to link the number a few days before your first real send, not on the morning of it.
Being rolled out. We're measuring real first-week sending patterns before switching the ramp on, so your new number may currently get the full ceiling from day one. Either way the guidance above is the behaviour to plan around — starting a new number small is the right habit whether or not the app is enforcing it yet.
Keep daily caps low#
The daily cap is the maximum messages one group receives from you per day. One or two is right for almost everyone. The hard ceiling is 10 and cannot be raised by anyone, on any plan.
Two separate reasons this matters:
- WhatsApp: volume into the same chats is a spam signal.
- Your members: nobody leaves a group because of one message. They leave, or mute, because of the fourth one in a day — and a muted group is a group you've lost while your dashboard still says "delivered".
Add a weekly cap for audiences that shouldn't hear from you often: alumni, partners, anyone who didn't opt in to a firehose.
Vary your message#
Identical text delivered to thirty groups within a few minutes is a classic spam fingerprint.
Use message variation — {Hey|Hi|Hello} everyone — and the
{groupName} token. Both are one-line changes that make every
outgoing message textually distinct.
It's also just better writing. "Hi Year 2 — Law!" reads like a person; a mail-merge blast reads like a mail-merge blast.
Only message groups you're really in#
The fair-use policy draws this line, and so does WhatsApp: message communities you belong to, where members understand they may get announcements.
Joining groups purely to broadcast, or working from a bought or scraped list, gets numbers banned quickly and will get your account suspended here. It's also the behaviour that makes members report you, which is a stronger ban signal than volume ever is.
The send cadence#
You can't turn this off and you shouldn't want to. For every group in a send, PromotionBot:
- Sends a typing indicator to the group.
- Waits 1.2–4 seconds, scaled to message length (about 30 ms per character, capped at 4 seconds) — so a long message takes visibly longer to "type".
- Sends the message.
- Waits 3–8 seconds before the next group, with a 20% chance of an extra 5–20 second pause.
A forty-group send therefore takes several minutes, and the timing is never the same twice. That irregularity is the point: perfectly-spaced sends are machine-shaped, and machine-shaped traffic is what gets flagged.
There is no fast mode, no bulk endpoint, and no plan that speeds this up.
What PromotionBot does for you automatically#
- The cadence above, on every send from the app, the scheduler, campaigns, events, and the MCP campaign
tools. (The direct MCP
send_message/send_file/send_audio_messagetools are the one exception — they bypass the pacing, so don't loop over groups with them. See Claude & MCP.) - Per-group daily caps and optional weekly caps, enforced server-side.
- A per-source cooldown (20 hours — see the exact windows), so one campaign or recurring send can't repeat into the same group. A manual "fire now" keeps the full 20 hours.
- Quiet hours per number: a send that comes due inside the window is held, not fired at 03:00.
- A per-number rate ceiling: 60 messages an hour and 400 a day. A send whose fanout would cross it stops and asks you to confirm, because it is the velocity WhatsApp's anti-spam systems watch. You can go past it — see sending past the rate ceiling — but the confirmation is the point. Scheduled sends and campaigns don't ask: they're simply deferred to the next minute the ceiling allows, so they catch up on their own.
- A lower ceiling while a number is new, rising on its own over the first week — see new numbers start small.
- A send circuit breaker: after 5 consecutive failures of any kind mid-fanout, the rest of that send is abandoned rather than pushed through. If those failures look ban-indicative, new sends on that number are blocked too until a cooldown lapses.
- Connection-level ban detection: if WhatsApp restricts a number, all sending for your organisation pauses immediately and the owner is emailed. It never auto-resumes — a human decides.
- Message formatting normalisation, so a stray
**bold**doesn't go out as literal asterisks to 40 groups.
Sending past the rate ceiling#
If a send would take the number past 60 messages in the last hour (or 400 in the last day), Compose stops and tells you how much room is left, then offers Send anyway — I accept the risk.
Take the confirmation seriously. The ceiling is not a licensing limit and no plan changes it; it's roughly the fastest one number can behave before it looks automated. Going past it does not disable anything else — the cadence still paces every message, per-group caps still apply, so a 200-group send just takes proportionally longer — but it does measurably raise the odds of a restriction.
When you have more groups than the ceiling allows, the safer pattern is almost always to split the send: half now, half in an hour, or let a campaign spread it. Reach for the override when the message is genuinely time-critical, not as routine practice.
Two practical notes:
- Only admins can override it, for the same reason only admins can raise a daily cap.
- The override is per send. There's no setting to switch it on permanently, deliberately — you re-accept the risk each time.
- We record it. If you ever need to discuss a restriction with us, we can see whether the sends involved were inside the built-in limits.
Habits that pay off#
- Check the delivery preview before every send — it resolves tokens and shows the spun text, and tells you which groups will be skipped.
- Read the delivery preview before sending. It tells you what will be skipped and why.
- Check the calendar weekly. Two committees promoting into the same year group on the same night is the most common self-inflicted over-messaging.
- Retire inactive groups once a term. Sending into dead groups is pure cost — plan allowance, ban surface, and a worse click rate.
- Watch your click rate by audience, not just delivered counts. Falling clicks at steady volume is the early warning that people have stopped reading. That's the moment to send less, not more.
If it happens anyway#
See what happens when WhatsApp restricts a number. Short version: sending pauses, you're emailed, nothing is deleted, you link a different number and carry on. The fair-use policy covers refunds when you were sending inside these limits, and data export.