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

# Slack

> Connect a Herm agent to Slack DMs and channel mentions.

Slack gives an agent a workspace identity so teammates can message it directly
or mention it in channels. Herm creates normal sessions behind the scenes, so
Slack conversations still use the agent's configured prompt, tools, skills,
roles, vault access, memory, and approval policies.

## What Slack uses

* **Agents** provide the versioned configuration, tools, skills, MCP servers,
  roles, and vault access. See [Agents](/api-reference/agents).
* **Sessions** hold the Slack conversation transcript and subject scope. See
  [Sessions](/api-reference/sessions).
* **Streaming events** remain available for products that also render their own
  UI or logs. See [Stream session events](/api-reference/stream-events).

## Connect Slack

Open the agent in Herm, then go to **Connect > Slack**:

```
https://herm.run/app/agents/{agentId}/connect/slack
```

From there:

1. Review the Slack app display name, description, session role, and vault
   access.
2. Generate the Slack app manifest.
3. Create the Slack app from that manifest at Slack's app dashboard and install
   it to the target workspace.
4. Paste the bot token and app-level token back into Herm to verify and connect.

Herm checks that the tokens belong to the same Slack app and workspace before
storing the connection. Tokens are cleared after submission and are never shown
again.

## Message the agent

After the connection is active, Slack members can:

* DM the agent.
* Mention the agent in channels where the app is present.
* Continue the same Slack thread while Herm manages the underlying session.

Slack sessions start with approvals enabled and YOLO mode off. Sensitive tools
still follow the agent's configured permission policy, and messages become part
of the Herm transcript and memory.

## Session modes

Slack can run in two modes:

| Mode            | Use when                                                                                |
| --------------- | --------------------------------------------------------------------------------------- |
| Direct          | Herm should manage Slack sessions and runtime routing for the agent.                    |
| Customer-backed | Your backend should receive Slack work and map it into your own customer/session model. |

Use direct mode for the default Herm-hosted setup. Use customer-backed mode when
your product needs to own the customer mapping or route Slack work through your
own service before it reaches Herm.
