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

# Slack

> Connect Slack so an agent can answer questions, respond to mentions, and react in your channels.

Connecting Slack gives your workspace one **Slack agent**: an AI teammate that lives in your channels. Someone mentions it, and it answers there.

## Connecting Slack

In **Workspace settings**, open the **AI** page, choose Slack under Integrations, and complete the install.

| Requirement   | Detail                            |
| :------------ | :-------------------------------- |
| In Conversion | Permission to manage integrations |
| In Slack      | A workspace owner or admin        |

<Note>
  If your Slack workspace requires admin approval for new apps, a regular member can request the install but an admin has to approve it. Worth starting early, as it's often the longest step.
</Note>

### What Conversion asks for

The Slack app needs to read conversations to answer questions in them, and to post replies. Specifically it requests access to read messages and history in public channels, private channels it's been added to, DMs, and group DMs; to see reactions, mentions, and files; and to post messages and reactions.

<Warning>
  This is a broad grant, and at many companies it needs a security review. Share the permission list with whoever owns Slack at your organization before you plan a rollout around it.
</Warning>

The agent only sees private channels it has actually been invited to. Adding it to a private channel is how you give it access; removing it takes that access away.

***

## One Slack agent per workspace

Connecting Slack gives you one Slack agent, and one is the maximum. A reply in a Slack thread is just a message that doesn't name the agent it's for, so each thread has a single owner that handles every reply in it.

Your other agents can **post** into Slack (see [below](#custom-agents-in-slack)). Slack messages don't wake them.

***

## Choosing when it responds

A Slack trigger has three parts: what kind of event, which channels, and (for reactions) which emoji.

| Event        | Fires when                              |
| :----------- | :-------------------------------------- |
| **Mention**  | Someone @-mentions the agent            |
| **Message**  | Anyone posts in a channel you've chosen |
| **Reaction** | Someone adds a specific emoji           |

You always choose specific channels. There's no "all channels" option, so the agent is never listening somewhere you didn't pick.

The choice that matters most is **Mention vs. Message**:

* **Mention** makes the agent opt-in. It only speaks when asked. Safe default for a busy channel.
* **Message** makes it an active participant in that channel, responding to everything. Good for a dedicated channel like `#ask-marketing-ops`, noisy anywhere else.

**Reaction** is a nice pattern for "handle this": someone adds 👀 to a message and the agent picks it up. You choose the emoji.

<Tip>
  Start with **Mention** in one channel. Move to **Message** only in a channel created for that purpose.
</Tip>

***

## How threads work

The agent replies in the thread, and that thread becomes an ongoing conversation. Follow-up messages there continue the same session, so it remembers the earlier part of the discussion, with no need to re-explain.

Each thread is its own conversation. Two threads are two sessions with no shared memory.

### Custom agents in Slack

A custom agent (one triggered by Linear, a schedule, or a webhook) can post into Slack even though Slack can't wake it. That's how a scheduled agent delivers a weekly report to a channel, or a Linear agent announces that it finished.

Their messages are prefixed with the agent's name, so a channel with several agents stays readable.

When a custom agent starts a thread, replies in that thread come back to it. If it posts into a thread that already belongs to another agent, the thread's replies begin routing to the one that posted most recently.

***

## Things to know

### The agent can't see private channels it hasn't been added to

Add it to any private channel you want it working in.

### It won't reply to itself

The agent's own messages don't wake it up, so there's no risk of a loop.

### Pausing stops new threads, not the ones already running

**Pause** on the agent's header stops it being woken by anything new. A thread it's already replying in keeps going, because replies there route to that conversation without consulting triggers. Same for editing or deleting a trigger.

To stop it in a channel for good, remove it from that channel: it stops receiving messages there, live threads included. See [Triggers](/product-docs/conversion-ai/agents/triggers#pausing-an-agent).

***

## Related

<Columns cols={2}>
  <Card title="Agents overview" icon="robot" href="/product-docs/conversion-ai/agents/overview">
    What an agent is and what you configure on it.
  </Card>

  <Card title="Triggers" icon="bolt" href="/product-docs/conversion-ai/agents/triggers">
    All four trigger types and how scoping works.
  </Card>
</Columns>
