Does n8n integrate with Telegram?
Yes — native node
Yes. n8n integrates natively with Telegram via a built-in node and trigger — no middleware. You authenticate with a Bot token from BotFather to send and receive messages, photos, and files. One caveat: the Telegram Trigger needs a public HTTPS webhook URL, which works automatically on n8n Cloud but requires exposing self-hosted n8n over HTTPS (domain, ngrok, or Cloudflare Tunnel).
| Integration method | Native — Built into n8n as the Telegram node (n8n-nodes-base.telegram) for sending messages, files, and callbacks, plus a Telegram Trigger (n8n-nodes-base.telegramtrigger) for incoming events — no middleware. Authentication uses a Bot API access token created with Telegram's BotFather. The Telegram Trigger registers a webhook with Telegram, which requires a publicly reachable HTTPS URL: this is automatic on n8n Cloud but on self-hosted n8n you must expose the instance over HTTPS and set the WEBHOOK_URL environment variable (e.g. via a domain, ngrok, or Cloudflare Tunnel). |
|---|---|
| Sync direction | Two-way: send messages, photos, and files from n8n to Telegram, and receive incoming messages and events via the Telegram Trigger. |
| Plan required | Free on both sides. Self-hosted n8n Community Edition is free; n8n Cloud offers a 14-day free trial. Telegram bots are free; you only need a BotFather token. |
| Setup time | ~10 minutes on Cloud; longer self-hosted if you must set up an HTTPS tunnel or domain unverified estimate |
How to connect n8n to Telegram
- In Telegram, open a chat with @BotFather, send /newbot, and follow the prompts to name your bot and get its access token.
- In n8n, add a Telegram node (or Telegram Trigger), create a new Telegram credential, and paste the bot access token.
- For sending: choose the operation (e.g. Send Message), set the Chat ID, and enter your message.
- For receiving: add the Telegram Trigger and select the updates to listen for; activating the workflow registers the webhook with Telegram.
- Self-hosted only — make sure n8n is reachable over public HTTPS and the WEBHOOK_URL environment variable is set, otherwise Telegram cannot deliver updates to the trigger.
Known friction points
- On self-hosted n8n the Telegram Trigger silently fails to receive updates unless the instance is served over a public HTTPS URL — Telegram cannot reach localhost or plain HTTP, so WEBHOOK_URL must point to a reachable HTTPS endpoint (domain, ngrok, or Cloudflare Tunnel). [source]
- When a user sends a file or photo, the Telegram Trigger returns only a file_id, not the file itself; you must add a follow-up Telegram node (Get File / download) to fetch the actual content. [source]
FAQ
- Does n8n integrate with Telegram?
- Yes. n8n has a native, built-in Telegram node and Telegram Trigger. You authenticate with a Bot token from BotFather and can both send and receive messages, photos, and files — no middleware required.
- Do I need a paid plan to use Telegram in n8n?
- No. Self-hosted n8n Community Edition is free and Telegram bots are free; n8n Cloud has a 14-day free trial. You only need a BotFather bot token.
- Why doesn't my Telegram Trigger fire on self-hosted n8n?
- The Telegram Trigger uses a webhook and Telegram only delivers to a public HTTPS URL. On self-hosted n8n you must expose the instance over HTTPS and set the WEBHOOK_URL environment variable — for example using a domain, ngrok, or Cloudflare Tunnel. n8n Cloud handles this automatically.
✓ Last verified: 2026-06-10 · Every claim on this page links to a primary source. If the integration changed, the page is out of date — check the sources below.
Sources
- n8n docs — Telegram node (accessed 2026-06-10)
- n8n docs — Telegram credentials (accessed 2026-06-10)
- n8n Community #179227 (Telegram trigger file_id handling) (accessed 2026-06-10)
- n8n GitHub Issue #21257 (self-hosted Telegram webhook/HTTPS) (accessed 2026-06-10)