Sending hundreds of Whatsapp Temples safely in a month

Hey guys,I previously asked about sending emails safely. Now a potential client has contacted me and wants to send messages via WhatsApp.More context: I set up a workflow for him that creates PDF files and sends them to clients. The good thing is, none of them will report the messages as spam because they need the files :grin:. If I send hundreds of messages in a month, like 300 or more, what’s the best strategy to use? How many messages should I send at the same time?
How many seconds of delay should I do?

Great question @Ali4 sending bulk WhatsApp messages requires careful planning to avoid getting banned or rate limited.

WhatsApp uses a tiered messaging system based on your phone number’s quality rating:

Tier 1 (New numbers): 1,000 conversations per 24 hours
Tier 2: 10,000 conversations per 24 hours
Tier 3: 100,000 conversations per 24 hours
Tier 4: Unlimited (for established, high-quality senders)

You start at Tier 1 and move up based on:

  • Message quality (low block/report rates)

  • Consistent sending patterns

  • Time in service

For 300 messages/month (~10/day):

Send Rate: 1 message every 5-10 minutes
Daily Batch: 10-15 messages
Delay Between Messages: 5-10 minutes (300-600 seconds)

n8n Workflow Setup:

Schedule Trigger (every 10 minutes)
  → Get Pending Messages (limit 1)
  → WhatsApp Send Message
  → Mark as Sent

Code node for random delay:

// Random delay between 30-60 seconds
const minDelay = 30000; // 30 seconds
const maxDelay = 60000; // 60 seconds
const randomDelay = Math.floor(Math.random() * (maxDelay - minDelay + 1)) + minDelay;

await new Promise(resolve => setTimeout(resolve, randomDelay));

return $input.all();

Would you like to have a specific workflow with rate limiting and error handling?

2 Likes

Hi @Ali4 , welcome to the n8n community! I don’t have experience with this, but I looked into the n8n docs and here are some points covered in the material:

N8N DOCS
  1. Use templates for business‑initiated messages
    For messages you initiate (not replies within 24h), you must use approved templates; otherwise delivery will fail or be blocked. [Standard bot guide; 24h window note]
    Also, Meta has spam‑prevention and template disabling if users complain, so always ensure consent. [Template usage]

  2. Respect WhatsApp’s 24‑hour window and template rules

    • Free‑form replies are only allowed within 24h after the user messages you. [24h window]
    • Outside that window, you must use templates; otherwise messages won’t be delivered. [24h/template requirement]
  3. Add delays in n8n to avoid rate‑limit spikes
    n8n suggests handling rate limits by:

    A typical pattern for your case (300+ messages/month) is:

    • Read contacts (e.g. from Google Sheets or your data source).
    • Use Loop Over Items.
    • Inside the loop: Wait (fixed duration like 20–60s) → WhatsApp Business Cloud node (Send Template).
  4. Check delivery and errors, not just HTTP 200
    Even if n8n shows HTTP 200, WhatsApp can still reject messages (e.g. permission issues, template problems). You should:

    • Inspect the response body for errors.
    • Use WhatsApp webhook status callbacks to see why messages weren’t delivered. [Status/webhook advice]
  5. Account safety / bans
    The sources mention that Meta can restrict or disable templates/accounts if messages are seen as spam or violate rules, and that you must have prior consent. [Template consent note; Spam / safety FAQ]
    There is also a community case where a WhatsApp Business account was restricted, but the answer points to external guidance (Sinch) rather than n8n‑specific limits. [Restriction thread]

Putting it together for your scenario (300+ / month):

  • Use approved templates for all business‑initiated sends.
  • Ensure explicit consent and clear expectations (they know they’ll receive PDFs via WhatsApp).
  • Implement a Loop Over Items + Wait pattern and add a per‑message delay (e.g. 20–60 seconds) using the Wait node; this is the recommended n8n pattern for staying under rate limits, though the exact delay value isn’t specified in the docs. [Rate‑limit handling; Loop delay example]
  • Monitor webhook delivery statuses and adjust volume/delay if you see errors or throttling. [Status/webhook advice]

Because the knowledge sources don’t include concrete WhatsApp numeric thresholds (messages per second/day), you’ll need to combine this n8n pattern with Meta’s official WhatsApp Business rate‑limit and quality documentation.

1 Like

5-10 minutes seems like a very long time. If I were to send 60 messages in one day, it would take more than 4 hours if there was a 5-minute delay between messages.

Thank you for sharing the information.

Disponha!
Have you tried reducing it to 30-60s and increasing the batch size according to your Tier?

No, I have personal experience with the same system, but it was without delays. However, since I want a sustainable workflow, I’m looking for the best way to achieve that goal.

It really depends on the approach you’re using!

Are you using the direct WhatsApp Business API?! That seems to be the safest approach, then you can look up their limits and design your workflow accordingly, there are also other services like Twilio..

Or on the other hand, if you’re using unofficial services to send messages, then be prepared for Meta to strike at any time:

afaik, they’re very strict with automation scripts..