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

# Slack

> Let an agent search Slack, set up channels, and run governed workspace admin actions — as part of any conversation.

# Slack

The Slack integration lets an agent **use Slack as a tool** while it helps someone:
search messages and files, look up people and conversations, spin up a channel and
invite the right people, and — when you enable it — perform governed workspace
**admin actions** such as archiving a stale channel or removing an offboarded user.

The agent acts **as the person it's helping** for everyday actions, so it only ever
sees and does what that person could already see and do in Slack.

<Note>
  **This is not the Slack channel.** This integration is about an agent *using* Slack
  while a conversation happens somewhere else (the web widget, Teams, and so on). If
  you instead want employees to chat with the agent **inside Slack**, set up the
  [Slack channel](/channels/slack) — a separate, complementary feature.
</Note>

## Modules

| Module             | What the agent can do                                                                                                                            |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| Messaging (read)   | Search messages and files; list channels and DMs; read channel and thread history; look up users — all as the asking person                      |
| Channel management | Create a channel, invite people to it, set its topic — as the asking person                                                                      |
| Admin actions      | Remove or invite a workspace member, create or archive a channel, create a user group, change a member's role — governed and audited (see below) |

## Set up read access

Read access takes about a minute and needs nothing in your Slack admin settings —
Cobalt hosts the Slack app.

<Steps>
  <Step title="Add the integration">
    From your agent, open **Integrations**, choose **Slack**, and keep the
    **Messaging** module on. Reads are on by default; the write modules below are off
    until you turn them on.
  </Step>

  <Step title="Attest to the access requested">
    Review the read permissions (search, channels, DMs, files, profiles). The
    higher-impact ones are flagged. Confirm, name the integration, and save.
  </Step>

  <Step title="Let people authorize themselves">
    The first time the agent uses a Slack tool for someone, that person is asked to
    connect Slack. From then on the agent acts as them and is limited to what they can
    already see in Slack.
  </Step>
</Steps>

## Set up channel management (optional)

Turn on the **Channel management** module to let the agent create channels, invite
people, and set topics **as the asking person**.

<Steps>
  <Step title="Enable the module">
    On the Slack integration, switch on **Channel management** and the tools you want.
  </Step>

  <Step title="Attest to the additional permissions">
    Creating and managing channels are higher-impact, so Cobalt asks you to explicitly
    confirm the extra permissions before saving.
  </Step>
</Steps>

When the agent creates a channel or invites people, it confirms with the person first
and then links straight to the new channel.

## Set up admin actions (optional)

Admin actions operate on your **whole workspace**, so they run under a separate
**admin authorization** and are governed by policy. Slack offers two ways to authorize,
depending on your plan — pick yours with the tier selector on the integration's
authorization screen.

<Steps>
  <Step title="Enable the Admin module">
    Switch on the **Admin** module. Its tools stay in an **Awaiting authorization**
    state — and the rest of the integration keeps working — until you complete the step
    below.
  </Step>

  <Step title="Authorize — Enterprise Grid">
    If your workspace is on **Enterprise Grid**, choose that tier and click **Connect**.
    You'll sign in once as an **Org Admin** to grant the admin permissions. Tokens are
    stored encrypted; Cobalt never shows them again.
  </Step>

  <Step title="Authorize — Pro / Business+ / Plus">
    If you're **not** on Enterprise Grid, choose that tier and paste a
    **workspace-owner User OAuth token** (`xoxp-…`). Admin actions Slack doesn't permit
    outside Enterprise Grid are clearly marked **Requires Enterprise Grid** and stay
    unavailable.
  </Step>

  <Step title="Confirm what the agent may do">
    Admin actions are gated: destructive ones (removing a member, archiving a channel)
    ask for confirmation at the moment they run, and actions are limited by policy —
    anything outside what you've permitted is denied rather than performed. Every action
    is written to the audit trail.
  </Step>
</Steps>

## What it does and doesn't do

**It does**

* Search and read Slack as the asking person (messages, files, channels, DMs, threads, profiles).
* Create channels, invite people, and set topics as the asking person.
* Perform governed, audited workspace admin actions (remove/invite a member, create/archive a channel, create a user group, change a role).
* Link every result back to Slack so people can open it in one click.

**It doesn't (in this version)**

* **Post messages or send DMs as you.** The agent can create a channel and invite people, but composing and sending messages on your behalf is intentionally not part of this version — it surfaces the new channel's link so you post the first message yourself.
* **Replace the Slack channel.** This integration doesn't host conversations in Slack — see the [Slack channel](/channels/slack) for that.
* **Download file contents.** File results include a link you open in Slack, not the file's bytes.
* **Bypass Slack's permissions.** Everyday actions run as the asking person and respect their Slack access; admin actions run only within the authorization and policy you set.

## Troubleshooting

<Warning>
  **"Connect Slack" keeps appearing.** The person hasn't authorized Slack yet, or their
  authorization was revoked from Slack's side. Reconnecting from the prompt fixes it. If
  you recently turned on a new module (like Channel management), people are asked to
  re-authorize once to grant the added permissions.
</Warning>

* **An admin action says "Requires Enterprise Grid."** That action isn't available with
  a non-Grid workspace-owner token. Either upgrade the workspace's Slack plan or skip
  that action.
* **The admin tools show "Awaiting authorization."** The Admin module is on but admin
  authorization hasn't been completed — finish the connect/paste step on the
  authorization screen.
* **An admin action was denied.** It fell outside the policy you've permitted, or a
  destructive action wasn't confirmed. Check the audit trail for the reason.
* **"That channel isn't visible."** For as-yourself actions, the agent only sees
  channels the asking person belongs to — have them join the channel in Slack, or use an
  admin action if appropriate.

## FAQs

<AccordionGroup>
  <Accordion title="Is this the same as adding Slack as a channel?">
    No. The **Slack channel** lets employees chat with the agent inside Slack. This
    **Slack integration** lets the agent use Slack as a tool during a conversation that's
    happening elsewhere. They're independent and can both be on at once.
  </Accordion>

  <Accordion title="Whose identity do Slack actions use?">
    Everyday actions (search, read, create channel, invite) run **as the person the agent
    is helping**, using their own Slack authorization. Admin actions run under the
    separate **admin authorization** you set up, and are governed by policy and audited.
  </Accordion>

  <Accordion title="Do I have to register a Slack app?">
    Not for reads or channel management — Cobalt hosts that Slack app. Enterprise Grid
    admin authorization is a one-time **Connect** as an Org Admin; non-Grid admin
    authorization uses a workspace-owner token you paste.
  </Accordion>

  <Accordion title="Can the agent post messages or DM people for me?">
    Not in this version. Sending messages as you is intentionally held back; the agent can
    scaffold a channel and invite people, then hand you the link to post the first message.
  </Accordion>

  <Accordion title="Will the agent ever see private channels or DMs someone can't access?">
    No. For as-yourself actions the agent is limited to exactly what that person can see in
    Slack — Slack enforces it, not Cobalt.
  </Accordion>
</AccordionGroup>

## Related

* [Integrations overview](/integrations/overview) — how integrations work in general.
* [Slack channel](/channels/slack) — chatting with the agent inside Slack (the separate feature).
* [How Cobalt works](/concepts/how-cobalt-works) — where integrations fit.
