How to Send Automated WhatsApp Messages

≈ 9 min read

Sending automated WhatsApp messages means you stop typing the same text one recipient at a time and instead bind sending to a trigger — a panel action, a clock, or an API call. This article explains how automation differs from a plain bulk blast, which triggers drive it, the path a message follows once it enters the system, the anti-ban regime that keeps your number alive, and real scenarios like order and appointment notifications. Note up front: this is not the official Business API. It is an open-source, self-hosted whatsapp-web.js system that pairs your phone by QR code.

1. Automated vs. bulk: what is the difference?

The two terms get mixed up but they are not the same. A bulk message is one content sent to a list once — a campaign announcement to 800 people. An automated message binds sending to an event: an order confirmation when a purchase completes, a reminder the day before an appointment, a receipt when a payment lands. Bulk sends are usually one-off; automation is continuous and often personalized.

In practice the two overlap. In this system both land in the same queue and pass through the same rate discipline. For the bulk side, see WhatsApp bulk messaging software; here the focus is the triggers and flow behind automation.

2. The three triggers of automated sending

For a message to count as "automated", something has to start it. The system offers three ways:

TriggerHow it worksTypical use
Panel sendYou enter a list + text in the web panel and start itCampaign, announcement, dues reminder
SchedulingYou plan the message for a future time (BullMQ delay)Appointment reminder, pre-event notice
HTTP APIAnother program queues the message with a POST requestOrder/shipping notice, form reply, CRM

2.1 Panel-driven automation

The simplest path. You enter the recipient list and text, hit send, and the worker does the rest. Compared with typing to 500 people by hand, this is already automation — you drop it once and the system runs for hours at a safe pace.

2.2 Scheduled automation

You plan a message for a future moment such as "tomorrow at 10:00". The queue holds it as a delayed job and releases it when the time arrives. Watch out: the time you set is the start time. Because of the anti-ban window and wait rules, the message leaves in sequence from that time, not at that exact minute. See scheduling WhatsApp messages for the details.

2.3 API-triggered automation

The most powerful path. Your own software — an e-commerce backend, an appointment system, a CRM or a web form — hits the server directly when an event fires, so a message goes out with no human in the loop. We cover this in depth in HTTP API integration.

3. What happens after a message enters the system?

The reason automated sending stays safe is that the sending job is separated from the panel. Whatever trigger you use, the message always flows the same way:

StepComponentJob
1Web panel / APIReceives the message and recipient, validates them
2Server (Express :3200)Queues the request; never sends a message itself
3Redis + BullMQHolds jobs in order and as scheduled delays
4Worker (Node + Chromium)The only sender; applies all anti-ban timing
5Supabase (PostgreSQL)Stores message records and the WhatsApp session

Here is why the split matters: the rate limit lives in exactly one place — the worker. Even 100 requests per second to the panel or API cannot push WhatsApp traffic past human speed. The worker runs at concurrency 1, so it sends one message at a time and waits between each. The server never sends directly, which rules out "accidental fast blasting" at the architectural level.

4. The anti-ban regime that makes automation safe

The biggest danger of automated sending is speed: tell a machine to "send" and it can fire hundreds of messages in seconds, getting your number flagged as spam instantly. To prevent this, the rules are hard-coded and not exposed as user settings:

RuleValue
Random wait between messages45–90 s (67–135 s for media)
Burst break8–12 min every 15 messages (16–24 min for media)
Time window05:00–23:00 (local time, TZ=Europe/Istanbul)
Recipient cooldown4-hour repeat block per number
Effective rate~25–30 messages/hour, ~450–500/day

This is why automation runs "in sequence", not "instantly". An order notification arriving via the API may be delayed by a few minutes because the system always honors the wait queue to protect your number. That is a deliberate design choice. For ban signals and how to avoid them, see the anti-ban section of the main guide.

5. Real automation scenarios

5.1 E-commerce: order and shipping notifications

Your order system hits the API on a "payment received" event and the customer gets an order confirmation over WhatsApp. When the courier generates a tracking number, a second automated message goes out. These are not marketing — they are service notifications, since the customer already transacted with you. For the full scenario and templates, see order and shipping notifications.

5.2 Appointment reminders

For a clinic, salon or consultant, a no-show is lost revenue. A scheduled reminder 24 hours and 2 hours before the appointment noticeably lowers no-show rates. You set this up with the scheduling trigger; see appointment reminders for details.

5.3 Dues, receipts and recurring notices

Recurring notices like membership dues, course fees or subscription renewals get wired to a monthly schedule, so you no longer prepare a list by hand every month.

6. Setup summary: automation in three steps

  1. Run supabase/migrations/001_init.sql in the Supabase SQL Editor.
  2. Fill in .env; generate REDIS_PASSWORD and WA_CONTROL_SECRET with openssl rand -hex 32. That second secret authenticates your API trigger.
  3. Run docker compose up -d --build, scan the QR from the panel's Connection page with your phone, and launch your first automated send.

Once installed, the panel gives you both manual sending and a scheduling UI out of the box; for API triggering, your software just POSTs to the server's send endpoint with the secret.

Ethics and law: Automated messages should only go to people who have consented to hear from you. Service notifications (orders, appointments) are legally distinct from marketing; every marketing message must carry an opt-out line, and you must meet data-protection duties — GDPR in the EU, and Turkey's KVKK (law 6698) and 6563 commercial-message rules with the İYS registry. Unsolicited automation violates both WhatsApp's terms and the law.

Frequently asked questions

Is sending automated WhatsApp messages legal?

Consented service notifications (orders, appointments, dues) are legitimate. Unsolicited marketing violates data-protection law such as GDPR; every marketing message needs an opt-out line.

Will automation get my number banned?

If speed is disciplined, the risk is low. Rules are hard-coded: 45–90 s waits, a break every 15 messages, a 05:00–23:00 window, ~25–30 messages/hour. Automation cannot exceed that pace.

Can I trigger automated messages from my own software?

Yes. The server exposes an HTTP API; your software POSTs a request authenticated with WA_CONTROL_SECRET to queue a message, and the worker sends it at anti-ban pace.

Is an automated message the same as a scheduled message?

No. Scheduling is one trigger type (planning a message for a future time). Automation covers panel sends, scheduling and API triggering together.

Put your WhatsApp messages on autopilot

Panel, scheduling and API triggers; no per-message fee, your number protected by the anti-ban regime. On your own server, in three commands.

Open the panel →