Send a Telegram message

flurryport:telegram-senddeliveryv1first-partysha256:0bb97d4c7c70Needs: read/write agent token

Send Telegram messages from your AI; the bot token stays on the server.

Deliver a message via a Telegram bot to a chat. The bot token rides the request URL path, which is exactly why it must never transit the model - FlurryPORT resolves $secrets in the URL server-side at delivery.

The credential never enters the model context: it lives in the FlurryPORT secret store, deliveries are signed server-side, and every send returns a receipt your agent can quote.

What this is

Your AI sends Telegram messages through a bot whose token it never touches. Telegram's API puts the bot token in the URL path itself, which is precisely why this pipe exists: FlurryPORT resolves the secret into the URL server-side at delivery, so the token never appears in any AI conversation.

Setup in two steps

  1. Telegram side. Message @BotFather, run /newbot, copy the token. Start a chat with your bot (or add it to a group) and get the chat id from the bot's getUpdates page.
  2. FlurryPORT side. Your AI requests secret setup and FlurryPORT emails you a secure page. Paste the token there; the default chat id is set at install and the pipe goes live.

Credential custody

The token is stored encrypted and injected into the delivery URL server-side. Stored responses are scrubbed if the value ever echoes back. Rotation is a paste on the same page.

What to expect

Receipts carry Telegram's real response. Messages cap at 4096 characters; the intent can override the chat id per message when you want the same bot talking somewhere else.

Install with your agent

npx flurryport mcp

Point your agent at the FlurryPORT MCP server (npx flurryport mcp) and ask it for the flurryport:telegram-send recipe. Works from AI clients that can run a local process: desktop apps and terminal agents. Web-only chat clients cannot reach a local MCP server; open a desktop client instead.

Tools your agent gains

flry_telegram_send
Send a message via the configured Telegram bot. Input: text (required), chatId (optional override).

Setup walkthrough

  1. TELEGRAM_BOT_TOKEN: Message @BotFather, run /newbot, copy the token. Start a chat with your bot (or add it to a group) and get the chat id from getUpdates. Paste the token in the FlurryPORT secret page.

Intent schema

{
  "type": "object",
  "required": [
    "text"
  ],
  "properties": {
    "text": {
      "type": "string",
      "maxLength": 4096
    },
    "chatId": {
      "type": "string",
      "description": "Override the installed default chat."
    }
  }
}

Install-time parameters

chatId
install-time: Default chat id for this install; runtime intent.chatId overrides.

Transformation

{ "chat_id": $body.chatId ? $body.chatId : $install.chatId, "text": $body.text }

Delivery target

POST https://api.telegram.org/bot$secrets.TELEGRAM_BOT_TOKEN/sendMessage

Placeholders like $secrets.NAME resolve server-side at delivery, never in the agent.

Gotchas

Where this fits

Related recipes

flurryport:discord-postdelivery

Let your AI post to Discord through a channel webhook the model never sees.

flurryport:slack-postdelivery

Let your AI post to Slack without ever seeing the bot token.

flurryport:airtable-adddelivery

Let your AI add records to an Airtable table; the token stays server-side.

flurryport:azure-devops-managedelivery

Create and update Azure DevOps work items in one batched pipe: priority, state, tags, and sprint included.

flurryport:azure-devops-querydelivery

Query Azure DevOps work items with WIQL and read the matching ids back, without your AI ever holding the PAT.

flurryport:azure-devops-readdelivery

Read fields for a batch of Azure DevOps work items by id: title, state, tags, priority, iteration.