How I Fixed Error 429 (Too Many Requests) in High-Volume Telegram n8n Workflows

Last week I deployed an n8n workflow designed to broadcast automated database alerts to a private Telegram channel. When the database triggered an alert for 150 items simultaneously, Telegram instantly blocked the bot with a 429 Too Many Requests: retry after X seconds error.

The Real-World Bottleneck

Telegram allows a maximum of 30 messages per second across all chats and roughly 1 message per second to a single chat or group. Sending an array of 150 items through the standard Telegram node fires every request in parallel, quickly exceeding this limit.

The Fix: Batching with Loop Over Items and Wait Node

Instead of passing raw items directly into the Telegram node, I added a Loop Over Items node combined with a Wait node set to 1.2 seconds between iterations.

{
  "nodes": [
    {
      "parameters": {
        "batchSize": 1,
        "options": {}
      },
      "name": "Loop Over Items",
      "type": "n8n-nodes-base.splitInBatches",
      "typeVersion": 3,
      "position": [460, 300]
    },
    {
      "parameters": {
        "amount": 1.2,
        "unit": "seconds"
      },
      "name": "Wait Rate Limit",
      "type": "n8n-nodes-base.wait",
      "typeVersion": 1.1,
      "position": [680, 300]
    }
  ]
}

Key Takeaway

Never send bulk messages in n8n without a controlled throttling loop. Adding a 1.2s delay completely eliminated error 429 and ensured 100% message delivery.

Leave a Comment