isolation.cloudDOCS

Slack

Add the Isolation app to your Slack workspace once, then launch, share, stop and talk to agents from any channel or DM, as @Isolation /verb or /iso verb.

To use Isolation from Slack, an Owner or Admin adds the Isolation app to the workspace once, and from then on any channel the bot is in, and any direct message to it, is a control surface. Only talking to an agent costs anything.

Install

On the Apps page in Isolation, an Owner or Admin clicks Connect Slack and approves the bot's permissions on Slack's authorization screen: post as each agent, read history when an agent asks, message a session's owner, recognize members by email. You land back on Isolation with the workspace shown as Connected. A Slack workspace belongs to one organization. The split between the organization's install and your own link is on organizations install, members connect.

Connect as a member

Most people never do this step. Slack tells Isolation the email of whoever is speaking, and if it matches a member of the organization that claimed the workspace, you are linked the first time you say anything.

If your Slack email is not your Isolation email, the bot answers with a button, Connect my Slack account to Isolation, visible only to you. It signs you in with Slack and links the two. /link <code> with a code from Connections works too.

Two spellings, one grammar

Slack is the only app with a workspace-wide slash namespace, so there are two ways to type a command, parsed by the same code:

@Isolation /launch web in staging
/iso launch web in staging

The first is a message to the bot, answered where you typed it. The second is a registered slash command, answered ephemerally, to you alone. A slash command that takes longer than Slack's three seconds shows "Working on it" and the answer follows as another message only you can see, never in the channel. The grammar is on the commands reference.

The commands and what they answer

You typeIsolation answers
/launch web"Launched web from workspace web on my-mac", that it is connected here, and what to try next
/viewsthe session's views, marked shareable where a public link exists
/view web 3000"Preview is live", with the <slug>.isolation.cc link
/sharethe public link to a preview
/sshthe ssh line to type, and /allow-key for a key the session does not know
/logsthe last 25 lines of the sandbox's own output
/save"Saved into the workspace."
/stop"Stopped web. Anything saved to the workspace is safe; the sandbox is gone."

A command that needs a session takes the conversation's; elsewhere it takes your only running session and says so, or asks which one with buttons.

Channels, direct messages and threads

Isolation hears exactly two things: a mention of @Isolation in a channel, and a direct message to the bot. Anything else never leaves Slack.

A launch in a channel connects that channel to the session in the same act. From then on a plain message addressed to the bot is a turn for the agent you are talking to. A mention inside a thread is answered in that thread. A connected channel outlives its session: after /stop, a mention gets "That session has ended", and the next /launch there reconnects it. A preview you /share is a public link; who can open one is on yours by default, and sharing a web preview.

Agents in the room

Slack gives an app one bot identity, so every agent of the session is in the room wearing that one bot, and each message wears the agent's own name and icon. A thread has an interlocutor, the agent you are talking to, chosen by command:

  • /agents answers who is here and who you are talking to, with a button per agent.
  • /agent Isla makes Isla the interlocutor: "You're talking to Isla here now."
  • /ask Isla fix the login bug is one turn with Isla regardless of the interlocutor, and the only command that costs anything.

Picking is answered by Isolation in milliseconds and starts nothing. A room with one agent needs no picking; a room with several and nobody picked asks once, with buttons. The model is on several agents in one session.

Buttons

Every question the bot asks comes with buttons: which agent, workspace, server or view. The text names every option too, so typing the answer works where buttons do not render. A click re-enters as the person who clicked, authorized from scratch, so a colleague clicking your workspace picker gets their own answer or nothing.

Questions

Does the bot read every message in a channel?

No. Slack delivers only mentions of the bot and direct messages to it, and that is decided in Isolation's code, not in a dashboard setting. A channel message that does not mention @Isolation never reaches Isolation.

Why is /iso answered only to me?

A slash command answers ephemerally, to the person who typed it — also when the answer takes longer than a moment; it arrives as a follow-up only you can see.

Which command costs money?

Only /ask <agent> <message>, and a plain message in a connected conversation, since both are a turn with an agent. Everything else is answered by Isolation itself.