Custom Telegram Bot
Function
Available ActionsEach successful request consumes credits as outlined below.
send_message2crsend_photo2crsend_document2crget_updates2crlist_known_chat_ids
Details
Build your own branded Telegram bot and connect it to your AI agent for fully customizable two-way communication. Create a bot through Telegram's BotFather, choose your own name and profile picture, define custom commands, then connect it here. Send and receive text messages, share photos and documents, track unread conversations with smart cursors, and create interactive button menus — all under your own brand identity.
Use Cases
Build a branded customer support bot on Telegram, Send business notifications under your own bot identity, Receive and respond to inbound customer messages, Share photos and documents from your branded bot, Create interactive menus with inline keyboard buttons, Run automated conversational workflows, Collect leads and feedback through your own Telegram bot, Internal team communication with a custom bot
Actions(5)
send_message2cr7 params(2 required)Send a text message to a Telegram user, group, or channel your bot can access.
send_message2cr7 params(2 required)Send a text message to a Telegram user, group, or channel your bot can access.
chat_idrequiredstringTelegram chat ID (numeric) or @username. Required.
textrequiredstringMessage text (max 4096 characters). Required.
parse_modestringText formatting mode
Values:
HTMLMarkdownMarkdownV2
reply_markupobjectInline keyboard markup for interactive buttons
disable_notificationbooleanSend silently without sound
protect_contentbooleanPrevent forwarding/saving
message_thread_idintegerTopic ID for group chats with topics
send_photo2cr8 params(1 required)Send a photo via URL/file_id/base64 or File Manager file_id.
send_photo2cr8 params(1 required)Send a photo via URL/file_id/base64 or File Manager file_id.
chat_idrequiredstringTelegram chat ID (numeric) or @username. Required.
photostringPhoto URL, Telegram file_id, or base64 data.
photo_file_idstringAgentPMT File Manager file_id to send as photo (alternative to photo).
captionstringPhoto caption (max 1024 characters)
parse_modestringCaption formatting mode
Values:
HTMLMarkdownMarkdownV2
disable_notificationbooleanSend silently without sound
protect_contentbooleanPrevent forwarding/saving
message_thread_idintegerTopic ID for group chats with topics
send_document2cr9 params(1 required)Send a document via URL/file_id/base64 or File Manager file_id.
send_document2cr9 params(1 required)Send a document via URL/file_id/base64 or File Manager file_id.
chat_idrequiredstringTelegram chat ID (numeric) or @username. Required.
documentstringDocument URL, Telegram file_id, or base64 data.
document_file_idstringAgentPMT File Manager file_id to send as document (alternative to document).
filenamestringFilename required for base64 document payloads.
captionstringDocument caption (max 1024 characters)
parse_modestringCaption formatting mode
Values:
HTMLMarkdownMarkdownV2
disable_notificationbooleanSend silently without sound
protect_contentbooleanPrevent forwarding/saving
message_thread_idintegerTopic ID for group chats with topics
get_updates2cr10 paramsPoll incoming updates with persisted cursor and optional media ingestion into File Manager.
get_updates2cr10 paramsPoll incoming updates with persisted cursor and optional media ingestion into File Manager.
offsetintegerExplicit Telegram update_id offset (absolute). Overrides cursor-derived start when provided.
limitintegerMax updates to retrieve (1-100). Default: 100
Default:
100Range: 1 - 100
timeoutintegerLong polling timeout in seconds (0-60). Default: 30
Default:
30Range: 0 - 60
allowed_updatesarrayUpdate types to receive
Array of: string
unread_onlybooleanWhen true, return only updates newer than the stored read cursor.
cursor_offsetintegerRelative offset from cursor-derived start. Negative values look older; positive values skip newer.
mark_as_readbooleanPersist highest unread update_id as read. Defaults to true when unread_only=true.
ingest_files_to_managerbooleanWhen true, download Telegram photo/document files from returned updates and upload them into AgentPMT File Manager.
ingest_max_filesintegerMaximum number of files to ingest from one get_updates response.
Default:
10Range: 1 - 25
ingest_expiration_daysintegerFile Manager expiration in days for ingested files (1-7).
Default:
7Range: 1 - 7
list_known_chat_ids0 paramsList known chat IDs discovered by get_updates for this BYO bot scope.
list_known_chat_ids0 paramsList known chat IDs discovered by get_updates for this BYO bot scope.
No parameters for this action.
About this Product
Your Bot, Your Brand, Your Rules
Custom Telegram Bot lets you create your own branded Telegram bot and connect it to your AI agent for fully customizable two-way communication. Everything runs under your own bot identity — your name, your profile picture, your commands.
Getting Started
Step 1: Create Your Bot
- Open Telegram and message @BotFather
- Send /newbot and follow the prompts
- Choose a display name (e.g. "Acme Support Bot")
- Choose a username ending in bot (e.g. acme_support_bot)
- Copy the bot token that BotFather gives you
Step 2: Customize Your Bot (Optional)
Message @BotFather with these commands to brand your bot:
- /setdescription — what users see before starting the bot
- /setabouttext — the bot's About section
- /setuserpic — upload your bot's profile photo
- /setcommands — define slash commands your users can use
Step 3: Connect Your Token
In AgentPMT, add the bot token as a Telegram Bot Token connection. The platform securely stores your token and injects it automatically at runtime — you never need to paste it into messages or share it.
Step 4: Activate Your Bot
- Search for your bot's username in Telegram
- Tap Start
- Send a test message to make sure everything is working
What You Can Do
- Full branding control — your own bot name, profile photo, description, and custom commands
- Send and receive text messages — real-time two-way conversations under your brand
- Share photos and documents — send images, PDFs, and any file type directly in chat
- Track unread messages — a smart cursor keeps track of what's been read so you never miss a message
- Interactive buttons — inline keyboard menus for quick user responses and navigation
- Rich formatting — HTML, Markdown, or MarkdownV2 support for beautiful messages
- Silent delivery — send messages without notification sounds when appropriate
Perfect For
- Branded customer support and helpdesk bots
- Business notification and alert systems
- Internal team communication channels
- Lead capture and sales outreach bots
- Custom conversational AI experiences
- Feedback collection and survey bots
Custom Bot vs. Instant Messenger
If you don't need your own branded bot and just want to start chatting right away, check out Telegram Instant Messenger — it uses a shared pre-configured bot with zero setup. Choose Custom Telegram Bot when you want full control over your bot's identity and branding.
Frequently Asked Questions
How do I connect this tool to an external agent?
You can install the local MCP server by opening a terminal and running:
Install commands
npm install -g @agentpmt/mcp-router
agentpmt-setupThis will connect you to local agents like Claude Code, Windsurf, Grok Build, Cursor, etc.
Alternatively you can connect to the hosted version with this config block, no installation required:
Hosted MCP config
{
"mcpServers": {
"agentpmt": {
"type": "streamable-http",
"url": "https://api.agentpmt.com/mcp",
"headers": {
"Authorization": "Bearer <AGENTPMT_BEARER_TOKEN>",
"x-instance-metadata": "{\"client\":\"generic-mcp\",\"platform\":\"remote\"}"
}
}
}
}View MCP Connection Instructions for more details.
How does an external agent use this tool?
After the external agent is connected to an Agent Group that can use this tool, paste this prompt into the agent:
Agent prompt
Call the AgentPMT-Tool-Search-and-Execution tool with action 'get_schema' and tool_id 69dabe30448c9686fae464e3 ("Custom Telegram Bot"). Then call the same tool with action 'call_tool', tool_id 69dabe30448c9686fae464e3, and the parameters needed for my request.
The agent should fetch the tool schema first, collect the required parameters for your request, and then call the tool through AgentPMT.





