Broadcast a WhatsApp template to a segment without hitting rate limits
Sends an approved WhatsApp template to a spreadsheet-held segment in batches of twenty with pauses between them, enforcing opt-outs before the queue and recording every send in PostgreSQL so a re-run .
A weekly schedule reads the audience from a Google Sheet a marketer owns. A Filter drops opted-out contacts and malformed numbers before anything is queued — on WhatsApp, ignoring an opt-out costs quality rating and then sending limit, which is far harder to recover than an unsubscribe. Remove Duplicates keys on number plus campaign id so re-running a campaign does not double-send while next week's still reaches everyone. Loop Over Items sends twenty at a time through the WhatsApp node using an approved template, with a 20-second Wait between batches, because exceeding the burst rate causes sends to be dropped rather than queued. Each send is written to PostgreSQL with a parameterised INSERT … ON CONFLICT DO NOTHING against a composite key, giving a durable and idempotent record. Failures are captured per recipient and posted to Discord, so one bad number never ends a broadcast.
Key benefits
- ✓Batching with pauses keeps a large send inside WhatsApp's burst limits instead of losing messages silently
- ✓Opt-outs are enforced before the queue, which protects the number's quality rating
- ✓The Postgres log is idempotent, so a re-run cannot message anyone twice
- ✓One failed recipient is recorded and skipped rather than ending the whole broadcast
- ✓The audience lives in a sheet, so marketing changes the segment without touching n8n
Use cases
- →Retailers announcing a sale to an opted-in WhatsApp list
- →Clinics and schools sending weekly notices to parents or patients
- →Agencies running broadcasts on a client's WhatsApp number
- →Anyone whose last bulk send got their number rate-limited
Integrations
Workflow preview (10 nodes)
The template's actual node layout and connections. Node parameters and credential slots unlock with the download.
What's inside (10 nodes)
A look at the node types this workflow uses. No purchase required — full parameters and credentials are yours after you buy.
From download to running in 3 steps
- 1Import. In n8n, open Workflows → menu → “Import from File” and pick the downloaded JSON.
- 2Connect. Add your own credentials on the app nodes - n8n highlights exactly which ones need them.
- 3Activate. Run it once to test, then toggle Active. The automation is live.
What you'll learn
Architect levelThe deepest tier - sub-workflow delegation, state snapshots, and full observability.
- •Moving data between Google Sheets, PostgreSQL and Discord in a single run
- •Walking a long list in batches instead of firing everything at once
- •Adding retries and an explicit error path to external calls
Every node carries its own documentation on the canvas, plus notes explaining why the architecture was built this way, a credential setup guide, troubleshooting, and three practice exercises. Sample data comes pinned to the trigger, so you can hit Execute and watch data flow before connecting a single account.
Common questions
What exactly do I get?
The complete, ready-to-import n8n workflow as a JSON file, delivered instantly after payment. Import it into your own n8n (cloud or self-hosted), add your credentials, and it runs.
How do I import it into n8n?
In n8n, open Workflows, click the three-dot menu, choose “Import from File”, and select the downloaded JSON. Then connect your own app credentials on the highlighted nodes.
Do I need anything else for it to work?
You need your own n8n instance and accounts/credentials for the apps this workflow connects to (Google Sheets, WhatsApp, PostgreSQL, Discord). No coding is required.
What if it doesn't work for me?
If the file is faulty, won't import, or isn't as described, contact us within 7 days and we'll fix it or refund you - see our refund policy.
Can I modify or resell it?
You can freely adapt and use it in your own or your clients' projects. Reselling or redistributing the template file itself is not permitted.
Related templates
Deliver a metrics report: PostgreSQL
Escalations on n8n: runs on a schedule across PostgreSQL, Discord, Google Sheets and Slack, starting at "Read Recent from PostgreSQL". Summarises long text with an AI chain. 24 documented nodes.
Log applications with Google Sheets
Drip campaigns on n8n: runs when a form is submitted across Google Sheets, PostgreSQL, Slack and Discord, starting at "Download Source File". Parses the incoming file into rows. 23 documented nodes.
Remind upcoming appointments: PostgreSQL
Inbox triage on n8n: runs on a schedule across PostgreSQL, Google Sheets, Slack and Discord, starting at "Segment Audience". Pauses on a Wait node until it is time to continue. 23 documented nodes.
Nurture trial users: Google Sheets, batched
Auto-responders on n8n: runs on a schedule across Google Sheets, PostgreSQL, Slack and Discord, starting at "Read Pending Queue (PostgreSQL)". 22 documented nodes.