Telegram

Connect a Telegram bot to Gumm and interact with your assistant from any device via the Telegram app.


Overview

Once configured, you can send messages to Gumm through Telegram exactly as you would in the web dashboard. The full pipeline runs — LLM, memory, modules, tool calls — all from a Telegram conversation.


Prerequisites

  • A Telegram account
  • A bot created via @BotFather (free, takes 2 minutes)
  • Your Gumm instance running and accessible

Step 1 — Create a Telegram bot

  1. Open Telegram and start a conversation with @BotFather
  2. Send /newbot
  3. Choose a display name (e.g. “My Gumm”)
  4. Choose a username (must end in bot, e.g. my_gumm_bot)
  5. BotFather replies with a token — copy it. It looks like: 123456789:ABC-DEF1234ghIkl-zyx57W2v1u123ew11

Step 2 — Find your Telegram Chat ID

You need to whitelist your Telegram user ID so only you can send messages to Gumm.

  1. Start a conversation with @userinfobot on Telegram
  2. It replies with your numeric User ID (e.g. 12345678)
  3. Copy this number

Step 3 — Configure in Gumm

During the Setup Wizard

Step 5 of the wizard covers Telegram. Enter:

  • Bot token — from BotFather
  • Webhook URL (optional) — your public Gumm URL (e.g. https://gumm.example.com). Leave blank to use polling mode
  • Allowed Chat IDs — your numeric user ID (comma-separated if multiple)

After setup — from the Brain dashboard

  1. Go to Brain (/brain)
  2. Find the Telegram section
  3. Click Configure
  4. Enter the token, webhook URL, and allowed chat IDs
  5. Click Save

Polling vs Webhook mode

Gumm supports two modes for receiving Telegram messages:

ModeWhen to useHow it works
Polling (default)Private network (Tailscale, LAN); no public URLGumm continuously polls Telegram’s servers for new messages
WebhookServer reachable over the internet with HTTPSTelegram pushes messages to your Gumm URL

Polling is automatic when no Webhook URL is provided. It works well even on a private VPN network with no public domain.

Webhook requires your Gumm instance to be accessible at a public HTTPS URL. If you’re using Tailscale, you can use Tailscale certificate + Caddy for this.


Security — Allowed Chat IDs

Gumm only responds to messages from chat IDs in the allowlist. All other messages are silently ignored. This prevents strangers from interacting with your assistant if they discover your bot username.

Your bot username is technically public on Telegram. The chat ID whitelist is your primary security control.

Always set allowedChatIds to at least your own user ID.


Sending messages to Gumm via Telegram

Once configured, open your bot in the Telegram app and simply start chatting. Your messages go through the exact same pipeline as the web dashboard — including all active modules, memory, and the full system prompt.


Troubleshooting

ProblemSolution
Bot doesn’t respondCheck that your chat ID is in the allowlist. Check docker compose logs gumm
Bot responds to everyoneYour chat ID whitelist may be empty. Go to Brain → Telegram → Configure and add your ID
Webhook not workingEnsure the URL is HTTPS and publicly reachable. Try switching to polling mode
Messages arrive delayedThis is normal in polling mode during light traffic. Polling interval is a few seconds
Invalid token errorRegenerate the token via BotFather (/revoke) and update it in the Brain dashboard