agentos.guide › blog
Hermes Agent Slack inside your Agent OS means your agent does its own Slack wiring: it writes the app manifest, checks the config and reports back, while you do only the clicks Slack insists a human makes.
Below is a short quick start, five prompts to paste into your agent, and a daily routine for a small team.
All of it follows the official Hermes Slack guide at release v0.23.1.
If you'd like my team to plan which Slack jobs to hand over first, book a free SEO strategy session.
Your agent will run these for you, but it helps to recognise them.
hermes slack manifest --agent-view --write
hermes gateway setup
hermes gateway
hermes gateway install
The first writes ~/.hermes/slack-manifest.json, which you paste into Slack under Create New App → From an app manifest.
The second asks for your tokens and allowlist. The last two run the gateway, first in the foreground, then as a service.
Socket Mode does the connecting, so the Agent OS machine needs no public web address.
Three steps stay with you: creating the app on api.slack.com, installing it to the workspace, and generating the xapp- app-level token with connections:write.
Generate my Hermes Slack app manifest with Agent view:
hermes slack manifest --agent-view --write
Then open ~/.hermes/slack-manifest.json and list for me:
1. every slash command it declares,
2. every bot scope, and confirm channels:history, groups:history and files:read are there,
3. every bot event, and confirm message.im, message.mpim, message.channels, message.groups and app_mention are there.
Tell me the exact Slack clicks to create the app from this file.
Do not touch my .env yet.
The scope and event checks matter: the docs name missing channel events as the number one setup issue.
Remember that Agent view is a one-way switch for that Slack app. There's no route back to Assistant view.
Once you've pasted the manifest and installed the app, copy the xoxb- bot token from the Install App page and make the xapp- token under Basic Information → App-Level Tokens.
Then grab each teammate's Member ID from their Slack profile: View full profile, the ⋮ menu, Copy member ID. Usernames won't work in the allowlist.
I'm pasting my Slack tokens and Member IDs below.
Write them to ~/.hermes/.env as SLACK_BOT_TOKEN, SLACK_APP_TOKEN and SLACK_ALLOWED_USERS.
Set the file permissions on ~/.hermes/.env to 600.
In ~/.hermes/config.yaml under slack:, set
allowed_channels to the two channel IDs I give you,
ignore_other_user_mentions: true,
unauthorized_dm_behavior: "ignore".
Under display.platforms.slack set live_status: verb.
Show me the diff, then start the gateway in the foreground and wait for my test DM.
Without SLACK_ALLOWED_USERS the gateway denies every message, so this step is mandatory, not optional.
With allowed_channels set, unlisted channels are silently ignored even if someone tags the bot. Your own 1:1 DMs still work.
The verb setting keeps file paths and commands out of the "working" line in shared rooms.
Once the test DM gets a reply, ask the agent to run hermes gateway install so the bot survives a reboot. On Linux, sudo hermes gateway install --system starts it at boot.
Last, invite the bot into each channel on your list with /invite @Hermes Agent. It never joins on its own.
🔥 Want an Agent OS that already speaks Slack?
Inside the AI Profit Boardroom you get step-by-step video trainings, the installable Agent OS with Hermes wired in, four coaching calls a week and 3,400+ members.
This is where the Agent OS shines for an agency or a shop with several teams.
Add per-channel behaviour to the slack: block of ~/.hermes/config.yaml.
channel_prompts:
"C01CLIENTA": "You work for Client A, a bakery. Friendly, short, British spelling.
Draft only. A human sends anything to the client."
"C02ORDERS": "You help the shop team with orders. Summaries in 5 bullets max.
Draft only. Never contact customers yourself."
channel_skill_bindings:
- id: "C02ORDERS"
skill: <the order-summary skill I name>
Then remind me to run /new in each channel so the binding loads.
Channel prompts are injected on every turn and never written to the transcript, so edits apply straight away.
Skill bindings load once, when a session starts, which is why the docs tell you to run /new after changing one.
If you'd rather a channel shared one running conversation, don't touch the session setting here. By default each person in a shared channel gets their own session, and switching that off means one /reset clears it for everyone.
Channel IDs live at the bottom of each channel's details panel in Slack. Paste them exactly; names won't match.
The "draft only" line is yours to write. Hermes approvals cover risky commands, not what the bot says to a customer.
Set SLACK_HOME_CHANNEL in ~/.hermes/.env to the #daily-brief channel ID I give you.
Check the bot has been invited to that channel. If not, tell me to type /invite @Hermes Agent there.
Create a Hermes cron job for 8am Monday to Friday that summarises yesterday's
orders file and today's calendar in 5 bullets, with deliver: slack.
Create it paused, run it once by hand, and show me the Slack post before resuming it.
A deliver value of slack posts to the home channel. slack:C… picks a channel, and slack:U… sends to that person's DM.
Our Hermes cron job guide covers pausing, missed runs and health checks in depth, and the official cron docs list every delivery option.
My Hermes Slack bot answers DMs but not in #ops. Check, in order:
1. message.channels and message.groups in the app's event subscriptions,
2. channels:history and groups:history scopes,
3. whether the app was reinstalled after the last scope or event change,
4. whether the bot is invited to #ops,
5. whether #ops is in allowed_channels.
Read the gateway log for not_authed, invalid_auth or missing_scope errors.
Report what's wrong and the fix. Change nothing without asking me.
That list mirrors the quick checklist in the Slack troubleshooting section.
The fix most people forget: any scope or event change needs a reinstall before Slack applies it.
Two other errors are easy to spot. "Sending messages to this app has been turned off" means the Messages tab is off under App Home. A bot that chats but can't open uploads is missing files:read.
Here's how a four-person agency might roll this out, one prompt a day.
allowed_channels with its own prompt.If the agency also works inside a client's own Slack, one gateway can join several workspaces: one bot token per workspace in SLACK_BOT_TOKEN, comma-separated, with a single app-level token.
#daily-brief. The team asks follow-ups in its thread, no tag needed once the bot is active there.!stop in the thread, because Slack blocks slash commands there./invite.The newest patch, v0.23.1, adds no Slack-specific notes.
Treat both tokens like passwords.
Keep them in ~/.hermes/.env, rotate them from the Slack app settings now and then, and check who can open your Hermes config folder.
Leave allow_bots on none unless you're running several bots, and then use mentions, which the docs call the safest mode for bot-to-bot work.
For the wider picture, the Hermes security guide covers command approvals, file-write safety and user authorisation.
🔥 Want help choosing your first Slack job?
My team will look at how your business runs and point you to the Slack jobs worth handing to your agent first.
Paste Prompt 1 into your agent now, and work down the list from there.
Creating the app on api.slack.com, installing it to the workspace and generating the xapp- app-level token are clicks you make in Slack yourself.
Use channel_prompts for standing instructions on every turn and channel_skill_bindings to load a skill when a new session starts in that channel.
A cron job with deliver set to slack posts to SLACK_HOME_CHANNEL; slack plus a channel ID targets that channel, and slack plus a user ID sends a DM.
Yes. Since v0.23.0 one gateway per machine owns every session, so Slack, the CLI and the desktop share one history.
Run the five prompts in order and keep "draft only" on anything customer-facing, then join the AI Profit Boardroom or book a free call with my team to take Hermes Agent Slack further.
About Julian
I'm Julian Goldie, an AI entrepreneur, SEO expert and the founder of the AI Profit Boardroom, which has 3,400+ members.
I help business owners scale with AI agents, automation and SEO.
My YouTube channel has 400,000+ subscribers, and I run Goldie Agency, a seven-figure SEO agency.
→ Hermes Agent Telegram: Run It From Your Agent OS
→ Hermes Agent Discord: Run Your Server Bot In Your Agent OS
→ Grok Bot Microsoft Teams: Plan The Rollout In Your Agent OS
→ Hermes Agent WhatsApp: Five Prompts To Run In Your Agent OS
The installable system behind every guide on this site — dashboard, agents, memory and pipelines — updated as new tools land, with 3,400+ members and four coaching calls a week.
Join the AI Profit Boardroom →📺 Video notes + links to the tools 👉
🎥 Learn how I make these videos 👉