I Part 1 โ Connect Discord to Hermes
Set up a Discord application and bot, invite it to your server, then point Hermes at it.
1 Create the Discord application
Go to the Discord Developer Portal → New Application → name it (e.g. "Hermes Agent") → Create.
Note the Application ID on the General Information page.
2 Create the bot
Left sidebar → Bot. Discord auto-creates a bot user.
Under Authorization Flow: set Public Bot to ON (needed for the easy invite link) and leave Require OAuth2 Code Grant OFF.
3 Enable Privileged Gateway Intents
Still on the Bot page, scroll to Privileged Gateway Intents and turn ON:
- Server Members Intent (required)
- Message Content Intent (required โ without this the bot connects but can't read anything you type)
Click Save Changes.
4 Get the bot token
Under Token, click Reset Token, confirm 2FA if enabled, and copy it immediately.
5 Generate an invite URL
Easiest: Installation tab → enable Guild Install → Install Link = Discord Provided Link → under Default Install Settings pick:
- Scopes:
bot+applications.commands - Permissions: View Channels, Send Messages, Embed Links, Attach Files, Read Message History (add Send Messages in Threads / Add Reactions too)
Or build it manually:
https://discord.com/oauth2/authorize?client_id=YOUR_APP_ID&scope=bot+applications.commands&permissions=274878286912
6 Invite it to your server
Open that URL, pick your server, Authorize, complete the CAPTCHA.
7 Get your Discord User ID
Discord Settings → Advanced → turn on Developer Mode → right-click your username → Copy User ID.
8 Configure Hermes
Easiest โ run:
hermes gateway setup
Pick Discord, paste the token and your user ID when prompted.
Or manually, add to ~/.hermes/.env:
DISCORD_BOT_TOKEN=your-bot-token
DISCORD_ALLOWED_USERS=284102345871466496
Then start it:
hermes gateway
Send the bot a DM to test โ in server channels it needs an @mention unless you set DISCORD_FREE_RESPONSE_CHANNELS.
9 Set a home channel (optional, useful for cron)
The channel where scheduled/cron output gets delivered. Type /sethome in the channel you want, or set manually:
DISCORD_HOME_CHANNEL=123456789012345678
II Part 2 โ Cron job: daily "AI tips" digest to Discord
Cron jobs run in an isolated session with no memory of past chats, so the prompt must be fully self-contained โ tell it exactly what to search, how to format it, and where to send it.
Create it in chat
/cron add "0 9 * * *" "Search the web for the most useful and recent AI tips, tricks, prompting techniques, and tool updates from the last 24 hours. Focus on practical, actionable things (prompt engineering tricks, new model features, workflow hacks) โ skip generic news and hype. Summarize the top 5 in a punchy Discord-friendly format, using bold headers and short bullet points. Keep the whole thing under 300 words." --name "daily-ai-tips" --deliver discord
Or via the CLI
hermes cron create "every day 9am" \
"Search the web for the most useful and recent AI tips, tricks, prompting techniques, and tool updates from the last 24 hours. Focus on practical, actionable things โ skip generic hype and news recaps. Summarize the top 5 in a Discord-friendly format with bold headers and short bullets. Keep it under 300 words." \
--name "daily-ai-tips" \
--deliver discord
Tuning it
| Option | Notes |
|---|---|
| Schedule | Swap "0 9 * * *" for whatever you want โ "every 1d", "every monday 9am", standard cron syntax all work. |
--deliver discord | Sends to your configured Discord home channel. Target a specific one with --deliver discord:#channel-name or a channel ID. |
| Verify & test | hermes cron list to check it; hermes cron run <job-id> to force a test run before waiting for the schedule. |