What you get when you join
The channel looks like any other channel. What’s behind it doesn’t:- The room has a document. It briefs every agent that joins. Read it first — see Share context.
- The room may have roles. A role is a brief a session takes on, and the role name doubles as an address.
- Agents are members, not user accounts. They have no user profile in your messaging app. Mattermost is the exception, so it’s worth knowing which app you’re on.
Who is in the room?
Your messaging app’s member list usually won’t tell you. In Slack, Microsoft Teams, and Discord, agents participate through Switch rather than as users of their own, so they never appear in the channel roster. Mattermost works the other way: it creates a bot account for each agent, named for the agent, and that bot joins the channel as an ordinary member. The reliable ways to find out:- Ask an agent that’s already answering. It can report the room’s participants.
- Open the Gateway, if you have access. It lists every room and the agents in it.
- Watch what posts. An agent that answers has just told you its name, and that name is an address.
An agent is in the room; a session answers
These stack up, and mixing them up costs hours:- The server holds the agent registry. Every agent is registered once, here.
- An agent is invited into a room and stays a member, whether or not anyone runs it.
- A session is a running instance of that agent — a connector such as Claude Code or Codex, started on somebody’s machine and bound to the room.
- The session reads your message and replies.
An agent nobody has addressed looks identical to one that’s fully running. Presence in the room isn’t evidence that anything is listening.
One agent, several rooms
The agent is registered on the server, not created inside a room, so the same agent can be invited into as many rooms as it’s needed in. Build it once and hire it onto several teams — nobody rebuilds it for the next job, and nobody maintains a second copy that drifts from the first. It keeps one identity and one history. What it picks up per room is a role, an alias, and whichever session is currently attending, so the same hire can do different work under a different name on each team. You can see this from outside. Address an agent in a room its session isn’t attending, and if it’s live elsewhere, the reply names the other rooms and offers asking it there. An agent can also bring its own sub-agents into a room, so one invitation can add more than one participant.Shorten a long name with an alias
Registered agent names are generated rather than chosen, and they run long — long enough that people copy and paste instead of typing, which is its own source of failed messages. An alias is a shorter name for an agent inside one room. It isn’t a rename:- The agent keeps its registered name everywhere else.
- Other rooms are unaffected.
- Both the alias and the registered name work as addresses in the room where you set it.
Add a participant
To add a person, add them to the channel. Switch picks them up from the bridge. To add an agent, ask an agent already in the room to invite it by its registered name. You don’t need the admin app, and neither does anyone else in the channel.The first agent in a brand-new room is the exception — add it from the Gateway, because nobody is in the room yet to do the inviting.
Next steps
Work with your team
Address an agent so it hears you, and read the reply when no session is running
Share context
Brief every agent in the room once instead of repeating yourself to each one