Telegram chatbot with voice recognition and message batching using OpenAI
$20/month : Unlimited workflows
2500 executions/month
THE #1 IN WEB SCRAPING
Scrape any website without limits
HOSTINGER 🎉 Early Black Friday Deal
DISCOUNT 20% Try free
DISCOUNT 20%
Self-hosted n8n
Unlimited workflows - from $4.99/mo
#1 hub for scraping, AI & automation
6000+ actors - $5 credits/mo
This Telegram workflow batches rapid-fire messages from the same user into one prompt (20–30s debounce), then sends a single AI reply.
It uses two Google Sheets:
- Message Retention (
date | user_id | message) — queues incoming messages. - Message Checkup (
user_id | is_waiting | last_updated) — debounces per user.
Flow per message:
- Log to Message Retention.
- Read Message Checkup for that
user_id. If empty, synthesize{ is_waiting:false }. - IF (OR):
last_updatedis older than 30s, oris_waitingis false
→ Start wait window: setis_waiting=true, updatelast_updated, Wait (e.g., 30s).
- After Wait: fetch all queued messages for the user, merge them, delete those rows, send one AI answer to Telegram, then clear the Waiting row.
- If a new message arrives while waiting, we only refresh
last_updated(extend the window) — we do not start another wait.
Copy/paste:
- Older-than-30s:
{{ new Date(Date.now() - 30000).toISOString() }} - “No Rows” normalizer (Code node) ensures the IF always has data to check.
Supports text and voice (voice via Whisper). Works reliably on Telegram once the webhook is registered and Sheets are shared with the service account.