Someone mentions the bot
In a channel it has been invited to, or in a direct message. A bare mention with no task gets a reminder to add one, rather than a session nobody asked for.
Product·Channels
Connect Telegram to a project and a message in the chat starts a session. WhatsApp works the same way for teams that live on mobile. Slack is supported too — same agent, same rules, different surface. Nobody has to open a new tool to ask for something.
The surfaces
Most teams we work with reach agents in Telegram — fast, mobile, already open all day. WhatsApp is the same pattern for customer-facing and field teams. Slack stays a first-class native channel for companies that live there. Here is how each surface maps to a project.
| Surface | State | What that means |
|---|---|---|
| Telegram | Primary | Our default surface for operators and internal teams. Bot in a group or DM — mention it, get a session, answer in the same chat. How Pattern Automation runs day to day. |
| Messaging | Customer-facing and mobile workflows on the number your team already uses. Same session model: one conversation, one agent run, reply where the message came from. | |
| Slack | Live | Native Neuro OS channel — on by default where you deploy it. Connect from the dashboard or CLI, invite the bot, mention it in a thread. Everything in the thread→session section below applies here. |
| Microsoft Teams | Operator switch | Code complete and off by default. Your deployment turns it on and supplies Microsoft app credentials; a tenant admin then consents once. Same sessions, same identity rules as Slack. |
| Experimental | A project inbox, so a message to an address starts a session and a reply continues it. Opt in per project. Real, and not finished. | |
| Voice | Experimental | A realtime call the agent speaks in. Same per-project opt-in. It spawns a room and shares the link — it does not dial into a meeting you already started. |
Telegram & WhatsApp
Telegram is our primary channel — ops, engineering, leadership, all in chats that stay open on mobile and desktop. WhatsApp is the same agent stack for clients, support, and field teams who never installed Slack. Both route into Neuro OS with the same governance, budgets, and audit trail as any other surface.
Thread to session
The first message in a Telegram chat, WhatsApp thread, or Slack thread creates a session. Every later message in that conversation reaches the same session — after the sandbox stops overnight, after the person who started it goes home. That mapping is a unique index, not a convention two services agree to honour.
In a channel it has been invited to, or in a direct message. A bare mention with no task gets a reminder to add one, rather than a session nobody asked for.
Neuro OS cuts a branch and boots its own isolated machine, exactly as it would for a session started from the dashboard. You get a reaction on your own message, not a bot post saying “on it”.
It has a shell, a filesystem, the network, and whichever connectors and secrets its grant allows. The thread is where you watch. The machine is where the work happens.
The reply streams into the message it started, in the thread the question was asked in. Two people can watch. Neither had to open anything.
Two events for the same brand-new thread arriving at once do not produce two sessions: the second joins the first and is delivered as a follow-up. One Slack workspace bound to more than one project shows a project picker on the first mention instead of guessing.
Connect it
On a host with the shared Slack app configured, neuro channels connect prints an install link and you are three clicks from done. On a deployment with no shared app, the same command falls back to manual mode by itself and hands you an app manifest to paste.
company.yaml for you. You never hand-write that entry.The round trip
A channel is only worth connecting if the answer arrives where the question was asked. Files go both directions, and the decisions an agent needs from you are buttons in the thread rather than a link to somewhere else.
The reply lands in the thread as one message that fills in, not a wall of updates. The agent finalises that message rather than posting a second one underneath it.
A file dropped in the thread is pulled into the agent’s machine. A file the agent produces is uploaded back into the same thread. The deck lands where you asked for the deck.
When the agent needs a decision, it posts a card with buttons instead of blocking a turn forever. Your click is the verdict, and the session resumes from it in the same thread.
One honest limit: the card carries the decision and a link back into Neuro OS. Reading the actual diff of a change request happens in the web app, where a diff belongs — Slack is not a code review tool and we are not going to pretend it is.
From the thread
Type these as /neuro in Slack, or as plain text in a direct message. Most of what you would otherwise open the dashboard for is one line in the channel.
| Command | What it does |
|---|---|
login, logout | Link or unlink your chat identity to your Neuro OS account |
switch, unbind | Rebind this channel to a different project, or unbind it |
projects | List the projects you can bind this channel to |
sessions | List the recent sessions started from this workspace |
agent, model | Set the agent and the model this channel uses |
policy | Set who may start a session here |
whoami | Show the panel: project, agent, model, policy, linked identity |
The default. Any project member who mentions the bot gets a session.
A session starts only once the channel owner approves the request.
Only the owner. Everyone else gets nothing, predictably.
Same rules
A message in Slack gets no privileges a session in the dashboard would not get. The surface changes. Nothing underneath it does.
Neuro OS links a chat sender to an account before the agent runs for them. Run /neuro login and sign in. An unlinked sender gets a prompt to link, not a session — so a stranger in a shared channel cannot spend your compute.
A connected channel’s token is a connector-scoped secret. It does not appear on the project’s Secrets page, and Neuro OS never injects it into a machine. It is resolved server-side at the moment the agent sends a message.
A channel names its agent and model, and inherits that agent’s deny-by-default reach into connectors, secrets and skills. Change either with one line in the thread.
The agent answers in the thread. Work it means to keep is committed on the session’s own branch and reaches main only through a change request a person reviews.
Everything else
There is no build-your-own-channel API — the platform list is a closed enum and we will not dress a gap up as a plug-in system. What ships is a signed webhook trigger that starts a session per conversation. It solves the inbound half well, and we will tell you exactly what it does not do.
session_key renders from the payload, so a single trigger fans out into a session per chat, per customer, or per repository.filter drops the agent’s own outbound messages with a 200 and no session. Signed with HMAC-SHA256, like every Neuro OS webhook.Product · Governance
Allow, ask, deny — and a human yes before anything risky runs.
Learn more →Product · Skills
The workforce that compounds: markdown, grants, and human-merged files.
Learn more →Product · Tasks
Declare intent. Agents work. You verify the output.
Learn more →Book a meeting — we’ll help you connect Telegram, WhatsApp, or Slack to your agents.