# Slack: bring Hermes into your team workspace

> Connect Hermes to Slack over Socket Mode so allowed teammates can message it in DMs, channels and threads.

Canonical: https://hermeswatcher.com/tools/slack  
Kind: Messaging platform · Messaging & the gateway  
Last reviewed: Oct 29, 2026  
Basis: Explained from the official Hermes Agent docs and repository (Nous Research). Steps follow the linked official sources.

## What it is for

The Slack adapter lets Hermes take part in your workspace as a bot user. It connects through Socket Mode, an outbound WebSocket, so you do not need a public URL or open port. People on the allowlist can DM the bot directly, or @mention it in channels where it replies in a thread. Hermes can generate a ready-made Slack app manifest for you, which cuts down the clicking in Slack's admin pages. Per-channel prompts, mention gating and reaction triggers are configurable, and cron jobs can deliver results to a home channel. That makes Slack a good place to land scheduled briefings your team will actually read.

## What you need

- A new Slack app (classic RTM apps are deprecated) with a Bot User OAuth Token (xoxb-) and an App-Level Token (xapp-) carrying the connections:write scope
- Use the generated Agent view manifest for the complete scope/event set. Manual setup also needs files:write for uploads and message.mpim/mpim history/read for group DMs; assistant:write controls the working status/native streaming. Reinstall after changes.
- Slack Member IDs for every user you want to allow

## Setting it up

1. Run `hermes slack manifest --agent-view --write`, then create the app at api.slack.com/apps using "From an app manifest" and paste the generated ~/.hermes/slack-manifest.json
2. Enable Socket Mode, generate the app-level token, turn on the App Home Messages Tab, then install the app to copy the xoxb- token
3. Add SLACK_BOT_TOKEN, SLACK_APP_TOKEN and SLACK_ALLOWED_USERS (comma-separated Member IDs) to ~/.hermes/.env, or run `hermes gateway setup` and choose Slack
4. Start the gateway with `hermes gateway` (or `hermes gateway install` to run it as a service), then `/invite @Hermes Agent` in each channel it should watch

## How to check it works

- DM the bot; it should answer without an @mention
- @mention the bot in an invited channel and confirm it replies in a thread
- Upload a file and ask about it to confirm the files:read scope works

## Limits

- Any scope or event change requires reinstalling the Slack app, and missing history scopes mean channel messages never arrive
- Slack blocks native slash commands inside threads, so use the ! prefix there (for example !stop)
- Without an allowlist, an approved pairing or another explicit grant, the gateway will not execute messages. A configured allowlist normally suppresses unsolicited pairing codes. allow_bots: all can create loops; use it deliberately.

## Related workflows

- [Wake up to a useful research briefing](https://hermeswatcher.com/workflows/daily-research-briefing.md)
- [Collect content ideas without losing the evidence](https://hermeswatcher.com/workflows/content-research-queue.md)

## Messaging setup

[All messaging platforms](https://hermeswatcher.com/messaging)
- [Setup guide](https://hermeswatcher.com/learn/hermes-agent-slack-setup)

## Sources

- [Hermes Agent docs: Slack](https://hermes-agent.nousresearch.com/docs/user-guide/messaging/slack)
- [Hermes Agent docs: Messaging Gateway](https://hermes-agent.nousresearch.com/docs/user-guide/messaging/)
- [Official Hermes Agent source: gateway/authz_mixin.py](https://github.com/NousResearch/hermes-agent/blob/088f657ecf77674c7b8e2ededf4e3576d82e042c/gateway/authz_mixin.py#L681-L773)
- [Official Hermes Agent source: website/docs/user-guide/messaging/slack.md](https://github.com/NousResearch/hermes-agent/blob/088f657ecf77674c7b8e2ededf4e3576d82e042c/website/docs/user-guide/messaging/slack.md#L705-L730)
- [Official Hermes Agent source: website/docs/user-guide/messaging/slack.md](https://github.com/NousResearch/hermes-agent/blob/088f657ecf77674c7b8e2ededf4e3576d82e042c/website/docs/user-guide/messaging/slack.md#L30-L64)
- [Official Hermes Agent source: website/docs/user-guide/messaging/slack.md](https://github.com/NousResearch/hermes-agent/blob/088f657ecf77674c7b8e2ededf4e3576d82e042c/website/docs/user-guide/messaging/slack.md#L79-L147)
- [Official Hermes Agent source: website/docs/user-guide/messaging/slack.md](https://github.com/NousResearch/hermes-agent/blob/088f657ecf77674c7b8e2ededf4e3576d82e042c/website/docs/user-guide/messaging/slack.md#L489-L566)

---

HermesWatcher is an independent guide. It is not affiliated with or endorsed by Nous Research. The [official Hermes Agent documentation](https://hermes-agent.nousresearch.com/docs) and [repository](https://github.com/NousResearch/hermes-agent) from Nous Research are the authority; each page here lists the official sources it was written from. If this site and the official docs disagree, trust the official docs. Index for agents: https://hermeswatcher.com/llms.txt
