Schedule Tasks with Hermes Using Natural Language
Use natural language cron to schedule recurring tasks and reminders with Hermes Agent.
Hermes has a built-in cron scheduler that understands natural language — tell it 'every morning at 9am, check Hacker News and send me a summary on Telegram' and it handles the rest, running unattended while you sleep.
Before you start:
- ☑Hermes Agent installed and running as a persistent process (PM2 or Docker recommended)
- ☑At least one messaging channel connected (Telegram, Discord, etc.) to receive scheduled outputs
- ☑'scheduler: enabled: true' in config.yaml
Steps
- 1
Enable scheduling
Set scheduler: enabled: true in config.yaml
- 2
Add a schedule
Tell Hermes: 'Every day at 9am, summarize my emails'
- 3
Configure notifications
Set up where you want notifications (Telegram, Discord, etc.)
- 4
Done
Hermes schedules it automatically
Pro Tips
- 💡For scheduling to work reliably, Hermes must run continuously — use PM2 ('pm2 start hermes') or Docker to keep it alive
- 💡You can schedule with natural language: 'every weekday at 8am' or 'every Sunday at 7pm' — no cron syntax needed
- 💡Chain tasks: set a morning digest that pulls from email, GitHub, and calendar into one Telegram message
Troubleshooting
❌ Scheduled task doesn't run at the expected time
✅ Check your timezone setting in config.yaml. Hermes uses UTC by default if no timezone is set, which may cause time offset issues.
❌ Hermes misses schedules after server reboot
✅ Ensure Hermes is set to auto-start on boot. With PM2: 'pm2 startup && pm2 save'. With Docker: use '--restart unless-stopped'.
❌ Scheduled notification arrives but message is empty
✅ The scheduled task may have hit a tool error silently. Check 'hermes logs --level debug' around the scheduled time to see what failed.