Create the bot and connect it to Make
- Create the bot. In Telegram, open @BotFather, send
/newbotand choose a name and a username. BotFather replies with the token. Telegram's docs say the token "can be used by anyone to control your bot", so treat it like a password. If it leaks, BotFather's/tokencommand generates a new one. - Connect it in Make. Add any Telegram Bot module, click Create a connection, paste the token into the Token field and click Save.
- For incoming messages, add Watch Updates and click Create a webhook. Make's docs: "When the selected change occurs in Telegram, Make will immediately be notified and start your scenario."
- Start a chat with your bot via the
t.me/yourBotNamelink from BotFather and send it a message. Telegram: "Bots can't start conversations with users. A user must either add them to a group or send them a message first."
What you need: a Telegram account and a Make account. Everything here works on the Free plan. If you don't have an account yet, create a free Make account (affiliate link).
Affiliate disclosure: the link marked "affiliate link" includes our partner code. If you sign up or later buy a paid plan through it, Flowpaja may earn a commission at no extra cost to you. More on the tools we use: best tools for Make automation.
Webhook or List Updates, never both
Telegram offers two ways for a bot to receive messages. Its Bot API docs call them "two mutually exclusive ways of receiving updates for your bot - the getUpdates method on one hand and webhooks on the other". Make's app follows the same rule:
- Watch Updates (instant) uses a webhook. Make's docs: "The Watch updates trigger cannot be combined with the Get Updates or Get Chats modules."
- List Updates and List Chats poll Telegram instead. Make's docs say each "cannot be used with webhooks. To use this module, you must switch off and remove all your Telegram webhooks."
In practice, give each bot one scenario. Telegram's setWebhook registers one URL for a bot, and getWebhookInfo reports a single url. If two scenarios watch the same bot, expect only one of them to receive the messages. Put a Router in that one scenario instead (Recipe 2). Telegram keeps undelivered updates, but "they will not be kept longer than 24 hours".
What the Telegram Bot app can do
| Group | Modules |
|---|---|
| Trigger | Watch Updates (instant, the only trigger) |
| Messages | Send a Text Message or a Reply · Edit a Text Message · Forward a Message · Delete a Message · Pin a Message · Unpin a Message |
| Media | Send a Photo · Send a Document/Image · Send a Video · Send an Audio File · Send a Voice Message · Send a Video Note · Send a Sticker · Send an Album (Media Group) · Send Media by URL or ID · Edit a Media Message · Edit a Message Caption · Download a File · Send an Invoice |
| Chats and members | List Updates · List Chats · Create, Edit and Revoke a Chat Invite Link · List Administrators in a Chat · Get the Number of Members in a Chat · Kick, Promote and Restrict a Chat Member |
| Other | Answer an Inline Query · Make an API Call |
32 modules on Make's Telegram integration page, checked 3 October 2026. Make labels the app verified and "supported and maintained by Make". Make's docs add that a message "can only be deleted if it was sent less than 48 hours ago".
Find the Chat ID
Every send module needs a Chat ID, which is one of the most searched questions. Use whichever of these fits:
- Your own chat or a group: build Watch Updates, click Run once, and send the bot a message (in a group, send a command meant for it, such as /start@yourBotName, or reply to one of its messages: in privacy mode it doesn't see plain mentions or other chatter). The chat ID is in the trigger's output bundle. Make's docs describe the same method for private channels and groups.
- A public channel: the ID is the channel's link name with
@. Make's example: "If the public channel link is, for example, t.me/IMTtest, then @IMTtest is your Chat ID." Add the bot to the channel as an admin first. - A private channel: Make's docs suggest copying the number from the channel's URL in Telegram Web and adding the prefix
-100. - A person's user ID: Make's docs suggest forwarding their message to @userinfobot. That person must still have started a chat with your bot before it can message them.