• 5 msg/batch · 7–13s between messages · 45s between batches (looks human)
• Typing indicator shown before each message · human open/close delays
• Numbers verified on WhatsApp before each send — non-WA numbers skipped & marked
• Send order randomised · 3–7 min break every 25 sent · 7–15 min break every 50 sent
• Same contact never messaged twice in the same day
• Sends only 8 AM–10 PM local time — off-hours automatically blocked
• No {{name}} → "Hi [Name]," auto-prepended so every message is unique
• URLs in message body are automatically removed before sending
• Week 1–2: Max 20 msg/day — send only to contacts who know you
• Week 3–4: Max 50 msg/day — mix of saved and opted-in contacts
• Month 2: Up to 100/day — only after consistent daily usage
• Month 3+: Up to 250/day — only if no warnings or blocks received
Starting too high on a new number is the #1 cause of permanent WhatsApp bans.
• Only message contacts who have your number saved (customers, students, opt-ins)
• Always use {{name}} in the body so every message is personalised
• Never include URLs — same link to 200 strangers is WhatsApp's #1 spam signal
• If someone reports you, WhatsApp counts it against your number permanently
• Use WhatsApp Business API (Gupshup) for large verified broadcasts instead
Blocked/opted-out — permanently excluded, never retried.
Template errors — fix in Gupshup dashboard first, then retry.
| Template / Message | Date | Total | Sent | Failed | Status |
|---|
| Name | Phone | Group | Added |
|---|
👋 Welcome — let's get you set up
Choose how you want to send WhatsApp messages. There are four paths — pick the one that matches your situation. Each path has its own setup steps, limits, and rules.
WhatsApp Web
Use your personal phone number. No business account needed. Scan a QR code to connect.
Personal · No APIMaytapi
Use your personal phone number via the Maytapi hosted gateway. No business account needed — pair once on the Maytapi dashboard.
Personal · No APIGupshup Business API
Use a dedicated business number via Gupshup. Requires a Gupshup account and approved templates.
Business · Gupshup APIMeta Business API
Connect directly via Meta's WhatsApp Business Platform. Requires Meta Business Suite access.
Business · Meta API{{name}} anywhere to insert the contact's name automatically.• Max 250 messages/day per account.
• Only sends between 8 AM – 10 PM in your configured timezone.
• Sends are spaced out with human-like delays to avoid bans.
• Only 1 broadcast can run at a time per account.
• Do not include URLs — WhatsApp detects bulk URL sends and bans numbers.
• Contacts must be saved in your phone or have previously messaged you for safest delivery.
✅ Works for
Personal outreach, small class groups, local customers who know your number
⚠️ Limitations
250/day cap, slower sends (human delays), risk of ban if recipients don't know you
📱 Your number is used
Messages come from your personal WhatsApp — recipients see your contact name
🚫 No templates needed
Plain text — no approval process, no Gupshup/Meta account required
{{name}} anywhere to insert the contact's name automatically.• Max 250 messages/day per account.
• Only sends between 8 AM – 10 PM in your configured timezone.
• Sends are spaced out with human-like delays to avoid bans.
• Only 1 broadcast can run at a time per account.
• Do not include URLs — WhatsApp detects bulk URL sends and bans numbers.
• Contacts must be saved in your phone or have previously messaged you for safest delivery.
✅ Works for
Personal outreach, small class groups, local customers who know your number
⚠️ Limitations
250/day cap, slower sends (human delays), risk of ban if recipients don't know you — same as WhatsApp Web
📱 Your number is used
Messages come from your personal WhatsApp, sent via Maytapi's hosted gateway — recipients see your contact name
🚫 No templates needed
Plain text — no approval process, no Gupshup/Meta account required
💳 Maytapi billing
Developer Plan: $24/phone/month (billed annually) — unlimited messages & API calls, 3-day free trial, no setup fee. A free Sandbox tier exists but is capped at ~150 msgs/day, too small for real broadcasting.
🆓 WhatsApp Web here is free
The WhatsApp Web option costs $0 because it automates your own browser session on this server — no third party hosts it. Maytapi charges because they host and keep your session alive on their infrastructure.
⚖️ Trade-off
WhatsApp Web: free, but needs a Chromium browser running on this server (won't run on shared/cPanel hosting) and can disconnect if your phone is offline too long. Maytapi: paid, but runs on their servers — survives server restarts and works on hosting that can't run a browser.
🛡️ Anti-ban logic = our code, not Maytapi's
The 250/day cap, 8 AM–10 PM window, human-like delays, single-broadcast-at-a-time limit, and 24h duplicate-contact skip are all enforced by this app — the exact same code path used for WhatsApp Web. Maytapi itself does not throttle anything; it will relay messages as fast as you send them, so these guards are what actually protect your number from a ban.
{{1}}, {{2}} for variables.• Cannot contain promotional content that users haven't opted in to receive.
• No false claims, misleading content, or prohibited industries (gambling, alcohol, tobacco, etc).
• Variables
{{1}}, {{2}} must be filled with realistic sample values during submission.• Templates can be paused by Meta if they receive low quality ratings — keep your message relevant.
{{1}} = {{name}} to auto-fill contact name, or any fixed text).{{name}} in any variable field to automatically personalise the message with each contact's name.- Phone Number ID — from the WhatsApp → Getting Started page in the developer portal
- WABA ID — WhatsApp Business Account ID (visible in Business Settings → WhatsApp Accounts)
- Access Token — permanent token generated from System Users in Business Settings
- Language — the default language of your approved templates (e.g.,
en,hi,en_US)
{{1}}, {{2}} variables.hi) and an English template (en) are two different approved templates even if they have the same name.Batching
Messages are sent in small batches with delays between them to avoid WhatsApp rate limits and bans.
Live progress
The progress bar and counters update in real time. You can pause, resume, or cancel mid-broadcast.
Off-hours protection
Broadcasts automatically pause between 10 PM and 8 AM in your local timezone (set in Settings). Resumes the next morning.
Daily cap
WhatsApp Web: 250/day. Business API: controlled by your WhatsApp tier (500 → 1,000 → 10,000 → unlimited as your account matures).
Dry Run
Test your setup without sending real messages. Shows what would happen — useful for verifying templates and contact lists.
Per-contact results
After sending, view the History tab for a full per-contact breakdown: sent, failed, blocked, not on WhatsApp, etc.
Each WhatsApp number gets its own separate flow — switching numbers in the Chatbot tab edits that number's flow only, never affects your other numbers.
After a broadcast, contacts that failed for temporary reasons (server errors, rate limits, temporary WhatsApp outages) are automatically queued for a retry.
Auto-queue
Retryable failures are automatically added to the retry queue. No action needed from you.
7-day wait
Retries fire automatically after 7 days — giving WhatsApp time to recover from any outage.
Fire Now
Go to Retry Failed tab, find the entry, and click "Fire Now" to retry immediately without waiting.
What is NOT retried
Blocked contacts, "not on WhatsApp" numbers, and template errors are not retried — they need manual action.
Scheduling lets you compose a broadcast now but send it at a specific future date and time.
How to schedule
On the Broadcast page, compose your message, then click "Schedule" instead of Send. Pick a date and time.
Automatic firing
The system checks every 60 seconds. When the scheduled time arrives, the broadcast fires automatically — no action needed.
Off-hours respected
If a schedule falls in the 10 PM–8 AM window, it waits until 8 AM the next morning to send.
Cancel anytime
Go to Scheduled tab to view pending schedules. Cancel any that haven't fired yet.
The system automatically handles: blocking permanently failed numbers, skipping known opted-out contacts, and honouring off-hours to protect your sender reputation.
Passwords are stored using one-way encryption (bcrypt) — nobody can read your password, including the administrator. If you forget it, the only option is a reset.
2FA adds a second layer of protection — even if someone knows your password, they can't log in without your phone.
✅ Admin CAN
Create accounts, set plans & limits, reset passwords, delete accounts
🚫 Admin CANNOT
Read your messages, view your contacts, see your broadcast history, or read your password
Each user's data (contacts, broadcasts, templates, API keys) is stored in a private folder that is not accessible through the platform interface — not even to the administrator. Your WhatsApp account credentials are stored only on this server and are never shared with us.
Each WhatsApp number has its own separate conversation flow. Pick a number to view or edit its flow — switching numbers below does not affect any other number's flow.
Turn on auto-reply for the numbers below. The chatbot only replies on accounts you explicitly enable here, using that account's own flow.
Build a simple decision tree: each screen shows a message plus optional numbered choices that lead to another screen. A screen with no options is a final answer — the conversation ends there until the customer sends "Hi" to start over.
A lead is captured from a customer's very first reply to a broadcast or chatbot message — even before they pick an option — then kept updated as their interest becomes clearer. Works across all your numbers (chatbot and broadcast can each run on a different WhatsApp number) — "From Number" shows which one captured it. Status shows whether they finished the conversation or are still mid-flow.
Loading…
broadcast-webhook
When a phone number has 10 or fewer digits, this country code is prepended automatically.
Numbers with 11+ digits or starting with + are left unchanged.
Example: entering 9876543210 with India (+91) → saved as 919876543210
| Username | Role | Plan | WA Accounts | Daily Limit | Chatbot | Created |
|---|