# Custom Telegram Bot

## Links

- Product page URL: https://www.agentpmt.com/marketplace/custom-telegram-bot
- Product markdown URL: https://www.agentpmt.com/marketplace/custom-telegram-bot?format=agent-md
- Product JSON URL: https://www.agentpmt.com/marketplace/custom-telegram-bot?format=agent-json

## Overview

- Product ID: 69dabe30448c9686fae464e3
- Vendor: Apoth3osis
- Type: function
- Unit type: request
- Price: 200 credits
- Categories: Automation, Sales Engagement & Outreach, Social Media Management, Survey & Feedback Collection, Team Collaboration & Workspaces, Task & Workflow Automation, SMS & Text Messaging
- Generated at: 2026-04-18T04:36:29.476Z

### Page Description

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.

### Agent Description

Two-way Telegram messaging through the user's own custom bot token. Send text, photos, and documents to any chat/channel your bot can access, poll incoming updates with unread cursor controls, ingest inbound media to File Manager, and list known chat IDs discovered for this bot scope.

## Details Tab

### 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.

### Actions

- `send_message` (2 credits): Send a text message to a Telegram user, group, or channel your bot can access.
- `send_photo` (2 credits): Send a photo via URL/file_id/base64 or File Manager file_id.
- `send_document` (2 credits): Send a document via URL/file_id/base64 or File Manager file_id.
- `get_updates` (2 credits): Poll incoming updates with persisted cursor and optional media ingestion into File Manager.
- `list_known_chat_ids`: List known chat IDs discovered by get_updates for this BYO bot scope.

### 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

### Workflows Using This Tool

No public workflows currently reference this product.

### Related Content

No related content is currently linked to this product.

## Advanced Tab

### DynamicMCP

- Setup page URL: https://www.agentpmt.com/dynamic-mcp
- Claude setup guide: https://www.agentpmt.com/dynamic-mcp?platform=claude#videos
- ChatGPT setup guide: https://www.agentpmt.com/dynamic-mcp?platform=chatgpt#videos
- Cursor setup guide: https://www.agentpmt.com/dynamic-mcp?platform=cursor#videos
- Windsurf setup guide: https://www.agentpmt.com/dynamic-mcp?platform=windsurf#videos

STDIO connector for Claude Code, Codex, Cursor, Zed, and other LLMs that require STDIO or custom connections. This lightweight connector routes requests to `https://api.agentpmt.com/mcp`. All tool execution happens in the cloud and the server cannot edit any files on your computer.

```bash
npm install -g @agentpmt/mcp-router
agentpmt-setup
```

### REST API

The live page renders cURL, Python, JavaScript, and Node.js examples. Logged-in users see those examples prefilled with their own API and budget credentials.

- Purchase endpoint: https://api.agentpmt.com/products/purchase
- Authorization format: `Bearer <base64(apiKey:budgetKey)>`

```bash
curl -X POST "https://api.agentpmt.com/products/purchase" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer eW91ci1hcGkta2V5LWhlcmU6eW91ci1idWRnZXQta2V5LWhlcmU=" \
  -d '{
    "product_id": "69dabe30448c9686fae464e3",
    "parameters": {
      "action": "send_message",
      "chat_id": "example_chat_id",
      "text": "example_text"
    }
  }'
```

### Autonomous Agents

Do not use the abbreviated instructions in this product markdown for wallet-based invocation. Retrieve the full External Agent API markdown document instead.

- External Agent API page URL: https://www.agentpmt.com/external-agent-api
- External Agent API markdown URL: https://www.agentpmt.com/external-agent-api?format=agent-md

### Schema

#### Credentials

These runtime credentials should be provided under `parameters._credentials` when required.

- Telegram Bot Token (`telegram_bot_token`, api_key, required)
  Connection ID: 69d99f16db501f1694e2afca

#### Parameters

- Schema type: actions

```json
{
  "actions": {
    "send_message": {
      "description": "Send a text message to a Telegram user, group, or channel your bot can access.",
      "properties": {
        "chat_id": {
          "type": "string",
          "description": "Telegram chat ID (numeric) or @username. Required.",
          "required": true
        },
        "text": {
          "type": "string",
          "description": "Message text (max 4096 characters). Required.",
          "required": true
        },
        "parse_mode": {
          "type": "string",
          "description": "Text formatting mode",
          "required": false,
          "enum": [
            "HTML",
            "Markdown",
            "MarkdownV2"
          ]
        },
        "reply_markup": {
          "type": "object",
          "description": "Inline keyboard markup for interactive buttons",
          "required": false
        },
        "disable_notification": {
          "type": "boolean",
          "description": "Send silently without sound",
          "required": false
        },
        "protect_content": {
          "type": "boolean",
          "description": "Prevent forwarding/saving",
          "required": false
        },
        "message_thread_id": {
          "type": "integer",
          "description": "Topic ID for group chats with topics",
          "required": false
        }
      }
    },
    "send_photo": {
      "description": "Send a photo via URL/file_id/base64 or File Manager file_id.",
      "properties": {
        "chat_id": {
          "type": "string",
          "description": "Telegram chat ID (numeric) or @username. Required.",
          "required": true
        },
        "photo": {
          "type": "string",
          "description": "Photo URL, Telegram file_id, or base64 data.",
          "required": false
        },
        "photo_file_id": {
          "type": "string",
          "description": "AgentPMT File Manager file_id to send as photo (alternative to photo).",
          "required": false
        },
        "caption": {
          "type": "string",
          "description": "Photo caption (max 1024 characters)",
          "required": false
        },
        "parse_mode": {
          "type": "string",
          "description": "Caption formatting mode",
          "required": false,
          "enum": [
            "HTML",
            "Markdown",
            "MarkdownV2"
          ]
        },
        "disable_notification": {
          "type": "boolean",
          "description": "Send silently without sound",
          "required": false
        },
        "protect_content": {
          "type": "boolean",
          "description": "Prevent forwarding/saving",
          "required": false
        },
        "message_thread_id": {
          "type": "integer",
          "description": "Topic ID for group chats with topics",
          "required": false
        }
      }
    },
    "send_document": {
      "description": "Send a document via URL/file_id/base64 or File Manager file_id.",
      "properties": {
        "chat_id": {
          "type": "string",
          "description": "Telegram chat ID (numeric) or @username. Required.",
          "required": true
        },
        "document": {
          "type": "string",
          "description": "Document URL, Telegram file_id, or base64 data.",
          "required": false
        },
        "document_file_id": {
          "type": "string",
          "description": "AgentPMT File Manager file_id to send as document (alternative to document).",
          "required": false
        },
        "filename": {
          "type": "string",
          "description": "Filename required for base64 document payloads.",
          "required": false
        },
        "caption": {
          "type": "string",
          "description": "Document caption (max 1024 characters)",
          "required": false
        },
        "parse_mode": {
          "type": "string",
          "description": "Caption formatting mode",
          "required": false,
          "enum": [
            "HTML",
            "Markdown",
            "MarkdownV2"
          ]
        },
        "disable_notification": {
          "type": "boolean",
          "description": "Send silently without sound",
          "required": false
        },
        "protect_content": {
          "type": "boolean",
          "description": "Prevent forwarding/saving",
          "required": false
        },
        "message_thread_id": {
          "type": "integer",
          "description": "Topic ID for group chats with topics",
          "required": false
        }
      }
    },
    "get_updates": {
      "description": "Poll incoming updates with persisted cursor and optional media ingestion into File Manager.",
      "properties": {
        "offset": {
          "type": "integer",
          "description": "Explicit Telegram update_id offset (absolute). Overrides cursor-derived start when provided.",
          "required": false
        },
        "limit": {
          "type": "integer",
          "description": "Max updates to retrieve (1-100). Default: 100",
          "required": false,
          "default": 100,
          "minimum": 1,
          "maximum": 100
        },
        "timeout": {
          "type": "integer",
          "description": "Long polling timeout in seconds (0-60). Default: 30",
          "required": false,
          "default": 30,
          "minimum": 0,
          "maximum": 60
        },
        "allowed_updates": {
          "type": "array",
          "description": "Update types to receive",
          "required": false,
          "items": {
            "type": "string"
          }
        },
        "unread_only": {
          "type": "boolean",
          "description": "When true, return only updates newer than the stored read cursor.",
          "required": false
        },
        "cursor_offset": {
          "type": "integer",
          "description": "Relative offset from cursor-derived start. Negative values look older; positive values skip newer.",
          "required": false
        },
        "mark_as_read": {
          "type": "boolean",
          "description": "Persist highest unread update_id as read. Defaults to true when unread_only=true.",
          "required": false
        },
        "ingest_files_to_manager": {
          "type": "boolean",
          "description": "When true, download Telegram photo/document files from returned updates and upload them into AgentPMT File Manager.",
          "required": false
        },
        "ingest_max_files": {
          "type": "integer",
          "description": "Maximum number of files to ingest from one get_updates response.",
          "required": false,
          "default": 10,
          "minimum": 1,
          "maximum": 25
        },
        "ingest_expiration_days": {
          "type": "integer",
          "description": "File Manager expiration in days for ingested files (1-7).",
          "required": false,
          "default": 7,
          "minimum": 1,
          "maximum": 7
        }
      }
    },
    "list_known_chat_ids": {
      "description": "List known chat IDs discovered by get_updates for this BYO bot scope.",
      "price_per_unit": 0
    }
  }
}
```

### Usage Instructions

# Custom Telegram Bot

Two-way messaging through your own Telegram bot connection.

## Setup

1. Create your Telegram bot
2. Connect the required Telegram credential in AgentPMT
3. Send `/start` to your bot in Telegram
4. Use `get_updates` to read inbound messages and reply

## Actions

### `send_message`
Required: `chat_id`, `text`

### `send_photo`
Required: `chat_id`
Provide one of:
- `photo` (URL, Telegram file_id, or base64)
- `photo_file_id` (AgentPMT File Manager file_id)

### `send_document`
Required: `chat_id`
Provide one of:
- `document` (URL, Telegram file_id, or base64)
- `document_file_id` (AgentPMT File Manager file_id)

If using base64 `document`, `filename` is required.

### `get_updates`
Optional:
- `offset`, `limit` (1-100), `timeout` (0-60), `allowed_updates`
- `unread_only`, `cursor_offset`, `mark_as_read`
- `ingest_files_to_manager`, `ingest_max_files`, `ingest_expiration_days`

### `list_known_chat_ids`
Returns chat IDs seen by this BYO bot within this budget scope.
Use `get_updates` first to discover chats.

## File Manager Flows

- Send from File Manager: use `photo_file_id` or `document_file_id`
- Save inbound Telegram media: set `ingest_files_to_manager: true` on `get_updates`
- Ingested uploads are returned in `ingested_files` with new File Manager `file_id` values

## Shared Optional Params (send actions)

`parse_mode`, `caption`, `reply_markup`, `disable_notification`, `protect_content`, `message_thread_id`

### Additional Product Content

## 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

1.  Open Telegram and message @BotFather
2.  Send /newbot and follow the prompts
3.  Choose a display name (e.g. "Acme Support Bot")
4.  Choose a username ending in bot (e.g. acme\_support\_bot)
5.  Copy the bot token that BotFather gives you

#### Step 2: Customize Your Bot (Optional)

Message @BotFather with these commands to brand your bot:

1.  /setdescription — what users see before starting the bot
2.  /setabouttext — the bot's About section
3.  /setuserpic — upload your bot's profile photo
4.  /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

1.  Search for your bot's username in Telegram
2.  Tap **Start**
3.  Send a test message to make sure everything is working

### What You Can Do

1.  **Full branding control** — your own bot name, profile photo, description, and custom commands
2.  **Send and receive text messages** — real-time two-way conversations under your brand
3.  **Share photos and documents** — send images, PDFs, and any file type directly in chat
4.  **Track unread messages** — a smart cursor keeps track of what's been read so you never miss a message
5.  **Interactive buttons** — inline keyboard menus for quick user responses and navigation
6.  **Rich formatting** — HTML, Markdown, or MarkdownV2 support for beautiful messages
7.  **Silent delivery** — send messages without notification sounds when appropriate

### Perfect For

1.  Branded customer support and helpdesk bots
2.  Business notification and alert systems
3.  Internal team communication channels
4.  Lead capture and sales outreach bots
5.  Custom conversational AI experiences
6.  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.

### About The Developer

- Vendor name: Apoth3osis
- Website: apoth3osis.io

We build tools that enable AI agents to excel in the mathematical realm.

Our small team develops experimental and unique solutions in the AI arena, with a strong focus on modular computing for agentic applications and custom model deployment. We have handled projects for a variety of applications across many sectors, from algorithmic trading and financial analysis, to molecular simulations and predictions, to habitat and biodiversity monitoring and wildlife conservation.

### Frequently Asked Questions

No linked FAQs are currently available.

### Dependencies

This product has no public dependency products.