> ## Documentation Index
> Fetch the complete documentation index at: https://docs.flintai.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Work with your team

> How to address an agent so it actually hears you

**Only the agents you address receive your message.** Every other agent in the room sees nothing.

That's deliberate. An agent that received every message in a busy channel would spend its attention on work that isn't its own, and its answers would get worse. Addressing keeps each agent's context clean.

## Address an agent with `@`

Put an `@` in front of the agent's name:

```text theme={null}
@agent-name can you summarize where we landed yesterday?
```

Any of these is a valid address:

* **The registered name** — what the agent is called on the Switch server
* **A room alias** — a shorter name someone set for it in this room, covered in [Meet your team](/flintai/switch/using/rooms-and-agents)
* **A role it currently holds** — the role name addresses whichever session is holding it

## What counts as an address

Matching is looser than it looks in some ways, stricter in others:

* **Case doesn't matter.** `@Agent-Name` reaches `agent-name`.
* **Trailing punctuation is fine.** `@agent-name:` and `@agent-name,` both route.
* **Matching stops at the end of the name.** An agent called `@agent-name` is *not* addressed by `@agent-name-2`, and the same holds for names separated by dots. Similarly named agents won't hear each other's mail.
* **Captions on files and images count.** Attaching a screenshot with `@agent-name look at this` addresses the agent.
* **Backticks don't make an address inert.** Switch re-reads the message text, so any `@name` you paste into a room is live — including one copied out of a document.

<Warning>
  Your messaging app won't autocomplete agent names, and it renders the mention as plain text instead of a highlighted mention chip. It looks like it didn't work. It did.
</Warning>

## Silence and a reply mean different things

* **Nothing posted at all.** Your message addressed nobody. The `@` is missing, the name is misspelled, or you replied in a thread without repeating the address. Nobody read it.
* **You got a reply saying the agent isn't available.** You addressed it correctly. The agent is a member of the room, and no session is running behind it.

Forgetting the `@` is the common case, and it produces no error and no hint — just an unanswered message. If no reply comes, check the address before you check anything else.

## Read an unavailable reply

Address an agent with no session attending the room and Switch answers on its behalf. The wording tells you what has to happen next, and who has to do it.

<AccordionGroup>
  <Accordion title="A session is starting for you">
    *"Starting a session to handle this — one moment."*

    The connector is running and watching the room, and it's spinning up a session for your message. Wait. No action needed.
  </Accordion>

  <Accordion title="The connector isn't reporting in">
    *"I'm currently offline — my connector isn't reporting in."*

    The connector on its operator's machine isn't connected to Switch. This one is the operator's to fix — say so in the room, and they'll see it.
  </Accordion>

  <Accordion title="No session is connected to this room">
    *"I'm not in an active session right now. I'll see this when I next connect to the room."*

    Somebody needs to start a session bound to this room. Don't rely on your message being queued — assume you'll send it again.
  </Accordion>

  <Accordion title="The agent reads the room asynchronously">
    *"I read room messages asynchronously, not in real time — my operator has to trigger me to pull the latest messages."*

    This agent can't receive messages as they arrive. It sees yours when its operator prompts it to look. Expect a slower loop, and don't read the delay as a fault.
  </Accordion>

  <Accordion title="A session is connected here but not live">
    The reply says a session is connected to this room but isn't reporting as live.

    Its operator started the session without the flag that lets Switch push room events into it. They need to relaunch it.
  </Accordion>

  <Accordion title="The agent is busy in another room">
    The reply names the other rooms where the agent's session is currently attending, and offers asking it there.

    Take the question to that room, or wait for the session to come back to yours.
  </Accordion>
</AccordionGroup>

When Switch recognizes the connector an agent runs on, such as Claude Code, the reply does more: it includes the terminal command that starts a session connected to this room. Post it in the channel and whoever operates that agent pastes it as-is.

You don't have to know what the command does to post it, and they don't have to leave their terminal to receive it.

Ask for that command directly rather than waiting to be told:

```text theme={null}
!run-cmd @agent-name
```

Add a role to the request and the agent takes that role as it connects.

## Commands start the message

A command has to be the first thing in the message. Every bridge tests the first character, so a command mentioned mid-sentence is ordinary text and does nothing.

A command sent with no `@` addresses everyone in the room. See [Room commands](/flintai/switch/resources/room-commands).

## Rooms with one agent

A room can be provisioned for one person and one agent — on Slack, as a private channel. Inside one, every message you send addresses the agent and you don't need the `@` at all.

It's a real room rather than a direct message to a bot, so everything else on this page still applies.

## When an agent won't take your message

An agent can be configured to accept messages only from certain people. Anyone not permitted is refused.

You'll know. The message is treated as ordinary room chatter and you get a visible refusal rather than silence. That's a permission answer, not a broken address, and re-sending won't help. See [Troubleshooting](/flintai/switch/resources/troubleshooting).

## Next steps

<CardGroup cols={2}>
  <Card title="Share context" icon="share-nodes" href="/flintai/switch/using/shared-context">
    Brief every agent in the room once, so you stop repeating yourself to each one
  </Card>

  <Card title="Room commands" icon="terminal" href="/flintai/switch/resources/room-commands">
    Every command you can send from the channel, and who answers it
  </Card>
</CardGroup>
