DocsIntegrations

Telegram

Telegram connects bot messages to assistants.

A Telegram integration connects a Telegram bot to Mobius. Assistants can answer bot messages through durable sessions and send Telegram replies.

Use Telegram for assistant messaging when the conversation should stay open.

Capability map

CapabilityValue
Provider IDtelegram
Auth kindapi_key
Connect flowInline bot token
ActionsYes
EventsYes
Webhook deliveryYes
Event samplesYes
Live statusYes

Connect Telegram

SurfaceSupport
AppOpen Build > Integrations, choose Telegram, and paste the bot token.
CLIThe mobius CLI does not connect Telegram integrations yet. Use the app or API.
APICall POST /v1/integrations/providers/telegram/connect with the Telegram credential body from the API reference.

Mobius configures the bot webhook for provider delivery. A live-status check shows the upstream webhook state when messages are not arriving.

Telegram bot connections are team-managed, so an organization administrator connects the token. The assistant that answers for the bot can also call Telegram actions. Use Who can use its actions on the connected bot when another assistant should call them.

Assistant messaging

The last step of connecting Telegram asks which assistant answers for the bot and who can message it. Anyone on Telegram can find a bot, so you list the people by Telegram user ID, the number a bot such as @userinfobot reports. Usernames do not work. In groups, listed people @mention the bot. To change it later, open the bot's account and click Change under Who answers. Each Telegram chat keeps its own ongoing conversation with the assistant, as Slack and Teams chats do.

An administrator must enable direct messages and include your numeric Telegram user ID in the bot's sender list. Being on that list lets you reach the bot; you must also link your Mobius account before using the assistant privately. Until you link, a 1:1 chat with the bot gets a notice about linking and no answer. One team assistant can serve several people, each with their own private conversation, memory, and account access.

  1. Open a private chat with the bot and send link.
  2. Open the link the bot sends. Sign in to Mobius in the correct organization, check the account shown, and approve the link.
  3. Copy the browser's complete confirm <secret> command into that same private chat. Keep the secret private; a forwarded message cannot confirm someone else's link.
  4. Wait for Your account is linked. Send your request again. Then send a new request.

Requests sent before linking do not become authorized later, and messages from an older link do not acquire a new person's account access.

/link and /start can also start linking. /confirm <secret> is an optional alias for the browser's plain confirm <secret> command.

Give the assistant your account access

Ask the assistant to use your own account, for example: “Summarize today's messages in my work inbox.” If it needs account access, follow its setup link and sign in as the same Mobius person in the same organization. Choose or connect your own account and give this assistant access to that exact account. The completion page confirms the selected account and assistant. Return to the private Telegram chat and send the request again.

This setup flow does not add tools to the assistant. If it lacks the required tool, an administrator must enable it first. A missing account of your own does not select a company account automatically. A company account you ask for by name still needs its own eligible assistant grant.

Open Account settings and find My chat links to revoke your own link. An organization administrator can inspect or revoke links under Chat links on the bot's account page at /app/build/integrations/accounts/:connectionId. Neither view grants access to someone else's private conversation or accounts.

After a link is revoked, send link and complete pairing again. Blocking the bot suspends its link when Telegram delivers the block event. Unblocking it does not restore the link; pair again before sending a new request. Mobius cannot observe a block before Telegram delivers that event. Disconnecting or replacing the bot also prevents old private work from continuing.

The private flow supports ordinary messages sent directly by a human to the bot. Edited messages, private button callbacks, anonymous chat senders, business or guest messages, channel direct messages, ephemeral messages and implicit scheduled messages cannot establish private authority. A forwarded ordinary message acts as the person forwarding it, never its original author. Forwarded or inline-produced linking commands are refused. Incoming file bytes are not downloaded by this flow; a media caption is text only.

Groups and channels

Groups and channels are shared chats. They never use a person's own accounts or memory, whoever is linked. See Privacy in Telegram.

For group chats with mention activation, Mobius recognizes an exact @bot_username, Telegram's structured mention and text_mention entities, and replies to a message the bot sent. Media captions count as message text, so a caption that mentions the bot can activate the assistant too. Start with mention activation before enabling all group messages; it keeps a busy chat from starting turns accidentally.

Privacy in Telegram

What you say to the assistant in a Telegram chat stays in that chat. Privacy in chat apps explains the whole model. What is specific to Telegram:

  • A linked 1:1 chat with the bot is yours. The assistant works for you there, as in a private conversation in Mobius: what it remembers or saves goes to your own memory and files, and you can read the chat in Mobius. Nobody else can open it, organization admins included.
  • Nobody opens a group in Mobius, organization admins included. Read it in Telegram.
  • No Telegram group is public. Anyone a group admits can read it, and Mobius can't tell who belongs to your organization. What the assistant remembers or saves in a group stays in that group, and nothing said in Telegram adds to what the assistant knows everywhere.
  • No company accounts in a group. Because Mobius can't tell who in a group is from outside your organization, the assistant uses no company accounts there, not even ones granted to Everyone on your team. It uses only the bot, to reply in the group. In a 1:1 chat with the bot, it uses company accounts as it does elsewhere.
  • A group still gets company knowledge. No company accounts does not mean no company data. In a group, the assistant can still read the company's files and tables it has access to, and its shared memory, and answer with them.
  • Everyone in a group sees the answers. Only the people you listed can ask the assistant, but its replies are visible to the whole group, so anything it reads from your files, tables, or shared memory reaches everyone there. Add the bot to a group only when everyone in it may see what the assistant knows.

Actions

telegram.send_message

Use telegram.send_message to post to the chat named by that exact call. As a tool, it sends without an automatic Mobius confirmation after the bot account and assistant grant pass their live checks. The grant's result audience does not validate the destination chat. An automatic reply to the conversation that activated the assistant uses the messaging binding instead of this action path.

Events

telegram.bot_membership.changed
telegram.callback_query.received
telegram.channel_post.received
telegram.message.edited
telegram.message.received

A Telegram message reaches the assistant through the bot's messaging setup, not through events. Where its telegram.message.received or telegram.channel_post.received event goes depends on the chat:

  • A group or channel reaches only routines whose condition names that chat (meta.conversation_id == "-1001234567890"). A run it starts belongs to that chat: it runs in the chat's own conversation and replies in that chat. Besides that reply, it can't change anything in another system. The run doesn't appear in the routine's runs or counts for anyone, its owner included.
  • A 1:1 chat with the bot reaches nothing outside the assistant's own conversation, and never starts a routine.

Edits (telegram.message.edited) and inline-button presses (telegram.callback_query.received) follow the same rule, by the chat they came from.

No Telegram event reaches an assistant waiting for an event or a session that subscribes to events. The integration events list shows its provider, type, time, and status, not its text.

telegram.bot_membership.changed records a person blocking or unblocking the bot in a 1:1 chat. Blocking ends that person's chat link; unblocking does not restore it. Like any 1:1 chat event, it reaches no routine or subscription.

Next