MemoDocumentation
EN

Telegram Integration

Talk to Memo from Telegram: connect a bot token once, message your bot from any device, and Memo replies through the same memory, intent, and mood pipeline as desktop chat. New in v3.9.0.

Unlike the WhatsApp bridge, this uses Telegram's official Bot API — a small, purpose-built long-polling client (internal/telegram), no bot framework dependency, no phone-number login.

Connecting a Bot

  1. Open @BotFather in Telegram and send /newbot
  2. Pick a name and username — BotFather hands you a token like 123456:ABC-DEF...
  3. In Memo: Settings → Telegram, paste the token
  4. Send your bot its first message — done

The token is encrypted at rest with the same machine key providers.json uses.

Owner Lock (Security Model)

A bot token is reachable by anyone who finds it, so Memo locks it down from the first message:

  • Whoever sends the bot its very first message becomes its permanent owner
  • Every message from anyone else is silently ignored — no reply, no "this bot is private" leak
  • A stranger who discovers the token simply gets nothing back

This is built in from day one, not bolted on later.

The Self-Chat Assistant

Once you're the owner, messaging the bot is messaging Memo:

  • Replies run through a dedicated background session — whatever chat is open in the desktop UI is never hijacked
  • Agent mode is always available in this conversation: agent tools and web search work without flipping any global toggle
  • A native "typing…" indicator shows while a reply generates, refreshed live via Telegram's own chat action API
  • Replies follow the same Identity.UILanguage setting as the rest of the app

Slash Commands

Command Effect
/new Start a fresh session
/agent on|off Toggle tool-use mode
/web on|off Toggle web search
/auto-perm on|off Auto-approve agent tool calls vs. ask yes/no in-chat
/status Model, memory, web, and agent state
/help Full command list

Routines From the Chat

Routines are fully usable without opening the Routines tab. Three agent tools back this:

Tool Description
create_routine Create a scheduled automation from plain language
list_routines List existing routines with their IDs
cancel_routine Cancel by ID (learned from list_routines, never guessed)

Example: "every day at 9am send me the latest AI news" creates a routine that runs the full agent pipeline — web search included — and delivers the result to this chat.

Hard security rule: delivery targets are never chosen by the model. A routine created from Telegram always delivers to you; another connected channel (e.g. WhatsApp self-chat) is only added if your own text explicitly asks for it and that channel is actually connected.

Deliberate Scope

A Telegram bot can only ever see messages sent directly to it — there is no equivalent of WhatsApp's full account visibility without a much heavier phone-number-login user API. This is a chat interface only, not a message-reading/sending agent tool: there's no telegram_send equivalent of whatsapp_send yet.