Everything you need
to get the most out of Wapes.
Ready-to-copy templates, real case studies, an honest guide to avoiding bans, and a local API for devs. No gates, no email, no nonsense.
Templates ready to copy and send.
37 templates tested in e-commerce, real estate, clinics, collections, and post-sale. With variables, no bots, ready to paste into Wapes.
Three SMBs that stopped copy-pasting.
Inmobiliaria Norte, Vega&Co, and Café del Valle — the numbers, the templates, and how long it took.
Extended FAQ and troubleshooting.
What people ask when something isn't working. Honest answers, no 'open a ticket'.
How to avoid getting banned.
12 rules to keep your number alive.
Local API (experimental)
JS hooks to extend Wapes from your own console.
Public changelog.
What changed in each release, no marketing speak.
What everyone asks before and after installing.
If you can't find your question here, write to us at wapes.crm@gmail.com. We respond in under 4 hours during LatAm business hours.
Installation and first steps
I installed Wapes but I don't see the panel in WhatsApp Web. +
Do I need to have my phone connected? +
Can I use Wapes with WhatsApp Business? +
Excel import and variables
My Excel has phone numbers in different formats (+52, 521, no code…). Does it work? +
How many rows does Excel support? +
Can I use variables in attachments (different PDFs per person)? +
{folio}.pdf and in your Excel column you put the exact filename to attach for that row. Wapes looks for them in a local folder you select.Common errors
I get "Message not sent, no WhatsApp connection". +
Wapes says "Invalid number" but the number exists. +
How to send lots of messages without WhatsApp cutting your head off.
WhatsApp hates spam and so do we. But we also know you have 200 clients waiting for their order confirmation. These 12 rules are the difference between a productive week and a deactivated number.
WhatsApp can ban any number, at any time, for any reason. These rules drastically reduce the risk, but don't eliminate it. If your business depends 100% on WhatsApp, have a backup number.
The 6 green rules — do this
Warm up the number before scaling.
If your number is new or has been inactive, send 20-30 manual messages to real contacts before a mass campaign. WhatsApp learns it's a human number.
Maximum 250 new contacts / day.
Per number, not per device. If you have 800 contacts to message, split them over 4 days or use multiple numbers. Wapes' default (8s between messages) already respects this pace.
Always personalize with variables.
The same copy-paste message to 200 people is the recipe for a ban. Wapes injects variables — use them. Minimum: name and one personal detail per contact.
Human pauses and human hours.
Don't send at 3am. Don't send 200 messages in 5 minutes. 4-18s pauses and 9am-7pm local timezone.
Use Business if you go over 100/day.
WhatsApp Business has a wider tolerance margin. Worth migrating.
Ask for real opt-in.
If the person didn't give you their number expecting to receive your messages, don't write to them. Even if they're a client. Buy an ad instead.
The 6 red rules — DON'T do this
Don't message bought lists.
If you bought a "WhatsApp leads" database, half will report you as spam and the rest will too. It's the direct path to a ban within 48h.
Don't send the exact same text.
Even one different word changes the hash. But ideally change whole phrases or vary the order. Wapes lets you have 3 templates and rotate them automatically.
Don't open and close WhatsApp Web every 5 minutes.
Every login counts. Keep the tab open during the send.
Don't send links only.
A message that's just "https://…" has double the chance of being flagged. Put context before and after.
Don't ignore reports.
If you receive 3+ "spam" reports in a week, drastically reduce your volume and review your copy.
Don't use VoIP or virtual numbers.
WhatsApp detects them and limits them faster. Use a real SIM with a physical card.
A JavaScript API inside your browser. For curious devs.
Wapes exposes window.wapes in the WhatsApp Web console. You can read your lists, schedule sends from an external script, or connect it to your own CRM — all locally.
The local API is at v 0.3 experimental. Methods may change between versions. Follow the changelog. Only available on the Pro plan.
List loaded contacts
// Returns an array with all contacts imported from Excel const contacts = await window.wapes.contacts.list(); console.log(contacts.length); // 247 console.log(contacts[0]); // { id, phone, name, company, folio, ... }
Schedule a send
await window.wapes.send({ list: "q2_clients", template: "Hi {name}, your order {folio} ships on {date}.", pace: { min: 4000, max: 18000 }, // ms between messages schedule: "2026-05-15T10:00:00-05:00", attach: "./invoices/{folio}.pdf" });
Subscribe to events
window.wapes.on("message:sent", (e) => { console.log("✓", e.contact.name, "→", e.preview); }); window.wapes.on("campaign:done", (e) => { fetch("https://my-crm.com/webhook", { method: "POST", body: JSON.stringify(e) }); });
Available methods: list(), get(), send(), schedule(), cancel(), on(), tags(), templates(), stats(). Request the full docs — we send them to Pro users with a real use case.
What changed version by version.
Only what's relevant to you. No "internal performance improvements" or unexplained "various bugfixes".
v 3.4.1 — May 2, 2026
- Fix: .csv files with BOM now read without
\ufeffappearing at the start of names. - Fix: canceling a scheduled send now shows a confirmation before deleting.
v 3.4 — April 18, 2026
- New: automatic template rotation (up to 3 versions of the same message, Wapes mixes randomly).
- New: local color labels. Filter contacts in the sidebar.
- Improvement: the panel now remembers the last loaded Excel file between sessions.
v 3.3 — March 12, 2026
- New: scheduling by recipient time zone (Pro).
- New: local API
window.wapesv0.3. - Change: the free limit went from 30 to 50 messages/day with template.
Ready to stop copy-pasting?
Wapes is waiting for you.
Free forever, no card, no gates. The extension installs in 12 seconds and starts being useful in under a minute.