Back to Tutorials

How to Connect n8n to Telegram: Built-in Node vs Community Nodes

Posted by Oct 27, 2026

n8n has a built-in Telegram node and a Telegram Trigger that work with a Telegram bot through the Telegram Bot API. There are also dozens of Telegram community nodes, many of them for things the built-in nodes don’t do, such as automating a personal Telegram account. This guide covers how to set up the built-in nodes and fix their common issues (from n8n’s documentation), and lists the most used Telegram community packages (from our own npm data).

Quick comparison

Built-in Telegram nodes Telegram community nodes
Works as A Telegram bot (Bot API) Depends on the package: a bot with extra features, or a personal user account through Telegram’s MTProto API
Comes with n8n Yes No, installed as a community package
Credential A bot access token from BotFather See the package’s README
n8n Cloud Available Only packages that n8n has verified
Maintained by n8n The package author

Step 1: create a bot and get its token

Both built-in nodes use one credential type, an API bot access token. You need a Telegram account. Then:

  1. Start a chat with BotFather.
  2. Enter /newbot.
  3. Give the bot a name (shown in contact details, can be changed later) and a username. The username must be 5 to 32 characters, may only use Latin letters, numbers and underscores, must end in bot (like tetris_bot or TetrisBot), isn’t case sensitive, and can’t be changed later.
  4. Copy the token BotFather gives you into n8n as the Access Token.

What the built-in Telegram node can do

  • Chat: Get, Get Administrators, Get Member, Leave, Set Description, Set Title
  • Callback: Answer Query (for inline keyboards), Answer Inline Query
  • File: Get File
  • Message: Delete Chat Message, Edit Message Text, Pin Chat Message, Send Animation (GIFs or H.264/MPEG-4 AVC videos without sound, up to 50 MB), Send Audio, Send Chat Action (shows a status for 5 seconds or less), Send Document, Send Location, Send Media Group, Send Message, Send Photo, Send Sticker (static .WEBP, animated .TGS or video .WEBM), Send Video, Unpin Chat Message

For most Message operations the bot has to be added to the channel first (see the common issues below).

What the Telegram Trigger can listen for

The Telegram Trigger starts a workflow on bot updates. Events include Message, Edited Message, Channel Post, Edited Channel Post, Callback Query, Inline Query, Chosen Inline Result, Poll, Poll Answer, Chat Join Request, Chat Member, My Chat Member, Message Reaction, Message Reaction Count, Chat Boost, Removed Chat Boost, Pre-Checkout Query, Shipping Query, Purchased Paid Media and the business account events (Business Connection, Business Message, Edited Business Message, Deleted Business Messages). The * option means all updates except Chat Member, Message Reaction and Message Reaction Count.

Some events need the bot to be an administrator in the chat, for example Chat Member, Message Reaction and Chat Boost. Chat Join Request needs the can_invite_users administrator right.

Options:

  • Download Images/Files, with an Image Size setting (large by default).
  • Restrict to Chat IDs and Restrict to User IDs, each a comma-separated list.

Common issues and fixes

“Forbidden: bot is not a participant of the channel”

A bot can only post to a channel it has been added to. In the Telegram app, open the channel, select its name, make it a public channel, then go to Administrators > Add Admin, search for the bot’s username, select it and confirm with the checkmark.

Finding a group’s Chat ID

@channelusername only works for public channels. For a group you need its Chat ID. n8n lists three ways to get it:

  1. Run a Telegram Trigger: its output includes the Chat ID.
  2. Open the group in Telegram on the web. The ID is the digits after the letter “g” in the address. Put a - in front of it when you enter it in n8n.
  3. Add @RawDataBot to the group. It posts JSON with a chat object whose id is the Chat ID. Remove the bot afterwards.

Sending more than 30 messages per second

The Telegram API allows 30 messages per second. n8n’s workaround: a Loop Over Items node that takes at most 30 chat IDs at a time, a Telegram node that sends to those IDs, and a Code node that waits a few seconds before the loop fetches the next batch.

Removing “This message was sent automatically with n8n”

Send Message adds this line by default. In the node’s Additional Fields, select Add Field > Append n8n attribution and turn the toggle off.

“Bad request: bad webhook: An HTTPS URL must be provided for webhook”

This happens when n8n runs behind a reverse proxy and its webhook URL is wrong. Set the WEBHOOK_URL environment variable to your instance’s public address. For Telegram it must be HTTPS, so set up TLS/SSL termination in the proxy and use the HTTPS address.

The trigger is stuck waiting for an event

When you test with Execute step or Execute workflow, the trigger can seem stuck listening. Leave the workflow and open it again to reset the canvas. n8n says this is often caused by a reverse proxy (Nginx, Caddy, Apache HTTP Server, Traefik and others) without websocket support, so enable websocket proxying.

The workflow only works in testing or only in production

Telegram allows one webhook per bot, so switching between the test URL and the production URL overwrites it. Either unpublish the workflow while you test (this stops production traffic until you publish again) or create a second bot just for testing.

Telegram community nodes

Our Telegram hub lists 58 packages that pass our quality rule, with 3,213 npm downloads a week between them. The most downloaded, with the description each author gives on npm (weekly npm downloads as of 27 October 2026):

Bar chart: weekly npm downloads of the top 10 Telegram community nodes for n8n, October 27, 2026
Package Weekly downloads Author’s description
n8n-nodes-repliz 970 Repliz API: accounts, comments, chats, content, schedules
n8n-nodes-nna-telegram-sender 530 Personal-account history, operator replies and reaction copying
n8n-nodes-nashir 455 nashir.ai: publish to Telegram and other social networks
@telepilotco/n8n-nodes-telepilot 228 Your personal Telegram CoPilot
n8n-nodes-telegram-grampro 219 Telegram MTProto automation with user account triggers and 2FA support
n8n-nodes-telegram-mtproto 152 Telegram MTProto API: real-time new message listening
@mentoster/n8n-nodes-telegram-polling 88 A Telegram trigger based on the polling API
@unwarkz/n8n-nodes-telegram-bot 68 Full Bot API coverage with AI Agent tools
n8n-nodes-telegram-proxy-by-memoz 54 Telegram node with an added HTTP proxy option
@catalogicus-international/n8n-nodes-telegram-advance 44 Telegram approval, choice and reply workflows

From these descriptions, the packages fall into two groups:

  • Personal account (MTProto) packages, such as telegram-grampro, telegram-mtproto and nna-telegram-sender, work with a Telegram user account instead of a bot. The built-in nodes only work with bots.
  • Bot packages with extras, such as a polling trigger, an HTTP proxy option, wider Bot API coverage or approval flows, add to what the built-in bot nodes do.

Check each package’s README for setup and its node page here for the latest version and release date, and, where it has one, its GitHub repository for open issues.

Built-in or community node: how to choose

  • Use the built-in nodes for a bot that sends messages, files and media, answers callbacks and reacts to updates. They are maintained by n8n and work on n8n Cloud.
  • Use a community node if you need a personal account instead of a bot, or a feature the built-in nodes don’t have. You install it yourself, and on n8n Cloud only verified packages are available (see Verified vs Unverified n8n Community Nodes).

To install a package on a self-hosted instance, an owner or admin enters its npm name in Settings > Community Nodes. Full steps, including npm and Docker, are in How to Install n8n Community Nodes. New to community nodes? Start with What Are n8n Community Nodes?

FAQ

Does n8n have a built-in Telegram node?

Yes. The Telegram node handles chats, callbacks, files and messages, and the Telegram Trigger starts workflows on bot updates. Both use a bot token from BotFather.

Why does my Telegram webhook fail with “An HTTPS URL must be provided”?

Telegram needs an HTTPS webhook. Behind a reverse proxy, set WEBHOOK_URL to your public HTTPS address and terminate TLS in the proxy.

Can n8n use a personal Telegram account instead of a bot?

Not with the built-in nodes, which use a bot token. Several community packages on our Telegram hub describe personal account (MTProto) support.

How many messages per second can n8n send to Telegram?

The Telegram API allows 30 per second. For more, batch the chat IDs with Loop Over Items and wait between batches.

From our network Other tools and sites we build