Hermes on Slack in a channel
SkillCommunicationConfigure Hermes on Slack to see every message in a channel, not just @mentions/DMs, the authorization and mention gates, and the fail-open tradeoff. Use when a user wants the bot to respond in a Slack channel without being @mentioned, or asks why it isn't seeing unmentioned messages.
Use Hermes on Slack in a channel in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add Hermes on Slack in a channel and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use the Hermes on Slack in a channel skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; ahel provides instructions and does not run this skill.
No other account needed.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
What this skill tells your AI
The instructions your AI receives, as published by humalike/hermes-humalike-plugin in skills/configure-slack-group/SKILL.md and read by ahel’s review.
Settings go in ~/.hermes/.env or the slack: section of
~/.hermes/config.yaml. Restart the gateway after changes.
Caveat: fail-open
Slack has no fail-closed "observe" path like Telegram
(_observe_unmentioned_group_message) — every message either reaches the
turn-taking gate (_handle_inbound, via handle_message) or no event is built
for it at all. That gate is fail-open (built for DMs/@mentions:
if the turn-taking service is down, the bot replies anyway). So with the config
below, if the turn-taking service goes down, the bot replies to EVERYTHING in
the channel. Fine for a small trusted channel; a real fail-closed observe
would need a host-side change (plugins/platforms/slack/adapter.py).
Two gates — open both
Gate A — authorization (checked first, in gateway/authz_mixin.py;
unauthorized messages never reach turn-taking):
SLACK_ALLOWED_USERS=<id1>,<id2> # default: only these users
SLACK_ALLOW_ALL_USERS=true # or: everyone in the workspace
Gate B — the @mention requirement (channels only, not DMs) — either:
SLACK_REQUIRE_MENTION=false # whole bot, all channels
SLACK_FREE_RESPONSE_CHANNELS=<chan_id1>,<chan_id2> # or only these channels (safer)
Channel IDs: gateway logs after a message from that channel, or the Slack URL
(.../C0123456789/...). config.yaml equivalents: require_mention: false /
free_response_channels: [...] under slack:.
Gate C — one conversation per channel (REQUIRED for turn-taking) — in
~/.hermes/config.yaml:
slack:
reply_in_thread: false
With the default (true), every top-level channel message becomes its own
synthetic thread AND its own session — the bot answers each message separately
in a separate thread and turn-taking can never coalesce the conversation. With
false the whole channel shares one session and the bot replies once, to the
latest message (replies inside existing threads stay threaded).
Fully open = SLACK_ALLOW_ALL_USERS=true + SLACK_REQUIRE_MENTION=false —
weigh the fail-open caveat before doing this on a busy/public workspace.
If disabling mentions globally, consider SLACK_ALLOWED_CHANNELS=<ids> so the
bot doesn't free-respond in every channel it gets added to.
Verify
Restart the Hermes gateway, then look for [Slack] Socket Mode connected and
tt inbound / tt decide / tt forward on an unmentioned message.
Diagnosis: "bot doesn't see unmentioned messages"
| Log symptom | Cause |
|---|---|
Unauthorized user: <id> on slack | Gate A — add user or SLACK_ALLOW_ALL_USERS=true |
No tt inbound, no unauthorized line | Gate B — mention still required for that channel |
Ignoring message in non-allowed channel | Channel missing from SLACK_ALLOWED_CHANNELS |
tt decide ... stay_silent | Expected — turn-taking speaks selectively |
| Replies to everything while service is down | Expected fail-open behavior (see caveat) |
Signals
- GitHub stars
- 211
- Forks
- 21
- Last commit
- Sep 2026
ahel review
S4info
community integration, published by humalike, not slack
Automated review, not a security audit. Ruleset v1+k2.
Advanced
- Item type
- skill
- Key
configure-slack-group- Source
- github.com/humalike/hermes-humalike-plugin
github.com/humalike/hermes-humalike-plugin
Related picks
Skill · anthropics
The pick for Slackhive.slack-notifications-setup
Skill · aden-hive
The pick for Slackerror-handling
Skill · affaan-m
More in Communicationemails
Skill · coreyhaines31
More in Communicationwait-what
Skill · mattpocock
More in Communicationcold-email
Skill · coreyhaines31
More in Communication