Zum Hauptinhalt springen
connic

Telegram

Von connic
InboundOutbound

Betreibe einen Telegram-Bot mit einem connic-Agenten. Nachrichten, Fotos und Sprachnachrichten starten einen Run, und der Agent antwortet im selben Chat.

Publisher
Von connic
Modi
Inbound, Outbound
Einrichtung
Dashboard oder connectors/*.yaml
Dokumentation
Telegram Docs

Jede Nachricht an den Bot startet einen Run

Füge das Token von @BotFather ein. connic prüft es, registriert den Webhook bei Telegram und startet jeden verknüpften Agenten bei jeder Nachricht, jeder bearbeiteten Nachricht und jedem Button-Klick.

Webhook inklusive
connic registriert den Webhook und prüft bei jeder Anfrage das Secret Token von Telegram. Einen Webhook eines anderen Dienstes ersetzt connic und schreibt dessen URL in die Logs der Verbindung.
Felder für den Agenten
text und chat_id stehen auf oberster Ebene, Absenderdetails in message und das vollständige Update in raw. Ein Button-Klick legt seine Callback-Daten in text.
Allowlist
Hinterlege Telegram-Nutzer-IDs an der Verbindung, dann werden Updates von allen anderen protokolliert und ignoriert.
telegram-payload.json
{
  "update_id": 731542210,
  "text": "Where is my order ord_8812?",
  "chat_id": 418273645,
  "message": {
    "message_id": 52,
    "text": "Where is my order ord_8812?",
    "date": 1792140000,
    "chat_id": 418273645,
    "chat_type": "private",
    "chat_title": null,
    "from_id": 418273645,
    "from_username": "jana_w",
    "from_first_name": "Jana",
    "from_last_name": null
  },
  "raw": {
    "update_id": 731542210,
    "message": { ... }
  }
}

Fotos, Sprachnachrichten und Dokumente inklusive

Fotos, Sprachnachrichten, Audio, Videos, Dokumente und Animationen lädt connic von Telegram herunter und übergibt sie mit der Nachricht an den Agenten.

Grenzen
Bis zu 10 Dateien pro Nachricht oder Album, mit 10 MiB pro Datei und 10 MiB insgesamt. Fotos kommen in der größten Auflösung an.
Ein Album, ein Run
connic sammelt ein Album, bis zwei Sekunden lang nichts Neues dazukommt, und startet dann einen Run pro verknüpftem Agenten. Alle Bildunterschriften stehen in text.
Übersprungene Dateien
Eine Datei über dem Limit wird übersprungen, der Grund steht in file_issues. Die Nachricht startet trotzdem einen Run, außer die Agent-Verknüpfung verlangt Dateien.
telegram-payload.json
{
  "text": "Receipts from Tuesday's trip",
  "chat_id": 418273645,
  "media_group_id": "13581274910",
  "files": [
    {
      "name": "photo-52.jpg",
      "mime_type": "image/jpeg",
      "data": "/9j/4AAQSkZJRgABAQ...",
      "size": 214380
    },
    {
      "name": "photo-53.jpg",
      "mime_type": "image/jpeg",
      "data": "/9j/4AAQSkZJRgABAQ...",
      "size": 198112
    }
  ],
  "messages": [ ... ],
  "raw_updates": [ ... ]
}

Halte den Bot neben deinen Agenten

Deklariere ihn in connectors/. Das Bot-Token kommt aus einer Variable und steht nie in der Datei, das Webhook-Secret erzeugt connic beim ersten Deployment. Setze die Variable pro Environment, dann bekommt jedes Environment seinen eigenen Bot.

connectors/support-bot.yaml
type: telegram
mode: inbound
name: Support bot
config:
  bot_token: ${TELEGRAM_BOT_TOKEN}
agents:
  - support-bot
create: connectors/support-bot.yaml (telegram)

Antworte im selben Chat

Eine ausgehende Telegram-Verbindung sendet den Text des Agenten über sendMessage. HTML-Tags formatieren ihn, sodass Fettschrift und Links im Chat erscheinen.

Zurück an den Absender
Lässt der Agent chat_id weg, geht die Antwort an die Default Chat ID der Verbindung oder, ohne sie, zurück in den Chat, aus dem die Nachricht kam.
Benachrichtigungen an eine Gruppe
Setze eine Default Chat ID, dann posten auch Runs aus Zeitplänen oder anderen Verbindungen dorthin.
Ein Verlauf pro Chat
Lege die Session des Agenten auf input.chat_id, dann behält jeder Chat seinen eigenen Verlauf.
agents/support-bot.yaml
version: "1.0"
name: support-bot
description: Answers customer questions in Telegram.
model: connic/gpt-5.6-terra
system_prompt: |
  Answer in two or three sentences.
  Format with <b> and <a> tags only.
session:
  key: input.chat_id
output.json
{
  "text": "Order <b>ord_8812</b> left our warehouse today."
}

Wo Telegram passt

Wähle ein Szenario und sieh, was der Bot empfängt, welcher Agent läuft und was zurückkommt.

Kunden schreiben deinem Bot, und der Agent antwortet im selben Chat.

Kunde in Telegram
Inbound Telegram
support-bot
Antwort im Chat
telegram-payload.json
{
  "text": "Can I still change my delivery address?",
  "chat_id": 418273645,
  "message": {
    "message_id": 77,
    "chat_type": "private",
    "from_id": 418273645,
    "from_first_name": "Sam"
  }
}
output.json
{
  "text": "Yes, until the order ships. Send me the new address."
}

Dein Team schickt Fotos von Belegen, und der Agent bestätigt die erfassten Beträge.

Außendienst
Inbound Telegram
expense-logger
Bestätigung im Chat
telegram-payload.json
{
  "text": "Taxi to the client",
  "chat_id": 529104733,
  "files": [
    {
      "name": "photo.jpg",
      "mime_type": "image/jpeg",
      "data": "/9j/4AAQSkZJRgABAQ...",
      "size": 214380
    }
  ]
}
output.json
{
  "text": "Logged <b>EUR 38.40</b> for the taxi on Oct 13."
}

Schick dem Bot eine Sprachnachricht und bekomm eine schriftliche Zusammenfassung mit den To-dos zurück.

Sprachnachricht
Inbound Telegram
voice-notes
Zusammenfassung im Chat
telegram-payload.json
{
  "text": "",
  "chat_id": 529104733,
  "files": [
    {
      "name": "voice.ogg",
      "mime_type": "audio/ogg",
      "data": "T2dnUwACAAAAAAAAAAD...",
      "size": 61248
    }
  ]
}
output.json
{
  "text": "<b>To-do</b>: send the Example GmbH quote by Friday."
}

Dein Monitoring sendet jeden Alarm, und der Agent schickt eine kurze Zusammenfassung an die Bereitschaftsgruppe.

Monitoring
Inbound Webhook
alert-summary
Nachricht an die Bereitschaftsgruppe
alert.json
{
  "alert": "checkout-api error rate above 5%",
  "severity": "critical",
  "started_at": "2026-10-13T02:14:00Z",
  "dashboard": "https://monitoring.example.com/d/checkout"
}
output.json
{
  "text": "<b>checkout-api</b> errors at 7% since 02:14 UTC."
}

FAQ zu Telegram

Erstelle den Bot mit @BotFather, füge sein Token in eine eingehende Telegram-Verbindung ein und verknüpfe einen Agenten. connic prüft das Token und registriert den Webhook bei Telegram. Einen Bot-Server oder eine Polling-Schleife brauchst du nicht. Einen funktionierenden Startpunkt bietet das Template Persönlicher Telegram-Assistent.

Ja. Verknüpfe denselben Agenten zusätzlich mit einer ausgehenden Telegram-Verbindung. Hat sie keine Default Chat ID, geht die Antwort in den Chat zurück, aus dem die Nachricht kam. Der Agent kann chat_id auch selbst setzen.

Ja. Hinterlege erlaubte Telegram-Nutzer-IDs an der eingehenden Verbindung, dann werden Updates von allen anderen ignoriert. Eine ID findest du, indem du dem Bot schreibst und message.from_id in der Run-Payload nachschaust.

Nein. Ein Bot kann nur eine aktive eingehende Verbindung bedienen, über alle Environments hinweg. Erstelle für Staging einen zweiten Bot und lies jedes Token aus einer Variable seines Environments.