Connect Slack to Hermes Agent — Workspace Setup
Integrate Hermes Agent with your Slack workspace for AI-powered team assistance and automation.
Connecting Hermes to Slack turns your workspace into an AI-powered command center — your team can ask questions, trigger automations, and get research done without leaving the tools they already use.
Before you start:
- ☑Hermes Agent installed and running on a publicly accessible server (Slack requires webhook callbacks)
- ☑Slack workspace admin permissions
- ☑A public URL or ngrok tunnel for local development
Steps
- 1
Create a Slack App
Go to api.slack.com/apps and create a new app from scratch
- 2
Configure OAuth scopes
Add bot scopes: chat:write, channels:history, im:history, app_mentions:read
- 3
Install to workspace
Click Install App and authorize it for your Slack workspace
- 4
Get tokens
Copy the Bot User OAuth Token and Signing Secret
- 5
Configure Hermes
Add tokens to config.yaml under slack: botToken: and signingSecret:
- 6
Start and test
hermes restart — mention @hermes in a channel to verify
Pro Tips
- 💡Use Socket Mode in Slack's developer settings for local development — it doesn't require a public URL and is easier to set up for testing
- 💡Restrict Hermes to specific Slack channels using 'slack: allowedChannelIds' to prevent it from responding everywhere
- 💡Slack's rate limits are strict — configure response batching if Hermes sends many messages quickly
Troubleshooting
❌ Slack app shows 'not responding' when mentioned
✅ Slack requires a response within 3 seconds. Enable async response mode in config.yaml so Hermes acknowledges immediately and follows up with the full response.
❌ OAuth scopes error when installing to workspace
✅ Make sure you've added all required bot token scopes: chat:write, channels:history, im:history, and app_mentions:read. Missing scopes require reinstalling the app.
❌ Hermes not receiving messages in private channels
✅ Hermes must be explicitly invited to private channels with '/invite @hermes'. Bot scopes don't grant access to private channels by default.