Connect Discord to Hermes Agent: Bot Setup Checklist
Connect Discord to Hermes Agent with bot token setup, Message Content Intent, slash-command scopes, channel allowlists, gateway restart, Web UI checks, and one real Discord reply test.
Quick answer
Create a Discord app and bot, invite it to one private test channel with bot plus applications.commands scopes, enable Message Content Intent only if ordinary channel text must be read, put the token in the active Hermes gateway profile, restart the gateway, check Web UI/gateway status, and prove success with one real mention or slash command. If the CLI cannot answer with the same profile, fix provider credits or API keys before debugging Discord.
Use this page as the short implementation checklist for Discord. For why Discord is useful, start with the Discord integration overview; for deeper permission, gateway, and Docker troubleshooting, use the full Discord setup article.
Managed cloud · API costs included · Skill library · Cancel anytime
Before you start:
- ☑Hermes Agent installed and running
- ☑A Discord account with server admin permissions
- ☑Access to discord.com/developers
- ☑If you updated to v0.16, verify Discord gateway state from the dashboard/admin surface and then send a real channel/thread message
Steps
- 1
Create the Discord application
Use the Discord Developer Portal to create an application and add a bot user.
- 2
Enable the required intent
Enable Message Content Intent if Hermes must read normal channel messages; keep slash-command-only workflows narrower when possible.
- 3
Invite the bot safely
Generate an OAuth2 invite with bot and applications.commands scopes, then grant only the permissions needed for the test channel.
- 4
Configure the active Hermes profile
Store the bot token in the config or environment for the Hermes profile that runs the Discord gateway.
- 5
Restrict and verify
Limit the bot to one test channel, restart Hermes, then verify that allowed channels respond and blocked channels stay quiet.
- 6
Separate provider health from Discord health
Run one CLI smoke test with the same profile. If that fails with provider, credit, API-key, or rate-limit errors, fix the model route before changing Discord permissions.
- 7
Test the exact production surface
After the private channel works, test the real channel, thread, or forum post that will receive support, cron alerts, or team messages. Thread permissions can differ from normal channels.
Pro Tips
- 💡Start in a private server or hidden staff channel before inviting the bot into a live community.
- 💡Prefer mention-only or slash-command behavior in busy servers.
- 💡Use a dedicated Hermes profile for Discord so team memory and secrets stay isolated.
- 💡Discord community support demand clusters around gateway errors, Docker/container confusion, and channel permission issues; use a private test channel plus dashboard health before inviting the bot into a live server.
- 💡After Discord replies in one test channel, use the Hermes WebUI dashboard and gateway status before adding public server channels; use FlyHermes if you do not want to own VPS/Docker uptime.
- 💡If you enable the WebUI --tui browser Chat tab, treat it as local operator access, not proof that Discord message-content intent, permissions, or thread routing are correct.
- 💡If the real goal is dashboard visibility, Telegram/Discord uptime, or browser/mobile access without VPS upkeep, compare FlyHermes before expanding self-hosted infrastructure.
- 💡Use the Hermes dashboard/Web UI as a status checkpoint, but verify success with the real command, channel message, cron delivery, or deployed URL that matters.
- 💡After Discord replies once, use the Hermes dashboard/Web UI to verify active profile, provider, gateway state, and thread/channel setup; then test the exact channel or thread that will be used in production.
Troubleshooting
❌ Bot is online but silent
✅ Check Message Content Intent, channel permissions, channel allowlists, mention-only policy, and whether the Discord gateway restarted after config changes.
❌ Slash commands do not appear
✅ Confirm the invite included the applications.commands scope and wait for command registration to propagate.
❌ Bot sees the wrong files or config
✅ Inspect Docker volume mounts and terminal backend settings; use the Docker Discord container troubleshooting guide if the gateway is containerized.
❌ Discord needs to stay online for a team
✅ Use a managed service or a hardened VPS process with dashboard health checks, logs, backups, and restart monitoring. If you do not want to own that operations loop, compare FlyHermes on the pricing page.