Pipedream Telegram bot steps in n8n
Updated 2026-10-21 · 3 min read · n8n: Telegram (Native n8n node)
Telegram bots were a popular Pipedream use case: a bot command arrives, a step does something, the bot replies. n8n has a native Telegram node and a webhook-based Telegram Trigger, and the converter handles the most common action and the trigger.
The n8n side
Telegram node (n8n-nodes-base.telegram):
- Message: Send Message, Send Photo, Send Document, Send Audio, Send Video, Send Animation, Send Sticker, Send Location, Send Media Group, Send Chat Action, Edit Message Text, Delete Chat Message, Pin / Unpin Chat Message
- Chat: Get, Get Administrators, Get Member, Leave, Set Description, Set Title
- Callback: Answer Query, Answer Inline Query
- File: Get File
Telegram Trigger (webhook): updates such as Message, Edited Message, Channel Post, Callback Query, Inline Query, Chat Member, Chat Join Request, Poll, Pre-Checkout Query.
What maps where
Pipedream (app telegram_bot_api) |
In n8n | Status |
|---|---|---|
| Send a Text Message or Reply | HTTP Request → sendMessage (chat_id, text, parse_mode, reply_to_message_id, reply_markup kept) |
automatic |
| New Bot Command Received (Instant), New Message Updates (Instant), New Updates (Instant), New Channel Updates (Instant) | Telegram Trigger, update type Message (adjust) | automatic, check update types |
| Edit a Text Message, Delete a Message | Telegram → Message → Edit Message Text / Delete Chat Message | manual |
| Download Voice Message | Telegram → File → Get File | manual |
| Create / Export Chat Invite Link | HTTP Request to the Bot API | manual |
For bot commands, Pipedream filtered by command for you. In n8n the trigger receives all messages; add an If or Switch node on message.text starting with /start, /help and so on.
Credentials
- Take the bot token from BotFather (the same bot, or a new test bot).
- n8n: Credentials → New → Telegram API, paste the token.
- The converted
sendMessagestep reads the token fromTELEGRAM_BOT_TOKEN, because the Bot API puts the token in the URL. Set that variable, or replace the step with the Telegram node using the credential.
Typical migration: support bot with an LLM
Pipedream: New Message Updates → OpenAI Chat → Send a Text Message or Reply.
n8n: Telegram Trigger → HTTP Request (OpenAI) → Code (Chat output) → HTTP Request (sendMessage). Activate the workflow; n8n registers its webhook and Pipedream's stops.
Pitfalls
- One webhook per bot.
setWebhookreplaces the previous URL, andgetUpdatescannot run while a webhook is set. n8n's test URL and production URL also overwrite each other: unpublish the workflow to test, or use a second bot. - HTTPS and ports. Telegram calls only HTTPS URLs on ports 443, 80, 88 or 8443. A self-hosted n8n on port 5678 needs a reverse proxy.
- Secret token. Telegram can send
X-Telegram-Bot-Api-Secret-Tokenwith each update; check it if your n8n URL is public. - 24-hour buffer. Updates not delivered are kept for 24 hours at most.
- Bot in channels. To post in a channel the bot must be added as an admin.
How to move your Telegram workflows
- Export the workflows from Pipedream.
- Upload on /convert: the free report shows the trigger mapping and the token variable.
- Download the n8n JSON (1 workflow is free; full export: $3 per workflow, $19 minimum — coming soon), activate, test with
/start.
See the Pipedream to n8n guide and the code step checker for code steps using node-telegram-bot-api. Related: WhatsApp Business, Discord, OpenAI.
FAQ
- Which Telegram steps convert automatically?
- Send a Text Message or Reply becomes an HTTP Request to the Bot API sendMessage method. Pipedream's Telegram sources become a Telegram Trigger node.
- Can my bot run in Pipedream and n8n at the same time?
- No. A Telegram bot has one webhook. When the n8n Telegram Trigger registers, Pipedream stops receiving updates. Use a separate test bot until you switch.
- Where does the bot token go?
- In n8n's Telegram credential (API bot access token from BotFather). The converted sendMessage step reads it from the variable TELEGRAM_BOT_TOKEN; you can switch it to the Telegram node and the credential.
- Do I lose messages during the switch?
- Telegram keeps undelivered updates for up to 24 hours, so a short gap is safe as long as the webhook is set again within that time.
Related
Sources
- https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.telegram/
- https://docs.n8n.io/integrations/builtin/trigger-nodes/n8n-nodes-base.telegramtrigger/
- https://docs.n8n.io/integrations/builtin/trigger-nodes/n8n-nodes-base.telegramtrigger/common-issues/
- https://docs.n8n.io/integrations/builtin/credentials/telegram/
- https://pipedream.com/apps/telegram-bot-api
- https://core.telegram.org/bots/api