Skip to main content
Replicas integrates with Slack as a bot you can mention in channels or message directly. Either way, it spawns a workspace to complete the work and replies in the thread.

Setup

  1. Go to Organization → Integrations
  2. Find Slack, click Install, and authorize for your workspace
  3. Invite @Replicas to the channels where you want to use it (or open a DM with the bot)
Once connected, Slack shows a Configure button that opens a popup to reconnect, disconnect, or adjust the agent defaults used for Slack-triggered work. On the first connection, Replicas creates a public #talk-to-replicas channel, adds the person who authorized the connection, and saves it as your organization’s default Replicas channel. If that public channel already exists, Replicas joins and reuses it. If its name is reserved by an archived or inaccessible channel, Replicas tries numbered names such as #talk-to-replicas-2. Replicas posts a short introduction after setup. Reconnecting does not repeat a delivered introduction. This channel can also receive changelog updates sent by the Replicas team. Reconnecting verifies the saved channel, restores the bot’s membership if needed, and replaces missing or archived defaults. If channel setup fails, reconnect to retry. The Slack app requires the channels:manage and channels:join bot scopes for channel setup. Existing connections can reconnect to grant these permissions and set up their default channel. If you connected Slack before DM, task-fork, or custom emoji support shipped, re-authorize from the same Integrations page so the new im:*, mpim:*, commands, and emoji:read scopes are granted. Until then DMs, the Fork task shortcut, or custom emoji discovery may not be available. Ensure you have at least one repository configured before mentioning Replicas.

Personal Account Connection

Connect your Slack account from Personal → Connections to link your Slack user ID to your Replicas account. Replicas then uses your personal defaults and credentials even when your Slack email differs from your Replicas email. Email matching remains a fallback for members who have not connected an account. An administrator must add Slack’s openid, email, and profile User Token Scopes to the Replicas Slack app once before members can authorize personal connections.

How It Works

When you mention @Replicas in a channel:
  1. Replicas adds an 👀 reaction to acknowledge your message
  2. If multiple environments are configured, Replicas resolves one for you and only posts a dropdown when it cannot, see Environment Selection
  3. A workspace is created for the task in that environment
  4. The agent sends a brief acknowledgment, then works on your request
  5. When done, the agent replies in the thread with results (and a PR link if code changes were made), with a View PR button on the reply that first shares the pull request
If the agent cannot complete a turn, Replicas replies in the originating thread with the error. Agents write like a teammate posting a quick update: short, natural, and easy to read. They use everyday words and simple sentences instead of jargon, corporate language, or overly formal phrasing. Replies start with what happened or what works now, then include only the context, limits, or next step you need. Long logs and file-by-file recaps stay in the pull request or workspace unless you ask for them. When a reaction is the best response, Mothership checks the workspace’s custom emoji first and uses a fitting one when available. When a reply addresses a specific earlier message or would otherwise be ambiguous, agents can quote the minimum relevant line. Routine replies do not repeat the latest message in a blockquote. Initial acknowledgements and composer-posted completion summaries end with a compact linked [↗︎] that opens the Replicas workspace without expanding a link preview.

Direct Messages

You can also DM the bot 1:1 or in a group DM. Every message you send to Replicas in a DM is treated as a task, so you do not need to type @Replicas. The same flow applies as in channels: Replicas reacts, picks an environment, creates a workspace, and replies in a thread on your message. Replies inside that thread route to the same workspace, see Thread Conversations. Environment selection works identically, see Environment Selection. If your organization has Mothership, your DMs go to your own Mothership instead, which answers or starts a workspace when the task needs one. This applies when your Slack account is connected or its email matches a Replicas user. Replies in a thread where your Mothership started a workspace still go to your Mothership, which relays them to the workspace and interrupts its current task unless you ask it to wait. A thread whose workspace started another way stays with that workspace, whoever replies.

Mothership

In organizations with Mothership enabled, each member has their own Mothership: a long-lived triage workspace that runs on their credentials and preferences.
  • In a monitored channel, every message goes to its author’s Mothership, which answers, starts a workspace for the thread, or ignores it. It acts on messages that don’t mention Replicas only when they name Replicas or ask for a concrete task.
  • Later replies in that thread, from anyone, go to the same Mothership, which relays them to the workspace or ignores them.
  • In other channels, only @Replicas mentions reach a Mothership.
Untagged messages are screened first, so most human-to-human chatter doesn’t start a Mothership turn on your credentials. @Replicas mentions, DMs, and messages that name Replicas or attach images always go through, as does any message the screen can’t check. In a monitored channel, @Replicas mentions from bots and from people without a Replicas account, such as Slack Connect guests, go to the organization’s shared Mothership instead. Once Replicas has started a workspace for one of these people, their other messages there go to it too. A bot’s messages reach it only when they mention Replicas or reply in a thread it owns. The shared Mothership has no owner, runs on organization credentials, sees only organization environments, and owns the threads it starts. Messages Replicas posts itself never trigger a Mothership. Mentions in channels that are not monitored start a workspace directly.

Mothership presets

If Mothership is enabled for your organization, admins can manage channel instructions in Mothership settings. Customer, Triage, and Internal are starter presets: rename, edit, or delete them just like presets you create. Click a preset’s icon to choose a replacement, then Save changes. Assign a preset to each monitored Slack channel or Linear team, then optionally add source-specific instructions. Editing a preset updates every source using it. Deleting one removes its assignments while keeping source-specific instructions. Use Triage for recurring bug reports and requests. Any organization member can also ask Mothership in Slack to change these, for example “@Replicas in #triage, answer simple reports inline”. It edits only already monitored sources and confirms the change in the thread. Existing Vendor policies and channel assignments are preserved as editable organization presets. Switching those channels to Triage requires an admin to change their assignment.

Environment Selection

Workspaces are created inside an environment, and the env’s binding determines which repository or repository set gets cloned. If your organization has multiple environments, Replicas works through the following in order and asks you to pick only when none of them can decide:
  1. An inline [env:name] tag in your message, matched against environment names (e.g., @Replicas [env:backend] add a login page).
  2. Your personal default, then your organization’s default.
  3. Automatic routing, which infers the environment from the message context (repo names, file paths, channel name) when confident.
  4. A dropdown in the thread, so you can select one yourself.
You can set a personal default under Personal → Preferences when your Slack account is connected or its email matches a Replicas user. Org admins can also set a default environment under Organization → Settings → Preferences. A matching user’s personal default takes precedence over the organization default. Slack-triggered workspaces use the sender’s agent defaults when their Slack account is connected or its email matches a Replicas user. Admins can also open Slack Configure under Integrations to set Slack-specific defaults before falling back to the organization defaults.

Thread Conversations

Each Slack thread is linked to one workspace. Follow-up mentions in the same thread route to the same workspace, so the agent remembers previous context. On follow-ups, only new messages are sent to the agent rather than the full thread history, keeping the context focused. Mothership can also open a new top-level Slack thread for a separate task and spawn its workspace immediately.

Mothership tools

Mothership acts through the Replicas MCP server, configured automatically when its workspace is created. Besides the general tools, the Mothership workspace alone gets: Its create_automation also requires the Slack message that confirmed the automation. Mothership’s list_environments also includes its owner’s personal environments. When a request needs a repository, credential, MCP server, or plugin that Mothership lacks, it starts a workspace in the environment that has it instead of declining. For monitored channels, Mothership checks the current Slack thread before acting on a reply, so it can tell whether the message is meant for Replicas or is part of a conversation between people. Mothership also notices repeated, similar requests across its long-lived conversation history. When a task is a good fit for a schedule or event trigger, it can suggest turning it into an automation and create the automation directly after an organization member with automation write access confirms the details. Tell Replicas to mute itself in a thread when you want Mothership to stop responding or acting on untagged messages there. An explicit @Replicas mention can still get a response without ending the mute for later untagged messages. Mothership reads the ordered thread on each reply, and fails closed for untagged messages if that history is unavailable, so the mute remains in effect without exact command wording until someone explicitly unmutes it. Routine follow-ups resume work without a separate acknowledgement. New tasks still receive one concise initial acknowledgement that identifies the concrete work starting without restating the full request. When several messages belong to the same ongoing task, Replicas treats them as one update instead of posting a status for each one. Follow-ups still receive text when they ask a direct question or need a meaningful status, outcome, or delivery-failure update. For new tasks, Replicas adds an eyes acknowledgement and starts Slack’s working indicator before slower triage or workspace startup. Slack’s working indicator remains visible while a queued or relayed follow-up is being processed. Follow-ups wake sleeping workspaces and keep using the linked workspace’s coding agent and model. An archived workspace is restored when it receives a follow-up. If a newer workspace attaches to that thread, future replies go to the newer workspace. The selection changes only when you change it in the workspace. You can attach or switch a thread’s workspace with the CLI Slack thread commands. If the workspace is deleted and you mention @Replicas again in that thread, a new workspace is automatically created.

Monitor a Channel

Monitoring a channel sends every message there to its author’s Mothership, or the organization’s for bots and non-members. Mothership handles requests to monitor a channel directly without opening a dedicated workspace. An organization admin selects Configure monitoring on its proposal, then edits the suggested instructions, replaces them with custom instructions, or chooses no custom instructions. Selecting Start monitoring saves the channel directly; no approval reply or CLI command is needed.

Fork a Thread

Open a message’s More actions menu inside an active Replicas task thread and select Fork task to start a separate task without interrupting the original agent. The form starts with the selected message as its instructions and the current channel as its destination. You can edit either before submitting. Alternatively, mention @Replicas in the thread and include !fork anywhere in the message. Text around the marker becomes the new task’s instructions:
To fork into another channel, put its mention immediately after the marker:
The fork inherits the source workspace’s environment and receives the full thread conversation and images as context. It starts as a top-level message in the selected channel, where both you and Replicas must be members.

Pull Request Notifications

When a PR or MR created from a Slack workspace is merged or closed on GitHub or GitLab, Replicas posts a notification to the originating thread. The notification includes the number, title, link, and the person who merged or closed it. A colored bar on the left of the message reflects the outcome at a glance: purple for merged requests and red for closed ones. If the Slack sender enables Open pull requests in Graphite, agents use Graphite links for GitHub PRs in follow-up responses, and merged or closed notifications use the workspace owner’s preference. GitLab merge request links are unchanged.

Workspace Status Reactions

When a linked workspace is archived, Replicas replaces its 👀 reaction with 🗃️ on every linked Slack message so inactive tasks are easy to spot. Messages with an existing ✅ keep that reaction instead. Restoring the workspace removes the archive-box reaction.

Context

The context provided to the agent includes:
  • Your message (with bot mention stripped)
  • Thread history — for the first message, the full thread context is included; for follow-up messages, only new messages since the agent last responded are sent
  • Images attached to messages in the thread
  • Channel name
  • User names of participants

Agent access

Workspace agents can download Slack attachments through the authenticated SDK:
All new workspaces receive connection status instead of the organization’s Slack token; credentials remain server-side in the Replicas gateway. Use replicas.slack.call() for supported Slack methods, including file-upload reservation and completion. Newly created workspaces instruct agents to keep routine Slack updates short and natural and consult Slack’s live Block Kit catalog before choosing display-only blocks or URL buttons. Existing workspace skill copies are not refreshed. Workspaces created before the gateway retain compatibility with their existing tokens. Agents should use the SDK when available. Customer-defined tokens remain separate from the organization integration.

Post a Summary from the Composer

In a workspace’s chat composer (or the app prompt composer when creating a workspace), click the chevron on the Send button and choose Send & post to Slack, then pick a channel. The message sends as usual and the agent posts a single completion summary (including any pull request links) to that channel once it finishes the task. Slack must be connected for the option to appear, and it only lists channels the bot can access. Sending with the arrow button (or Enter) skips the Slack post.

Intended Usage

Slack works best for quick requests and iterative conversations:
  • Start tasks with a brief description
  • Follow up in the same thread to refine or add requirements
  • The agent responds directly in Slack, making it easy to share progress with your team
Start your message with /plan to request a planning-only response with a plan link. See Plan Mode. For workflow examples, see Slack to coding agent.