Telegram

Learn how to use Telegram with Composio

Overview

SLUG: TELEGRAM

Description

Telegram is a cloud-based messaging app with a focus on security and speed. Build bots to send messages, manage chats, and interact with users.

Authentication Details

generic_api_key
stringRequired

Connecting to Telegram

Create an auth config

Use the dashboard to create an auth config for the Telegram toolkit. This allows you to connect multiple Telegram accounts to Composio for agents to use.

1

Select App

Navigate to Telegram.

2

Configure Auth Config Settings

Select among the supported auth schemes of and configure them here.

3

Create and Get auth config ID

Click “Create Telegram Auth Config”. After creation, copy the displayed ID starting with ac_. This is your auth config ID. This is not a sensitive ID — you can save it in environment variables or a database. This ID will be used to create connections to the toolkit for a given user.

Connect Your Account

Using API Key

1from composio import Composio
2
3# Replace these with your actual values
4telegram_auth_config_id = "ac_YOUR_TELEGRAM_CONFIG_ID" # Auth config ID created above
5user_id = "0000-0000-0000" # UUID from database/app
6
7composio = Composio()
8
9def authenticate_toolkit(user_id: str, auth_config_id: str):
10 # Replace this with a method to retrieve an API key from the user.
11 # Or supply your own.
12 user_api_key = input("[!] Enter API key")
13
14 connection_request = composio.connected_accounts.initiate(
15 user_id=user_id,
16 auth_config_id=auth_config_id,
17 config={"auth_scheme": "API_KEY", "val": {"generic_api_key": user_api_key}}
18 )
19
20 # API Key authentication is immediate - no redirect needed
21 print(f"Successfully connected Telegram for user {user_id}")
22 print(f"Connection status: {connection_request.status}")
23
24 return connection_request.id
25
26
27connection_id = authenticate_toolkit(user_id, telegram_auth_config_id)
28
29# You can verify the connection using:
30connected_account = composio.connected_accounts.get(connection_id)
31print(f"Connected account: {connected_account}")

Tools

Executing tools

To prototype you can execute some tools to see the responses and working on the Telegram toolkit’s playground

For code examples, see the Tool calling guide and Provider examples.

Tool List

Tool Name: Answer Callback Query

Description

Use this method to send answers to callback queries sent from inline keyboards. The answer will be displayed to the user as a notification at the top of the chat screen or as an alert.

Action Parameters

cache_time
callback_query_id
stringRequired
show_alert
text
url

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Delete Message

Description

Delete a message, including service messages, with certain limitations.

Action Parameters

chat_id
Required
message_id
integerRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Edit Message

Description

Edit text messages sent by the bot.

Action Parameters

chat_id
disable_web_page_preview
inline_message_id
message_id
parse_mode
reply_markup
text
stringRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Forward Message

Description

Forward messages of any kind. Service messages can't be forwarded.

Action Parameters

chat_id
Required
disable_notification
from_chat_id
Required
message_id
integerRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Get Chat Info

Description

Get up to date information about the chat (current name of the user for one-on-one conversations, current username of a user, group or channel, etc.).

Action Parameters

chat_id
Required

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Get Chat Administrators

Description

Get a list of administrators in a chat. On success, returns an Array of ChatMember objects that contains information about all chat administrators except other bots.

Action Parameters

chat_id
Required

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Get Chat History

Description

Get chat history messages. Note: This uses the getUpdates method with specific parameters to retrieve historical messages.

Action Parameters

chat_id
Required
limit
message_id
offset

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Get Chat Members Count

Description

Get the number of members in a chat. The bot must be an administrator in the chat for this to work.

Action Parameters

chat_id
Required

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Get Bot Info

Description

Get basic information about the bot using the Bot API getMe method.

Action Parameters

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Get Updates

Description

Use this method to receive incoming updates using long polling. An Array of Update objects is returned. IMPORTANT: This method will not work if an outgoing webhook is set up. Webhooks and getUpdates (long polling) are mutually exclusive - you cannot use both simultaneously. If you have an active webhook configured, calling this method will return a 409 Conflict error. To switch from webhook to polling mode, you must first call deleteWebhook or use setWebhook with an empty url parameter to remove the webhook. Notes: - Only one method (webhook or polling) can be active at a time for a bot - Updates remain available for up to 24 hours if unclaimed - Recalculate offset after each response to avoid duplicate updates

Action Parameters

allowed_updates
limit
offset
timeout

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Send Document

Description

Send general files (documents) to a Telegram chat using the Bot API.

Action Parameters

caption
chat_id
Required
disable_content_type_detection
disable_notification
document
stringRequired
parse_mode
reply_markup
reply_to_message_id
thumbnail

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Send Location

Description

Send point on the map location to a Telegram chat using the Bot API.

Action Parameters

chat_id
Required
disable_notification
heading
horizontal_accuracy
latitude
numberRequired
live_period
longitude
numberRequired
proximity_alert_radius
reply_markup
reply_to_message_id

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Send Message

Description

Send a text message to a Telegram chat using the Bot API.

Action Parameters

chat_id
Required
disable_notification
disable_web_page_preview
parse_mode
reply_markup
reply_to_message_id
text
stringRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Send Photo

Description

Send photos to a Telegram chat using the Bot API.

Action Parameters

caption
chat_id
Required
disable_notification
parse_mode
photo
stringRequired
reply_markup
reply_to_message_id

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Send Poll

Description

Send a native poll to a Telegram chat using the Bot API.

Action Parameters

allows_multiple_answers
chat_id
Required
close_date
correct_option_id
disable_notification
explanation
explanation_parse_mode
is_anonymous
is_closed
open_period
options
arrayRequired
question
stringRequired
reply_markup
reply_to_message_id
type

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Set Bot Commands

Description

Use this method to change the list of the bot's commands. See https://core.telegram.org/bots#commands for more details about bot commands.

Action Parameters

commands
arrayRequired
language_code
scope

Action Response

data
objectRequired
error
successful
booleanRequired