Communication · Integration
TelegramAGNT

AI agents for Telegram

The fastest channel between your agents and your phone. AGNT connects to Telegram so agents can read what happens there, reason about it, and act — with a receipt for every run.

Telegram and AGNT, in brief

What it doesLets an AGNT agent read from and act in Telegram.
Connects withAn API key held in the local vault
AGNT nodetelegram-api, receive-telegram-update
Runs whenA message arrives
Typical build timeTwo minutes
Where data goesNowhere by default — AGNT runs on your machine and credentials never leave it.

What you can automate

Reacts when…

  • a message arrives
  • a command is sent
  • a schedule fires

Agents can…

  • send messages and alerts
  • reply to commands
  • deliver files and reports

Teams use it for

  • approve agent actions from anywhere
  • get briefed on the move
  • command your workflows by chat

The Telegram workflow, ready to paste

Take the simplest useful version: a message arrives in Telegram. Instead of a rule firing blindly, an agent reads the item in full, works out whether it matters and what it means, and then decides whether to send messages and alerts. Over a week that turns approve agent actions from anywhere from something a person checks into something that reports to a person.

Three nodes carry that: something happens in Telegram, an agent reads it and forms a view, and it acts only where that view says it should. The definition below is the whole thing — paste it into a new workflow and it loads exactly as drawn.

Telegram workflow: watch telegram for activity → read it and decide → act in telegram TRIGGER receive-telegram-update Watch Telegram for activity Fires the moment it happens. ACTION agnt-agent Read it and decide Judged against your own rules. ACTION telegram-api Act in Telegram Runs GET_ME.
Nothing here calls out to us: AGNT talks to Telegram directly from your machine, and each run leaves a receipt you can read line by line afterwards.
Telegram — read, decide, actpaste into a new workflow
{
  "id": "e40ec9eb-4173-4ae5-ad13-52b4fa483fba",
  "name": "Telegram — read, decide, act",
  "nodes": [
    {
      "id": "1cdf9f02-cd5f-4ee8-aaa5-6b16f92d1838",
      "text": "Watch Telegram for activity",
      "x": 512,
      "y": 144,
      "isEditing": false,
      "type": "receive-telegram-update",
      "icon": "clock",
      "category": "trigger",
      "isSelected": false,
      "parameters": {},
      "description": "Listen for incoming Telegram bot messages, commands, channel posts, and inline keyboard callback button clicks using long polling.",
      "error": null,
      "isActive": false,
      "output": null,
      "outputs": {}
    },
    {
      "id": "808eb2cb-36b7-49cb-a9cd-79003570b2ea",
      "text": "Read it and decide",
      "x": 512,
      "y": 336,
      "isEditing": false,
      "type": "agnt-agent",
      "icon": "agnt",
      "category": "action",
      "isSelected": false,
      "parameters": {
        "instructions": "Read the Telegram item and decide whether it warrants action. Explain your reasoning."
      },
      "description": "Judges the Telegram item against criteria you wrote in plain language.",
      "error": null,
      "isActive": false,
      "output": null,
      "outputs": {}
    },
    {
      "id": "38ca23d7-a396-4965-a3af-0034ae9f7a2e",
      "text": "Act in Telegram",
      "x": 512,
      "y": 528,
      "isEditing": false,
      "type": "telegram-api",
      "icon": "connect",
      "category": "action",
      "isSelected": false,
      "parameters": {
        "action": "GET_ME"
      },
      "description": "Runs GET_ME on your behalf.",
      "error": null,
      "isActive": false,
      "output": null,
      "outputs": {}
    }
  ],
  "edges": [
    {
      "id": "f2861be5-8a9f-4f9a-ae34-e35fdc6d95e8",
      "start": {
        "id": "1cdf9f02-cd5f-4ee8-aaa5-6b16f92d1838",
        "type": "output"
      },
      "end": {
        "id": "808eb2cb-36b7-49cb-a9cd-79003570b2ea",
        "type": "input"
      },
      "startX": 800,
      "startY": 168,
      "endX": 512,
      "endY": 360
    },
    {
      "id": "84841b45-16ef-44f8-aa76-ed17e0d3b848",
      "start": {
        "id": "808eb2cb-36b7-49cb-a9cd-79003570b2ea",
        "type": "output"
      },
      "end": {
        "id": "38ca23d7-a396-4965-a3af-0034ae9f7a2e",
        "type": "input"
      },
      "startX": 800,
      "startY": 360,
      "endX": 512,
      "endY": 552
    }
  ],
  "zoomLevel": 1,
  "canvasOffsetX": 0,
  "canvasOffsetY": 0,
  "isTinyNodeMode": false
}

Run this against your own Telegram

Free to download, local by default — your Telegram credentials stay in a vault on your own disk.

The shortest path between agents and your phone

Telegram is the most practical channel for agent output that needs to reach you away from a desk: briefings, alerts and — most usefully — approval requests you can accept or reject from anywhere.

Command your workflows by chat

It works inbound too. A message or command can start a run, which makes a chat thread a workable control surface for the workflows you trigger most often.

Telegram node reference

Use Telegram Bot API from a single AGNT node. Choose an action to validate a bot, send messages/media, edit/delete messages, download files, or call any raw Bot API method.

What it can do: GET_ME SEND_MESSAGE SEND_MEDIA EDIT_MESSAGE DELETE_MESSAGE DOWNLOAD_FILE RAW_METHOD

Full Telegram API parameter reference
ParameterTypeWhat it does
actionrequired string Telegram operation to perform.
GET_ME · SEND_MESSAGE · SEND_MEDIA · EDIT_MESSAGE · DELETE_MESSAGE · DOWNLOAD_FILE · RAW_METHOD
botTokenrequired string Optional fallback Telegram bot token from @BotFather. If omitted, AGNT uses the connected Telegram provider token from Settings → Connections.
apiBaseUrlrequired string Optional Bot API base URL. Use https://api.telegram.org by default, or a local Bot API server URL.
includeRawrequired boolean Include the full raw Telegram API response when available.
chatId string Target chat ID, user ID, group/supergroup ID, or channel username like @mychannel.
only when action is SEND_MESSAGE or SEND_MEDIA or EDIT_MESSAGE or DELETE_MESSAGE
text string Message text for SEND_MESSAGE or new message text for EDIT_MESSAGE when editType=text. Telegram sendMessage supports up to 4096 characters after entity parsing.
only when action is SEND_MESSAGE or EDIT_MESSAGE
parseMode string Optional parse mode for message text or media captions.
none · HTML · MarkdownV2 · Markdown
only when action is SEND_MESSAGE or SEND_MEDIA or EDIT_MESSAGE
disableNotification boolean Send silently without notification sound.
only when action is SEND_MESSAGE or SEND_MEDIA
protectContent boolean Protect message/media content from forwarding/saving where supported.
only when action is SEND_MESSAGE or SEND_MEDIA
disableLinkPreview boolean Disable link previews for SEND_MESSAGE or EDIT_MESSAGE text edits.
only when action is SEND_MESSAGE or EDIT_MESSAGE
messageThreadId number Optional forum topic/thread ID for supergroups.
only when action is SEND_MESSAGE or SEND_MEDIA
replyToMessageId number Optional message ID to reply to.
only when action is SEND_MESSAGE or SEND_MEDIA

23 further parameters are available on the node itself.

Every parameter above is read from the shipped telegram-api node, so it cannot drift from the product.

Connect Telegram in two minutes

  1. Download AGNT Community Core — free, local-first, no account needed to run.
  2. Connect by pasting an API key into AGNT’s vault — stored encrypted on your machine, never uploaded.
  3. Drop the Telegram node into a workflow or hand it to an agent — the first run produces a receipt you can read line by line.

Telegram + AGNT — common questions

Can I approve agent actions from Telegram?

Yes — approval gates can surface as messages, and the run resumes once you respond.

Can a message trigger a workflow?

Yes, including commands with arguments.

How is it connected?

With a bot token stored encrypted in the local vault.

More communication integrations

Give AI a job. Get the proof.