Comms
Comms
Comms connects MaxSuite to Telegram. You add a bot, link your own Telegram account to your MaxSuite account, and from then on you can message the bot and an agent answers in that chat as you, with your permissions and nobody else's. The same bots carry personal notifications (module comms).
In the sidebar under Communications → Comms. Needs the Agents module. Without an agent, linking and notifications still work, but nobody answers your messages.
Comms
The screen has five tabs.
- Linked accounts: every Telegram account linked to a person here, with the account name, the channel, the person it acts as ("you" for your own) and when it was last used. The Get link code button is here.
- Bots: shown only to people who may configure the bot. One card per bot, with its Telegram username, whether it is the default, whether a webhook is registered and where Telegram delivers, how many updates Telegram is holding, and the last error Telegram reported. A bot with no webhook can send but never receives, and the card says so.
- Messages: what people sent to the bots, most recent first, with the outcome, the message, any detail and who sent it. Only inbound events are recorded: a message, a button press, a link revoked. Open a row to read the whole message.
- Reply filter: how many internal ids and tool names were taken out of each agent's Telegram replies over the last 14 days, by kind and week. A rising count means an agent's instructions make it say them. Only counts are shown, never what was removed.
- Chat history: what is kept of your own Telegram conversations, so you can search them later. See below.
What you can do
Add a bot
- Create a bot with Telegram's BotFather and copy its token.
- Open Comms → Bots and choose Add a bot.
- Give it a name, paste the Bot token, and enter the Public API base URL: where this deployment answers from the internet, ending in
/api, for examplehttps://<your-deployment>/api. - Tick Make this the default bot if it should carry personal notifications and linking.
- Save. The token is encrypted before it is stored and is never shown again.
Each bot has its own token and webhook. The default bot carries personal notifications, linking and conversation. A notification destination or a forwarding route can name another bot.
Link your Telegram account
- Open Comms → Linked accounts and choose Get link code.
- Send the code to the default bot in Telegram. The code is 10 characters, works once and expires shortly. Wrong guesses are limited.
- Your account appears in the list. Messages you send to the bot now act as you.
Typing the code proves you hold the Telegram account, and getting it proves you were signed in here. Neither alone links anything.
Talk to an agent in the chat
Send the bot a message, a picture, a voice note or a file, and an agent answers in the chat. The conversation is kept per chat, so a thread on your phone is the same thread in the browser. Pictures you send, such as a receipt or a statement, are read before the agent is asked about them, and several pictures sent together are answered once. A screenshot sent with "new task: …" goes onto the task it makes. When an agent asks for approval, the request arrives as a message with buttons, and a batch of related requests is grouped into one message with Approve all and Review one by one. Other modules add their own chat commands; Forwarding, for example, adds /check, /status, /accounts, /last and /today.
When Max makes a password or other credential for you, it is sent to your private chat with the bot and taken down again after a short time.
Configure a bot
- On the bot's card choose Configure.
- Change its Name, its Bot username, the Panel address that chat buttons open (left empty, it is the API address without
/api), or the Quick buttons: up to eight lines, each sent to the agent as a message when tapped. - Leave Bot token empty to keep the stored one. Type a token only to replace it.
- Untick Switched on to stop everything sent or received through the bot, including by rooms that name it.
Fix a bot that stopped receiving
- On the bot's card, read the webhook line and Telegram's last error.
- Choose Register webhook, enter the public API base URL and choose Point Telegram here. Only the address changes. The token, the linked accounts and anything Telegram was holding stay as they are, and the held updates are delivered once the new address answers.
Unlink an account or remove a bot
- Unlink on your own row removes your link. Someone who may configure the bot can unlink anybody, for a lost phone or someone who has left.
- Make default moves the default to another bot. There is exactly one default.
- Delete removes a bot. It is refused while a notification destination still delivers through it. Deleting the default hands the job to the oldest bot left.
Keep and search your chat history
What you and your agent say in Telegram can be kept so you can search it later. Only you can search your own history.
- Open Comms → Chat history and choose Start keeping my history.
- Your chats appear once you have talked to the bot, with how many messages and between which dates.
- Import brings in an older chat: choose Which bot it was with and upload The file, the
result.jsonthat Telegram Desktop exports. - Stop stops keeping new messages. What is kept stays until you forget it.
To remove what is kept:
- Forget chat removes your messages in one chat and the agent's replies to them.
- Forget before removes everything of yours older than the start of a day, in your own time zone, in every chat.
- Forget everything removes all of your kept history.
Other people's messages in a group stay. An administrator sets How long chat history is kept for everybody, from 1 month to 50 years, or Without limit. Older messages are removed by a daily sweep. If the screen says "Chat history is not on for your role", ask an administrator for the permission below.
Who can do what
| Permission | Label | Lets you |
|---|---|---|
comms:read | See chat links | Open Comms, see linked accounts, messages and the reply filter counts, and read bot status. |
comms:link | Link your own chat account | Get a link code and unlink your own account. |
comms:manage | Configure the bot | See the Bots tab; add, configure, re-point and delete bots; change the default; unlink anybody; send a message to a person on chat; set how long chat history is kept. |
comms:history | Search and manage your own chat history | Turn your chat history on or off, import a chat, search it, and forget it. |
See People, roles and permissions.
What happens on its own
| Job | When | What it does |
|---|---|---|
surface-health | Every hour at 37 minutes past, UTC | Checks every bot with a stored token and records any that nobody can reach: no webhook registered, a webhook pointing at another deployment, or Telegram holding updates because delivery keeps failing. A healthy bot writes nothing and closes any finding it had. |
clear-secrets | Every minute | Takes credential messages down from people's private chats once their time is up. |
archive-embed | Every 5 minutes | Prepares newly kept chat history for search by meaning, where an AI model is connected. |
archive-sweep | Every day at 03:40 UTC | Deletes chat history older than the time it is kept for. |
archive-people | Every hour at 20 minutes past | Forgets the chat history of anybody removed from the organisation. |
archive-backfill | Every minute | Brings in, a small step at a time, chat that Max already holds, for people who turned history on. |
Needs
The Agents module. Without it, linking and notifications work but nobody answers.
What agents can do
An agent can see who is reachable on chat, read recent chat activity and bot health, find unreachable bots and fix their webhooks, message a person, search the asker's own chat history, and tidy up links and bots. By default reads go through, and anything that sends a message or changes or removes something waits for a person to approve, unless an approval rule says otherwise. See Agents and approvals.
Read only: comms.links, comms.recent, comms.status, comms.bots, comms.unreachable, comms.channels, comms.filterHits
Chat history: comms.searchHistory, comms.historyContext, comms.historyStatus (read only); comms.setHistory, comms.forget (change)
Change, needs approval: comms.send, comms.register, comms.makeDefault, comms.unbindChat, comms.unlink, comms.revokeLink, comms.deleteBot, comms.addBot, comms.updateBot, comms.setMyVoice
comms.sendmessages a person on chat. It is for telling someone something, not for answering the person the agent is already talking to.comms.botsreports what Telegram says about each bot and never shows the token or the webhook secret.comms.registerpoints a bot's webhook at this deployment and needs the public https API address.comms.unbindChatstops the bot using one chat until somebody messages from it again. The people linked there stay linked.comms.channelslists every way this deployment can reach a person, such as email, the browser and Telegram.comms.searchHistorysearches what was said in your own chats and the groups you spoke in.comms.historyContextreads the messages around one hit.comms.forgetremoves only the asker's own messages and the agent's replies to them.comms.addBotadds a bot whose token is already saved under Named secrets. It is given the secret's name, never the token.comms.setMyVoicesets up to three languages your voice messages are in.
Over MCP the same tools are named comms__send, comms__links and so on. See API keys and MCP access.