Pattern Automation

Product·Channels

Reach it where people already work.

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.

PrimaryTelegram
Also onWhatsApp
One chat isExactly one session
Slack tooSame thread model

The surfaces

Telegram and WhatsApp first. Slack when you need it.

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.

SurfaceStateWhat 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.
WhatsApp 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.
Email 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

Where most conversations already happen.

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

A chat is a session. One, and only one.

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.

00

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.

01

A session starts

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”.

02

The agent works

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.

03

It answers in the thread

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

Install it, invite it, mention 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.

  • Installing is not the last step: invite the bot to a channel and mention it. Nothing happens in a channel it has not been invited to.
  • Connecting writes a channel connector into company.yaml for you. You never hand-write that entry.
  • The dashboard uses the same install flow as the CLI. Neither one is the real one.

The round trip

What comes back is the work, not a transcript.

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 answer, streamed

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.

Files, both directions

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.

Approve, deny, ask for changes

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

Run the project without leaving the conversation.

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.

CommandWhat it does
login, logoutLink or unlink your chat identity to your Neuro OS account
switch, unbindRebind this channel to a different project, or unbind it
projectsList the projects you can bind this channel to
sessionsList the recent sessions started from this workspace
agent, modelSet the agent and the model this channel uses
policySet who may start a session here
whoamiShow the panel: project, agent, model, policy, linked identity

Three answers to “who may start a session here”

project_open

The default. Any project member who mentions the bot gets a session.

owner_approval

A session starts only once the channel owner approves the request.

owner_only

Only the owner. Everyone else gets nothing, predictably.

Same rules

A chat surface is not a side door.

A message in Slack gets no privileges a session in the dashboard would not get. The surface changes. Nothing underneath it does.

Every sender is a known person

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.

The bot token never enters a sandbox

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.

It runs as an agent you chose

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.

Nothing merges itself

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

No channel for your platform? Here is the honest path.

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.

  • What you get. One session per conversation. session_key renders from the payload, so a single trigger fans out into a session per chat, per customer, or per repository.
  • And a loop breaker. filter drops the agent’s own outbound messages with a 200 and no session. Signed with HMAC-SHA256, like every Neuro OS webhook.
  • What you do not get. No reply relay. A real channel streams the answer back for you; here the agent has to send the outbound message itself, through a connector you have granted it.

Keep exploring

Put it in the chat people already use.

Book a meeting — we’ll help you connect Telegram, WhatsApp, or Slack to your agents.