Build Lean SaaS cube logoBuild Lean SaaS
Back to Always-On Agents
Course lesson 4decisionskillintermediate

Connect Hermes to Discord

Set up a private Discord control channel for Hermes/OpenClaw so the agent can report status, summarize triage items, and wait for human approval before changing Linear.

Austin Witherow
3 min read
Use the attached skill

Discord is the control room for this course.

The VPS gives the agent a stable home. Hermes/OpenClaw gives it a runtime. Discord gives you the place to ask what happened, review what it found, and approve the next move without SSHing into the server every time.

That comes before the X bookmark workflow.

If bookmarks are going to become tasks, the review loop needs to exist first.

Course path

Follow the Always-On Agents course path

Follow the complete public course path, install the skills as you go, and use DevelopJoy when you want the workflow wired into your actual VPS.

Public walkalong guide
Installable skills
DevelopJoy setup path

What we are building

The first version is intentionally narrow:

Do not expose a raw Hermes HTTP endpoint. The bot should be the narrow bridge between a private Discord channel and the local agent runtime.

Create the Discord boundary

Create:

  • One private Discord server or private category.
  • One channel, for example #agent-inbox.
  • One bot installed only into that server.
  • One allowlist of user IDs or role IDs.
  • One configured channel ID.

For v1, avoid broad channel access. Avoid reading every message in the server. Prefer slash commands and explicit button actions.

Environment variables

The adapter should read configuration from env:

Keep the token in the server secrets directory. Do not commit it into the repo or skill folder.

First command set

Start with commands that are useful and hard to abuse:

CommandBehavior
/hermes statusReturn runtime status and last heartbeat time.
/hermes inboxShow current Linear Triage captures waiting for review.
/hermes summarizeAsk Hermes to summarize new captured items.
/hermes triage issue:<id>Ask Hermes to draft a decision for one Linear issue.
/hermes apply decision:<id>Apply a previously reviewed decision.

No arbitrary shell command. No raw prompt passthrough. No mutation without a reviewable decision ID.

How this fits X bookmarks

The bookmark job should stay deterministic:

Discord is where the review starts:

That separation matters. X capture should be cheap and predictable. Hermes should add judgment. Discord should make the judgment visible before it changes the task system.

Install the skill

The supporting skill is:

Use it to keep the adapter rules consistent: one channel, one command surface, allowlisted users, logs, and no public Hermes port.

Supported implementation

Want this Discord control channel wired safely?

DevelopJoy can help install the bot, set the permissions, connect Hermes/OpenClaw, and keep the channel from turning into a public agent endpoint.

Build it with us

Pair-programming lab

$100/mo
Monthly pairing session
Agent workspace setup help
PR review and workflow debugging
Start pair programming

Have us build it

Done-for-you focus sprint

Starts at $500/mo
Four monthly development hours
One focused workflow lane
Two alignment meetings + revision pass
Explore done-for-you setup

What comes next

Once the Discord control channel works, capture something real:

The bot does not need to own the capture job. It needs to help you review what the capture job creates.

References

Next action

Keep this inside the course path

Continue the lesson sequence, install the skill when one exists, or use DevelopJoy when you want the workflow wired into your real workspace.