---
title: Telegram
slug: connectors/telegram
docTags: 
createdAt: 2026-06-09T16:30:09.202Z
---

The Telegram connector enables interaction with Telegram bots, allowing for message automation and update retrieval within security workflows.

Telegram is a widely-used messaging platform known for its security and speed. The Telegram Turbine Connector allows users to integrate Telegram's messaging capabilities directly into Swimlane Turbine's security workflows. With this connector, security teams can automate the sending and deletion of messages, manage chat interactions, and retrieve bot updates, enhancing communication and response times during security incidents. The connector's low-code integration streamlines the process, making it accessible for users to leverage Telegram's API without the need for coding expertise.

### Supported Version

- The Telegram connector supports Bot API 9.2 version.

### Additional Documents

- [Telegram Documentation](https://core.telegram.org/bots/api)

## Prerequisites

To utilize the Telegram connector within Swimlane Turbine, ensure you have the following:

- Custom authentication with the Telegram bot using these parameters:
  - URL: The endpoint URL for the Telegram API.
  - API Token: The unique token provided by Telegram for bot authentication.

## Authentication Methods

**Setup Instructions:**

To create a new Telegram bot and obtain an authentication token, follow these steps:

1. **Open Telegram and find BotFather:**
   - Open the Telegram app (mobile or desktop)
   - Search for `@BotFather` in the search bar
   - Start a conversation with BotFather
2. **Create a new bot:**
   - Send the `/newbot` command to BotFather
   - BotFather will prompt you for a bot name (this is the display name shown in contact details)
   - Provide a name for your bot (e.g., "My Security Bot")
3. **Set the bot username:**
   - BotFather will ask for a username for your bot
   - The username must be:
     - 5-32 characters long
     - Not case sensitive
     - Only include Latin characters, numbers, and underscores
     - End with 'bot' (e.g., `tetris_bot` or `TetrisBot`)
   - Enter a unique username (e.g., `my_security_bot`)
4. **Receive your authentication token:**
   - After successfully creating the bot, BotFather will generate and display an authentication token
   - The token will look like: `110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw`
   - **Important:** Copy and securely store this token immediately
5. **Security considerations:**
   - Keep your token secure and private
   - Anyone with access to your token can control your bot
   - Do not share the token publicly or commit it to version control
   - Store the token securely (e.g., in a password manager or secure vault)
6. **Configure the connector:**
   - Use the token as the **API Token** in the Telegram connector authentication settings
   - The **URL** should be set to: `https://api.telegram.org/bot`

## Capabilities

This Telegram Connector provides the following capabilities:

- Delete Mesage
- Delete Messages
- Get Me
- Get Updates
- Send Message

### Delete Mesage

- This action usesto delete a message, including service messages[Click Here](https://core.telegram.org/bots/api#deletemessage).

### Delete Messages

- This action uses to delete multiple messages simultaneously[Click Here](https://core.telegram.org/bots/api#deletemessages).

### Get Me

- This action returns basic information about the bot in form of a User object[Click Here](https://core.telegram.org/bots/api#getme).

### Get Updates

- This action uses to receive incoming updates using long polling. Returns an array of Update objects[Click Here](https://core.telegram.org/bots/api#getupdates).

### Send Message

- This action uses to send text messages[Click Here](https://core.telegram.org/bots/api#sendmessage).

# Configurations

## Telegram Bot Authentication

This asset is used to authenticate with the Telegram bot.

### Configuration Parameters

| **Parameter** | **Description**                    | **Type** | **Required** |
| ------------- | ---------------------------------- | -------- | ------------ |
| url           | A URL to the target host.          | string   | Required     |
| api-token     | API token for the Telegram bot.    | string   | Required     |
| verify\_ssl   | Verify SSL certificate             | boolean  | Optional     |
| http\_proxy   | A proxy to route requests through. | string   | Optional     |

# Actions

## Delete Mesage

This action usesto delete a message, including service messages.

### Endpoint

- **URL:** `deleteMessage`
- **Method:** `POST`

### Input

| **Argument Name** | **Type** | **Required** | **Description**                             |
| ----------------- | -------- | ------------ | ------------------------------------------- |
| `chat_id`         | number   | Optional     | Unique identifier for the target chat.      |
| `message_id`      | number   | Optional     | Unique identifier of the message to delete. |

### Input Example

`{"json_body":{"chat_id":7416146050,"message_id":3}}`

### Output

| **Parameter** | **Type** | **Description**                  |
| ------------- | -------- | -------------------------------- |
| `status_code` | number   | HTTP status code of the response |
| `reason`      | string   | Response reason phrase           |
| `ok`          | boolean  | Output field: ok                 |
| `result`      | boolean  | Result of the operation          |

### Output Example

`{"status_code":200,"response_headers":{"Server":"nginx/1.18.0","Date":"Thu, 04 Dec 2025 06:59:36 GMT","Content-Type":"application/json","Content-Length":"25","Connection":"keep-alive","Strict-Transport-Security":"max-age=31536000; includeSubDomains; preload","Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, POST, OPTIONS","Access-Control-Expose-Headers":"Content-Length,Content-Type,Date,Server,Connection"},"reason":"OK","json_body":{"ok":true,"result":true}}`

## Delete Messages

This action uses to delete multiple messages simultaneously.

### Endpoint

- **URL:** `/deleteMessages`
- **Method:** `POST`

### Input

| **Argument Name** | **Type** | **Required** | **Description**                               |
| ----------------- | -------- | ------------ | --------------------------------------------- |
| `chat_id`         | number   | Optional     | Unique identifier for the target chat.        |
| `message_ids`     | array    | Optional     | Unique identifiers of the messages to delete. |

### Input Example

`{"json_body":{"chat_id":7416146050,"message_ids":[3,4,5]}}`

### Output

| **Parameter** | **Type** | **Description**                  |
| ------------- | -------- | -------------------------------- |
| `status_code` | number   | HTTP status code of the response |
| `reason`      | string   | Response reason phrase           |
| `ok`          | boolean  | Output field: ok                 |
| `result`      | boolean  | Result of the operation          |

### Output Example

`{"status_code":200,"response_headers":{"Server":"nginx/1.18.0","Date":"Thu, 04 Dec 2025 07:07:51 GMT","Content-Type":"application/json","Content-Length":"25","Connection":"keep-alive","Strict-Transport-Security":"max-age=31536000; includeSubDomains; preload","Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, POST, OPTIONS","Access-Control-Expose-Headers":"Content-Length,Content-Type,Date,Server,Connection"},"reason":"OK","json_body":{"ok":true,"result":true}}`

## Get Me

Returns basic information about the bot in form of a User object.

### Endpoint

- **URL:** `/getMe`
- **Method:** `GET`

### Output

| **Parameter**                        | **Type** | **Description**                  |
| ------------------------------------ | -------- | -------------------------------- |
| `status_code`                        | number   | HTTP status code of the response |
| `reason`                             | string   | Response reason phrase           |
| `ok`                                 | boolean  | Output field: ok                 |
| `result`                             | object   | Result of the operation          |
| `result.id`                          | number   | Unique identifier                |
| `result.is_bot`                      | boolean  | Result of the operation          |
| `result.first_name`                  | string   | Name of the resource             |
| `result.username`                    | string   | Name of the resource             |
| `result.can_join_groups`             | boolean  | Result of the operation          |
| `result.can_read_all_group_messages` | boolean  | Result of the operation          |
| `result.supports_inline_queries`     | boolean  | Result of the operation          |
| `result.can_connect_to_business`     | boolean  | Result of the operation          |
| `result.has_main_web_app`            | boolean  | Result of the operation          |

### Output Example

`{"status_code":200,"response_headers":{"Server":"nginx/1.18.0","Date":"Thu, 04 Dec 2025 05:45:16 GMT","Content-Type":"application/json","Content-Length":"249","Connection":"keep-alive","Strict-Transport-Security":"max-age=31536000; includeSubDomains; preload","Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, POST, OPTIONS","Access-Control-Expose-Headers":"Content-Length,Content-Type,Date,Server,Connection"},"reason":"OK","json_body":{"ok":true,"result":{"id":8328642250,"is_b...`

## Get Updates

Retrieve incoming updates via long polling, returning an array of Update objects in Telegram.

### Endpoint

- **URL:** `getUpdates`
- **Method:** `POST`

### Input

| **Argument Name** | **Type** | **Required** | **Description**                                                                                                                                                                                                              |
| ----------------- | -------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `limit`           | number   | Optional     | Limits the number of updates to be retrieved. Values between 1-100 are accepted. Defaults to 100.                                                                                                                            |
| `offset`          | number   | Optional     | Identifier of the first update to be returned. Must be greater by one than the highest among the identifiers of previously received updates. By default, updates starting with the earliest unconfirmed update are returned. |
| `timeout`         | number   | Optional     | Timeout in seconds for long polling. Defaults to 0, i.e. usual short polling. Should be positive, short polling should be used for testing purposes only.                                                                    |
| `allowed_updates` | array    | Optional     | A JSON-serialized list of the update types you want your bot to receive. For example, specify \["message", "edited\_channel\_post", "callback\_query"] to only receive updates of these types.                               |

### Input Example

`{"json_body":{"limit":1,"offset":0,"timeout":10,"allowed_updates":["message","edited_channel_post","callback_query"]}}`

### Output

| **Parameter**                       | **Type** | **Description**                  |
| ----------------------------------- | -------- | -------------------------------- |
| `status_code`                       | number   | HTTP status code of the response |
| `reason`                            | string   | Response reason phrase           |
| `ok`                                | boolean  | Output field: ok                 |
| `result`                            | array    | Result of the operation          |
| `result.update_id`                  | number   | Unique identifier                |
| `result.message`                    | object   | Result of the operation          |
| `result.message.message_id`         | number   | Unique identifier                |
| `result.message.from`               | object   | Result of the operation          |
| `result.message.from.id`            | number   | Unique identifier                |
| `result.message.from.is_bot`        | boolean  | Result of the operation          |
| `result.message.from.first_name`    | string   | Name of the resource             |
| `result.message.from.language_code` | string   | Result of the operation          |
| `result.message.chat`               | object   | Result of the operation          |
| `result.message.chat.id`            | number   | Unique identifier                |
| `result.message.chat.first_name`    | string   | Name of the resource             |
| `result.message.chat.type`          | string   | Type of the resource             |
| `result.message.date`               | number   | Result of the operation          |
| `result.message.text`               | string   | Result of the operation          |

### Output Example

`{"status_code":200,"response_headers":{"Server":"nginx/1.18.0","Date":"Thu, 04 Dec 2025 06:26:36 GMT","Content-Type":"application/json","Content-Length":"260","Connection":"keep-alive","Strict-Transport-Security":"max-age=31536000; includeSubDomains; preload","Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, POST, OPTIONS","Access-Control-Expose-Headers":"Content-Length,Content-Type,Date,Server,Connection"},"reason":"OK","json_body":{"ok":true,"result":[{}]}}`

## Send Message

This action uses to send text messages.

### Endpoint

- **URL:** `sendMessage`
- **Method:** `POST`

### Input

| **Argument Name**                         | **Type** | **Required** | **Description**                                                                                                                                                                  |
| ----------------------------------------- | -------- | ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `business_connection_id`                  | string   | Optional     | Unique identifier of the business connection on behalf of which the message will be sent.                                                                                        |
| `chat_id`                                 | number   | Optional     | Unique identifier for the target chat.                                                                                                                                           |
| `message_thread_id`                       | number   | Optional     | Unique identifier for the target message thread (topic) of the forum.                                                                                                            |
| `direct_messages_topic_id`                | number   | Optional     | Identifier of the direct messages topic to which the message will be sent; required if the message is sent to a direct messages chat.                                            |
| `text`                                    | string   | Optional     | Text of the message to be sent, 1-4096 characters after entities parsing.                                                                                                        |
| `parse_mode`                              | string   | Optional     | Mode for parsing entities in the message text.                                                                                                                                   |
| `entities`                                | array    | Optional     | Parameter for Send Message                                                                                                                                                       |
| `entities.type`                           | string   | Optional     | Type of the entity.                                                                                                                                                              |
| `entities.offset`                         | number   | Optional     | Offset in UTF-16 code units to the start of the entity.                                                                                                                          |
| `entities.length`                         | number   | Optional     | Length of the entity in UTF-16 code units.                                                                                                                                       |
| `entities.url`                            | string   | Optional     | For “text\_link” only, URL that will be opened after user taps on the text.                                                                                                      |
| `entities.user`                           | object   | Optional     | For “text\_mention” only, the mentioned user.                                                                                                                                    |
| `entities.user.id`                        | number   | Optional     | Unique identifier for this user or bot. This number may have more than 32 significant bits and some programming languages may have difficulty/silent defects in interpreting it. |
| `entities.user.is_bot`                    | boolean  | Optional     | True, if this user is a bot.                                                                                                                                                     |
| `entities.user.first_name`                | string   | Optional     | User's or bot's first name.                                                                                                                                                      |
| `entities.user.last_name`                 | string   | Optional     | User's or bot's last name.                                                                                                                                                       |
| `entities.user.username`                  | string   | Optional     | User's or bot's username.                                                                                                                                                        |
| `entities.language`                       | string   | Optional     | For “pre” only, the programming language of the entity text.                                                                                                                     |
| `entities.custom_emoji_id`                | string   | Optional     | For “custom\_emoji” only, unique identifier of the custom emoji.                                                                                                                 |
| `link_preview_options`                    | object   | Optional     | Link preview generation options for the message.                                                                                                                                 |
| `link_preview_options.is_disabled`        | boolean  | Optional     | True, if link previews for messages should be disabled.                                                                                                                          |
| `link_preview_options.url`                | string   | Optional     | URL to use for the link preview. If empty, then the first URL found in the message text will be used.                                                                            |
| `link_preview_options.prefer_large_media` | boolean  | Optional     | True, if the media in the link preview is supposed to be enlarged.                                                                                                               |
| `link_preview_options.prefer_small_media` | boolean  | Optional     | True, if the media in the link preview is supposed to be shrunk.                                                                                                                 |
| `link_preview_options.show_above_text`    | boolean  | Optional     | True, if the media content should be shown above the text.                                                                                                                       |

### Input Example

`{"json_body":{"business_connection_id":"string_or_null","chat_id":123456789,"message_thread_id":123,"direct_messages_topic_id":1234,"text":"Your message text here","parse_mode":"MarkdownV2","entities":[{"type":"bold","offset":0,"length":4,"url":"https://google.com","user":{"id":123456789,"is_bot":false,"first_name":"John","last_name":"Doe","username":"john_doe"},"language":"en","custom_emoji_id":"1234567890"}],"link_preview_options":{"is_disabled":false,"url":"https://google.com","prefer_large_media":false,"prefer_small_media":false,"show_above_text":false},"disable_notification":false,"protect_content":false,"allow_paid_broadcast":false,"message_effect_id":"1234567890","suggested_post_parameters":{"price":{"amount":100,"currency":"USD"},"send_date":26784},"reply_parameters":{"message_id":123456789,"chat_id":123456789,"allow_sending_without_reply":true,"quote":"123456789","quote_parse_mode":"MarkdownV2","quote_entities":[{"type":"bold","offset":0,"length":4,"url":"https://google.com","user":{"id":123456789,"is_bot":false,"first_name":"John","last_name":"Doe","username":"john_doe"},"language":"en","custom_emoji_id":"1234567890"}]},"reply_markup":{"inline_keyboard":[[{"text":"Button 1","callback_data":"data1"},{"text":"Open Google","url":"https://google.com"}]]}}}`

### Output

| **Parameter**            | **Type** | **Description**                  |
| ------------------------ | -------- | -------------------------------- |
| `status_code`            | number   | HTTP status code of the response |
| `reason`                 | string   | Response reason phrase           |
| `ok`                     | boolean  | Output field: ok                 |
| `result`                 | object   | Result of the operation          |
| `result.message_id`      | number   | Unique identifier                |
| `result.from`            | object   | Result of the operation          |
| `result.from.id`         | number   | Unique identifier                |
| `result.from.is_bot`     | boolean  | Result of the operation          |
| `result.from.first_name` | string   | Name of the resource             |
| `result.from.username`   | string   | Name of the resource             |
| `result.chat`            | object   | Result of the operation          |
| `result.chat.id`         | number   | Unique identifier                |
| `result.chat.first_name` | string   | Name of the resource             |
| `result.chat.type`       | string   | Type of the resource             |
| `result.date`            | number   | Result of the operation          |
| `result.text`            | string   | Result of the operation          |

### Output Example

`{"status_code":200,"response_headers":{"Server":"nginx/1.18.0","Date":"Thu, 04 Dec 2025 06:39:43 GMT","Content-Type":"application/json","Content-Length":"244","Connection":"keep-alive","Strict-Transport-Security":"max-age=31536000; includeSubDomains; preload","Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, POST, OPTIONS","Access-Control-Expose-Headers":"Content-Length,Content-Type,Date,Server,Connection"},"reason":"OK","json_body":{"ok":true,"result":{"message_id":5,"from"...`

# Response Headers

| **Header**                    | **Description**                                          | **Example**                                        |
| ----------------------------- | -------------------------------------------------------- | -------------------------------------------------- |
| Access-Control-Allow-Methods  | HTTP response header: Access-Control-Allow-Methods       | GET, POST, OPTIONS                                 |
| Access-Control-Allow-Origin   | HTTP response header: Access-Control-Allow-Origin        | \*                                                 |
| Access-Control-Expose-Headers | HTTP response header: Access-Control-Expose-Headers      | Content-Length,Content-Type,Date,Server,Connection |
| Connection                    | HTTP response header: Connection                         | keep-alive                                         |
| Content-Length                | The length of the response body in bytes                 | 249                                                |
| Content-Type                  | The media type of the resource                           | application/json                                   |
| Date                          | The date and time at which the message was originated    | Thu, 04 Dec 2025 06:26:36 GMT                      |
| Server                        | Information about the software used by the origin server | nginx/1.18.0                                       |
| Strict-Transport-Security     | HTTP response header: Strict-Transport-Security          | max-age=31536000; includeSubDomains; preload       |
