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.