---
title: "Team Collaboration — One Shared Channel, Every Teammate | AgentRQ"
url: https://agentrq.com/features/team-collaboration
description: "Run AgentRQ tasks as a team from one private Slack channel per workspace — create tasks with /t, reply with @agentrq, and approve or deny agent actions in the thread, with every decision attributed to the teammate who made it. No shared login, no extra seats."
---

Human-in-the-Loop Task Manager for AI Agents

[AgentRQ](https://agentrq.com/) / [Features](https://agentrq.com/features/)

Team Collaboration

# A Shared Room, Not a Shared Login

Connect a workspace to Slack and AgentRQ provisions one private channel for it. Everyone you invite can create tasks, steer agents mid-run, and approve or deny what an agent wants to do — with every action signed by the teammate who took it.

![A shared AgentRQ workspace channel in Slack — task threads, replies, and a linked GitHub PR, visible to the whole team](https://agentrq.com/assets/feature-team-collaboration.png)

A real workspace channel — every task posted as its own thread, replies and agent output syncing back, the whole team watching the same run.

## How It Works

One authorization by the owner, one channel per workspace, and a normal Slack invite for everyone else.

1

### Authorize Once

The workspace owner hits **Settings → Slack → Link Slack Channel**. AgentRQ runs the OAuth flow, auto-provisions a private channel named `agentrq-<workspace>-<id>`, joins it, and invites the installer. No manual channel creation, no bot-invite step to forget.

2

### Invite the Team

It's a real private Slack channel, so growing the team is a normal **Invite teammates** click. No AgentRQ seat to provision, no second login to create. If someone can see the channel, they can work the workspace.

3

### Anyone Can Act

Start work with `/t`, steer a running task by replying `@agentrq` in its thread, and settle approvals with the buttons AgentRQ posts inline. Every one of those is attributed to whoever did it.

## Work the Workspace Without Leaving the Conversation

The people who need to unblock an agent are usually not the person who filed the task. Slack already knows who they are.

Create a task

```
/t "Bump the plugin patch version" "Publish a patch of dsh-plugin-agentrq and open a PR"
```

The slash command creates the task in whichever workspace this channel is linked to, and AgentRQ posts it straight back as a new thread. Pass one string for a quick task, or two quoted strings for an explicit title and description.

Steer a running task

```
@agentrq go ahead and merge once CI is green
```

A mention inside a task thread routes to that task, exactly as if it had been typed into the AgentRQ composer — attachments included; files you drop in the thread are pulled down and land on the task. Mentions outside a task thread are ignored, so your normal channel chatter is never picked up.

Attribution

## Every Action, Signed by the Person Who Took It

This is the part that makes shared use safe rather than merely convenient. Under the hood every Slack-originated action carries the Slack user who sent it, kept separate from the workspace owner's underlying AgentRQ account.

A reply from the channel shows up in the AgentRQ task thread labeled with the teammate who wrote it — not a generic "Slack", and not the owner's name. Approvals carry the same attribution, and it lands in the channel where the conversation happened, not buried in a log somewhere.

The result is a plain, permanent record of who signed off on what, readable by anyone in the room without opening AgentRQ at all.

✅

Approved by @dana

A single command, cleared to run.

🚀

Approved (Allow All Commands) by @sam

The agent gets a longer leash for this task.

❌

Rejected by @alex

Stopped before it ran, with a name on the call.

🔧

Allowed by @jordan

An MCP tool call, approved from the thread.

## First Click Wins

The hard part of letting a whole team approve things is making sure nobody approves the same thing twice.

### Buttons Land in the Thread

When a task needs a decision, AgentRQ posts **Allow**, **Allow All Commands** and **Reject** right in the thread. An MCP tool request gets its own **Allow** / **Deny** pair, captioned with the tool being requested.

### The Message Updates in Place

The moment someone decides, the buttons are replaced by the outcome and the name attached to it. There is nothing left for a second teammate to click five minutes later — no double-processing, no "wait, did someone already approve this?"

### The Web UI Stays in Sync

A decision made in Slack is flagged on the request itself, so a teammate watching the same task in their browser sees it resolved instead of a stale prompt waiting on an answer that already came.

## One Workspace, One Channel

Each AgentRQ workspace maps to exactly one private Slack channel, and that boundary is the whole tenancy model: a workspace's tasks, replies, and file attachments only ever reach its own channel. Two projects in the same Slack workspace stay cleanly separated.

Leave the channel field blank and AgentRQ provisions one for you. Prefer to run it through a channel you already have? Enter the channel ID and name manually instead — the link is saved either way, and can be removed from the same panel.

[Set up Slack](https://agentrq.com/docs/integrations/slack) [More on workspaces](https://agentrq.com/features/workspace)

![The Slack Connection panel in AgentRQ workspace settings — authorizing provisions a private channel and joins it automatically](https://agentrq.com/assets/feature-team-collaboration-settings.png)

## Shared Access, Not Loose Access

Opening a workspace to a team is only worth doing if the door is a real one.

Encrypted Tokens

Slack bot tokens are AES-256-GCM encrypted at rest and decrypted only for the call that needs them.

Signed Requests

Every inbound event, interaction, and slash command is verified against Slack's HMAC-SHA256 signature before anything runs.

Replay Protection

Requests with a timestamp older than five minutes are rejected outright, so a captured payload can't be replayed later.

Narrow Scopes

The bot asks for what it needs and nothing more: create and read private channels, post messages, register `/t`, and read mentions of itself.

## Why This Is the Point, Not a Feature

The usual failure mode for shared automation tooling is a shared login. One person owns the account and everyone else either gets a separate setup or borrows the owner's session and hopes nothing collides. Neither option survives contact with a team.

None of this requires a teammate to have opened AgentRQ even once. They need to be in a Slack channel and they need to know how to type `@agentrq`. The workspace context, the task history, the agent doing the work — all of it is already there, running underneath, and attributed correctly no matter who reaches in to steer it.

That's the actual shape of team collaboration on agent-run work: not a shared login someone hands around, not a separate account per teammate, but one channel the team already lives in, where anyone can act and everyone can see exactly who did.

Free During Beta

## Bring the Whole Team Into the Loop

Connect a workspace to Slack, invite the people who actually make the calls, and stop being the only person who can unblock an agent.

More Features

[Isolated Workspaces One project, one context, one channel](https://agentrq.com/features/workspace) [Real-Time Notifications Know the moment an agent needs you](https://agentrq.com/features/real-time-notifications) [Visual Task Board Your command center for every agent request](https://agentrq.com/features/task-board)
