# Telegram Instant Messenger

## Links

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

## Overview

- Product ID: 697c1191a08dcbe06d11b98c
- Vendor: Apoth3osis
- Type: connector
- 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-06-04T13:16:31.644Z

### Page Description

Two-way Telegram messaging through the shared @AgentPMT_bot with budget-scoped chat binding. If not connected, the tool returns `status: connection_required` with `chat_url`, `otp_code`, and `start_command` (for example `/start 123456`). Open `chat_url`, send `start_command` exactly, then send any follow-up message to bind. After binding, send/receive text, photos, and documents with unread cursor controls and File Manager ingestion.

### Agent Description

Two-way Telegram messaging through the shared @AgentPMT_bot with budget-scoped chat binding. Connection flow returns `status: connection_required` with `chat_url`, `otp_code`, and `start_command` (for example `/start 123456`). Tell the user to open `chat_url`, send `start_command` exactly, then send any follow-up message. Once bound, use send_message/send_photo/send_document/get_updates in that scoped chat.

## Details

### Details

Two-way Telegram messaging through the shared @AgentPMT_bot with budget-scoped chat binding. If not connected, the tool returns `status: connection_required` with `chat_url`, `otp_code`, and `start_command` (for example `/start 123456`). Open `chat_url`, send `start_command` exactly, then send any follow-up message to bind. After binding, send/receive text, photos, and documents with unread cursor controls and File Manager ingestion.

### Actions

- `send_message` (2 credits): Send a text message to the budget's bound Telegram chat (shared AgentPMT bot).
- `send_photo` (2 credits): Send a photo to the budget's bound Telegram chat via URL/file_id/base64 or File Manager file_id.
- `send_document` (2 credits): Send a document to the budget's bound Telegram chat via URL/file_id/base64 or File Manager file_id.
- `get_updates` (2 credits): Fetch incoming updates with persisted cursor and optional media ingestion into File Manager. Returns deep link binding instructions when budget is not yet connected.

### Use Cases

Instant two-way Telegram chat with zero setup, Send alerts and notifications to users or teams, Customer support and helpdesk automation, Collect feedback and survey responses via chat, Share reports and documents through Telegram, Build conversational AI workflows on Telegram, Send photos and media to users, Prototype Telegram automations quickly

### Workflows Using This Tool

#### Gmail Inbox Triage to Telegram - Urgency and Intent

Sweeps your Gmail inbox for emails received in the last 24 hours, looks up each sender's prior Gmail history to classify them as existing customer, new inquiry, marketing, or automated, scores urgency, and sends a single Telegram digest containing only the high and medium urgency emails that actually need your reply. Skips marketing, no-reply notifications, and one-way confirmations.

- Page URL: https://www.agentpmt.com/agent-workflow-skills/gmail-inbox-triage-to-telegram-urgency-and-intent--6a16438899942aa48e2f1d0c
- Markdown URL: https://www.agentpmt.com/agent-workflow-skills/gmail-inbox-triage-to-telegram-urgency-and-intent--6a16438899942aa48e2f1d0c?format=agent-md
- Published: 2026-05-27T01:06:27.207Z

### Related Content

No related content is currently linked to this product.

## Integration Details

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

Use the local router for command-based MCP clients. It forwards requests to `https://api.agentpmt.com/mcp` and does not execute tools locally.

```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": "697c1191a08dcbe06d11b98c",
    "parameters": {
      "action": "send_message",
      "text": "example_text"
    }
  }'
```

### Autonomous Agents

Autonomous agents can access this tool through AgentAddress credit balances or direct x402 payments. Use the Autonomous Agent API reference for endpoint shapes after choosing the access pattern below.

- Autonomous Agent API reference URL: https://www.agentpmt.com/docs/api-reference/autonomous-agents
- Autonomous Agent API reference markdown URL: https://www.agentpmt.com/docs/api-reference/autonomous-agents?format=agent-md
- Credit-Based Access Using AgentAddress: https://www.agentpmt.com/docs/autonomous-agents/credit-based-tool-usage-with-agentaddress
- AgentAddress is preferred for persistent file access, stored platform state, and maximum tool use ability across repeated calls.
- Direct x402 is for independent one-off tool calls that do not require shared files or stored platform state.
- Direct x402 public payments: USDC on Base, Arbitrum, Optimism, Polygon, and Avalanche.

### Schema

#### Parameters

- Schema type: actions

```json
{
  "actions": {
    "send_message": {
      "description": "Send a text message to the budget's bound Telegram chat (shared AgentPMT bot).",
      "properties": {
        "text": {
          "type": "string",
          "description": "Message text (max 4096 characters). Required.",
          "required": true
        },
        "parse_mode": {
          "type": "string",
          "description": "Text formatting mode: HTML, Markdown, or MarkdownV2",
          "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 message silently (users receive without sound). Default: false",
          "required": false
        },
        "protect_content": {
          "type": "boolean",
          "description": "Protect content from forwarding and saving. Default: false",
          "required": false
        },
        "message_thread_id": {
          "type": "integer",
          "description": "Topic ID for group chats with topics enabled (optional)",
          "required": false
        }
      }
    },
    "send_photo": {
      "description": "Send a photo to the budget's bound Telegram chat via URL/file_id/base64 or File Manager file_id.",
      "properties": {
        "photo": {
          "type": "string",
          "description": "Photo as a URL, Telegram file_id, or base64-encoded 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: HTML, Markdown, or MarkdownV2",
          "required": false,
          "enum": [
            "HTML",
            "Markdown",
            "MarkdownV2"
          ]
        },
        "disable_notification": {
          "type": "boolean",
          "description": "Send message silently (users receive without sound). Default: false",
          "required": false
        },
        "protect_content": {
          "type": "boolean",
          "description": "Protect content from forwarding and saving. Default: false",
          "required": false
        },
        "message_thread_id": {
          "type": "integer",
          "description": "Topic ID for group chats with topics enabled (optional)",
          "required": false
        }
      }
    },
    "send_document": {
      "description": "Send a document to the budget's bound Telegram chat via URL/file_id/base64 or File Manager file_id.",
      "properties": {
        "document": {
          "type": "string",
          "description": "Document as a URL, Telegram file_id, or base64-encoded 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": "Document filename. Required when sending base64 document data.",
          "required": false
        },
        "caption": {
          "type": "string",
          "description": "Document caption (max 1024 characters)",
          "required": false
        },
        "parse_mode": {
          "type": "string",
          "description": "Caption formatting mode: HTML, Markdown, or MarkdownV2",
          "required": false,
          "enum": [
            "HTML",
            "Markdown",
            "MarkdownV2"
          ]
        },
        "disable_notification": {
          "type": "boolean",
          "description": "Send message silently (users receive without sound). Default: false",
          "required": false
        },
        "protect_content": {
          "type": "boolean",
          "description": "Protect content from forwarding and saving. Default: false",
          "required": false
        },
        "message_thread_id": {
          "type": "integer",
          "description": "Topic ID for group chats with topics enabled (optional)",
          "required": false
        }
      }
    },
    "get_updates": {
      "description": "Fetch incoming updates with persisted cursor and optional media ingestion into File Manager. Returns deep link binding instructions when budget is not yet connected.",
      "properties": {
        "offset": {
          "type": "integer",
          "description": "Explicit Telegram update_id offset (absolute). Overrides cursor-derived start when provided.",
          "required": false
        },
        "limit": {
          "type": "integer",
          "description": "Maximum number of 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": "Filter update types to receive, e.g. ['message','callback_query']",
          "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
        }
      }
    }
  }
}
```

### Usage Instructions

# Telegram Instant Messenger

Two-way messaging through the shared AgentPMT Telegram bot.

## User Setup

The shared tool binds each budget to one Telegram user/chat via a short 6-digit OTP.

1. Call any action (`send_message`, `send_photo`, `send_document`, or `get_updates`)
2. The tool checks whether the budget is already bound
3. If not bound, it returns `status: connection_required` with `chat_url`, `otp_code`, and `start_command`
4. User opens `chat_url` and sends `start_command` exactly (example: `/start 123456`)
5. User sends any follow-up message in the same chat
6. On every request while unbound, the tool checks Telegram updates for a matching `/start <otp_code>` and binds immediately when found

## Shared Bot Scope

For the shared AgentPMT bot, each budget is scoped to one Telegram chat.

- `chat_id` is not accepted in shared-tool requests
- Outbound actions automatically use the stored scoped chat from the budget binding
- `get_updates` automatically filters to the bound chat/user once connected

## Actions

### `send_message`
Required: `text`

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

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

When not yet connected, this action returns `status: connection_required` with `chat_url`, `otp_code`, and `start_command`.

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

## Start Chatting on Telegram in Seconds

Telegram Instant Messenger gives you a ready-to-use two-way communication channel between your AI agent and anyone on Telegram — no bot creation, no API keys, and no technical setup required.

### How It Works

1.  **Open Telegram** on your phone or computer and search for @AgentPMT\_bot
2.  **Tap Start** — that's it, you're connected
3.  **Send a message** and your agent can read and respond instantly

Share the bot link with anyone you want to communicate with. As soon as they tap Start and send a message, your agent has their chat ID and can reply.

### What You Can Do

1.  **Send and receive text messages** — have real-time two-way conversations with users through Telegram
2.  **Share photos and documents** — send images, PDFs, spreadsheets, and any file type directly in chat
3.  **Track unread messages** — a smart cursor keeps track of what's been read so your agent never misses a message
4.  **Add interactive buttons** — create inline keyboard menus for quick user responses and navigation
5.  **Format messages beautifully** — use HTML, Markdown, or MarkdownV2 for rich text formatting
6.  **Send silently** — deliver messages without notification sounds when needed

### Perfect For

1.  Quick prototyping of Telegram-based workflows
2.  Customer support and helpdesk automation
3.  Sending alerts, reminders, and notifications to users or teams
4.  Collecting feedback and survey responses through conversational chat
5.  Building interactive AI experiences on Telegram
6.  Sharing reports, receipts, and documents with customers

### No Setup, No Hassle

Unlike custom bots that require creating a bot with BotFather and managing tokens, Telegram Instant Messenger uses a shared pre-configured bot that's ready from the moment you activate the tool. If you need your own branded bot with a custom name and profile picture, check out **Custom Telegram Bot** instead.

### Frequently Asked Questions

#### How do I connect this tool to an external agent?

- Page URL: https://www.agentpmt.com/faq
- Markdown URL: https://www.agentpmt.com/faq?format=agent-md

You can install the local MCP server by opening a terminal and running:

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

This 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:

```
{
  "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](/docs/mcp-reference/connection) for more details.

#### How does an external agent use this tool?

- Page URL: https://www.agentpmt.com/faq
- Markdown URL: https://www.agentpmt.com/faq?format=agent-md

After the external agent is connected to an Agent Group that can use this tool, paste this prompt into the agent:

> Call the AgentPMT-Tool-Search-and-Execution tool with action 'get\_schema' and tool\_id 697c1191a08dcbe06d11b98c ("Telegram Instant Messenger"). Then call the same tool with action 'call\_tool', tool\_id 697c1191a08dcbe06d11b98c, 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.

### Dependencies

This product has no public dependency products.