--- title: "Simple Telegram Bot" slug: "simple-telegram-bot" updated: 2026-05-18T14:17:29Z published: 2026-05-18T15:19:30Z canonical: "docs.rocket.chat/simple-telegram-bot" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.rocket.chat/llms.txt > Use this file to discover all available pages before exploring further. # Simple Telegram Bot A simple relay communication between Rocket.Chat and Telegram is possible by configuring a basic bot. The guide below shows a community example of how this can be achieved with webhooks. This gives you the possibility of relaying messages between Telegram and Rocket.Chat in a specified room of your choice. > [!WARNING] > This integration is not suitable for Omnichannel Conversations. Consult the [Telegram App](/v1/docs/telegram-app) for managing your Omnichannel conversations with Telegram. Workspaces subscribed to the [Enterprise plan](/v1/docs/our-plans) can install the Telegram app, which comes with additional functionalities and Omnichannel features. ## Getting started > [!NOTE] > Make sure Your Rocket.Chat workspace URL is publicly available. 1. Log in to your [Telegram](https://web.telegram.org/) account on your mobile or using a browser. 2. Add and open a conversation with the user `BotFather.` 3. Click **start.** 4. Send `/newbot` to start creating a new bot. 5. Follow the instructions to continue. - Set the bot's username. Telegram successfully creates the bot and shows how to access it. 6. Copy the token provided, it is needed for the configuration. ## Configuration > [!NOTE] > Before configuring the Telegram integration, make sure you: > > - [Create a channel](/v1/docs/create-a-new-channel) on Rocket.Chat for incoming and outgoing conversations. > - [Create a user](/v1/docs/users#add-new-users) with the `bot` [role](/v1/docs/roles-in-rocketchat) to be used for the relay. ### Create an incoming telegram webhook in Rocket.Chat The incoming webhook is responsible for relaying messages from Telegram into Rocket.Chat into a specific channel. To create an incoming webhook: - Go to **Manage** ![Screenshot 2025-12-23 130522.png](https://cdn.us.document360.io/6ae79a05-7252-45d0-96e8-8f375e07b1b2/Images/Documentation/Screenshot%202025-12-23%20130522.png) > **Workspace** > **Integrations** in Rocket.Chat. - Create a new incoming webhook following the guide [Create a new incoming webhook](/v1/docs/integrations#create-a-new-incoming-webhook). - Enable the integration - Set the webhook integration name. - Set the **Post to Channel** as the channel created above. - Set **Post as**, as the user created above. - Enable the script and paste the following code. ```javascript class Script {    addQuotePrefix(str) {        let tmp = str.split('\n'),            res = [];        for (const frag of tmp) {            res.push(`> ${frag}`);        }        return res.join('\n');    }    process_incoming_request({ request }) {        // UNCOMMENT THE BELOW LINE TO DEBUG IF NEEDED.        // console.log(request.content);        if ('edited_message' in request.content) {            request.content.message = request.content.edited_message;        }        let from = request.content.message.from;        let who = from.username        let icon_url = '/avatar/' + from.username + '.jpg'        if(!who)  {          if (from.first_name && from.last_name) {            who = `${from.first_name} ${from.last_name}`          } else if (from.first_name) {            who = from.first_name          } else {            who = from.last_name          }          icon_url = `/avatar/${request.content.message.from.first_name}.jpg`        }        let body = request.content.message.text        if(!body) {          if(request.content.message.hasOwnProperty("sticker") && request.content.message.sticker.emoji) {            // It's a sticker            body = request.content.message.sticker.emoji        } else {           return {}          }        }        if(request.content.message.reply_to_message) {              var quotedMessage =                "*" +                request.content.message.reply_to_message.from.username +                "*\n" +                request.content.message.reply_to_message.text;              quotedMessage = this.addQuotePrefix(quotedMessage);            body = quotedMessage + '\n' + body;        }        return {            content: {                username: who,                icon_url: icon_url,                text: body            }        };    } } ``` - Save the integration. This creates a new incoming integration with a **webhook URL** and **token** provided. #### Sett the Telegram webhook - Copy the incoming webhook URL provided by Rocket.Chat after saving. - Change the following URL with `yourTelegramBotToken` and Incoming `webhookURL` and open it on your browser. ```xml https://api.telegram.org/bot/setwebhook?url= ``` - A response indicating success is sent which looks like this: ```json { "ok": true, "result": true, "description": "Webhook was set" } ``` #### Test the Telegram incoming integration Test your incoming Webhook by sending a telegram message to the Telegram bot. The message sent gets posted in `channel` by the `user`you specified in the incoming webhook configuration page. ### Create a Telegram group with bot access A Telegram group can be configured to send and receive messages to and from Rocket.Chat. Create a Telegram group and grant bot access. - Create a new Telegram group. - Get the group chat id. This can be gotten by: - Adding the user `RawDataBot`to the group - On joining, a response like below is seen with the chat id ```plaintext Your chat id is -873457731, your id is 1140377161 Also you can send me username or joinchat link in a private message Kisses, your bot ``` - Change the bot group privacy settings so it can listen to all messages by: - Sending the message `/setprivacy` to [BotFather](https://t.me/botfather). - Choosing the bot you want to edit. - Setting the status to `Disable.` ### Create an outgoing Telegram webhook in Rocket.Chat The outgoing integration is used to relay messages back from Rocket.Chat to Telegram. - Go to **Manage** ![Screenshot 2025-12-23 130522.png](https://cdn.us.document360.io/6ae79a05-7252-45d0-96e8-8f375e07b1b2/Images/Documentation/Screenshot%202025-12-23%20130522.png) > **Workspace** > **Integrations** in Rocket.Chat. - Create an outgoing webhook following this guide [Create a new outgoing webhook](/v1/docs/integrations#create-a-new-outgoing-webhook). - Select the Message sent as the **Event Trigger.** - Enable the integration. - Set any Trigger Words which messages must have before they get relayed if needed. - Specify the channel to listen to. - Set the URL following this format: ```xml https://api.telegram.org/bot/sendMessage?chat_id= ``` - Enable Script and paste the following code ```javascript class Script {    prepare_outgoing_request({ request }) {        if (request.data.bot) {            //Don't repost messages from the bot.            return { };        } else {            return {                url: request.url + '&parse_mode=HTML' + '&text=' + encodeURIComponent('' + request.data.user_name+ ': ' + request.data.text),                method: 'GET'            };        }    } } ``` - Save the integration. - Add your bot to the Telegram group and enjoy cross-platform communication between Rocket.Chat and Telegram. > [!NOTE] > - Multiple outgoing triggers can be configured to cover all use cases. > - The scripts can be customized as needed. Learn more here [Script details](/v1/docs/integrations#script-details).