Guide
Hermes Agent + Slack: Run an AI Agent Inside Your Slack Workspace
Slack is where most modern teams already live. Connecting Hermes Agent to Slack turns it into a teammate that can answer questions in threads, accept DMs, respond to mentions, run slash commands, and use tools — all without anyone leaving the workspace.
What You'll Build
A Slack app installed in your workspace, backed by Hermes Agent, that:
- Replies when @-mentioned in any channel it's invited to
- Accepts direct messages from any workspace member
- Maintains per-thread memory (replies in a thread share context)
- Runs Hermes tools — web search, MCP servers, custom skills
- Supports Slack slash commands (e.g.
/hermes summarize-channel) - Accepts file uploads (PDFs, images, code) for analysis
Option 1: OpenClaw Launch (Easiest)
The fastest path. No app manifest editing, no webhook URLs, no token wrangling.
- Go to openclawlaunch.com/hermes-hosting and start a Hermes deploy.
- In the dashboard, click Connect Platforms and pick Slack.
- Click Add to Slack. You'll be redirected to Slack's OAuth screen to authorize the app for your workspace.
- Choose which channels the bot can post in, confirm, and you're live. Invite the bot to any channel with
/invite @hermes.
Option 2: Self-Hosted Hermes + Custom Slack App
If you're running Hermes on your own server, create a Slack app and point event subscriptions at your Hermes gateway.
Create the Slack app
- Go to api.slack.com/apps and click Create New App → From scratch.
- Name it (e.g. “Hermes Agent”) and pick your workspace.
- Under OAuth & Permissions, add bot scopes:
app_mentions:read,chat:write,im:history,im:read,im:write,channels:history,files:read,commands. - Install the app to your workspace and copy the Bot User OAuth Token (starts with
xoxb-). - Copy the Signing Secret from Basic Information.
Configure Hermes
# Hermes reads these env vars for the Slack channel
export SLACK_BOT_TOKEN=xoxb-...
export SLACK_SIGNING_SECRET=...
# Enable the Slack channel
hermes channel enable slack
# Or via /opt/data/config.yaml:
# channels:
# slack:
# enabled: true
# bot_token: env(SLACK_BOT_TOKEN)
# signing_secret: env(SLACK_SIGNING_SECRET)Wire up Slack event subscriptions
Slack delivers messages via webhook. Point Slack at your Hermes gateway URL:
- In Event Subscriptions, enable events and set Request URL to
https://your-hermes-host/slack/events. - Subscribe to bot events:
app_mention,message.im,message.channels(for channels you want passive listening). - Reinstall the app to pick up the new scopes.
If your Hermes server isn't internet-reachable, use Slack Socket Mode instead. Hermes accepts SLACK_APP_TOKEN (starts with xapp-) and switches automatically.
Slack-Specific Features in Hermes
- Per-thread memory. Replies in a Slack thread share Hermes's conversation context — perfect for collaborative debugging or research.
- Mention-only mode. Set
channels.slack.respondTo: "mention"so the bot stays quiet in channels until someone @-mentions it. - Slash commands. Register custom commands in Slack and Hermes routes them as tool calls.
- File uploads. PDFs, images, and code attachments are passed to the model as multimodal input (when the active model supports it).
- User identity. Hermes preserves the Slack user ID, so per-user memory and access controls work out of the box.
Security and Permissions
Hermes verifies every incoming Slack request against the signing secret — any forged request is rejected. The bot only acts on events from your single authorized workspace. Workspace admins can revoke the install at any time via Manage apps.
For enterprise deployments, scope the bot to specific channels with Slack's channel-level install. Hermes also supports per-user allowlists via channels.slack.allowFrom.
What's Next?
- Hermes Agent + Discord — Discord deploy
- Hermes Agent + Telegram — Telegram deploy
- Hermes Agent + MCP — Add tools your Slack bot can use
- Hermes Agent + Skills — Custom skills for Slack workflows