# Hermes Agent: Automation (Cron) ## Capabilities Hermes has a full cron system built into the gateway daemon. Everything below is available through the `cronjob` tool — the agent can set it up via conversation. ## Job Types | Type | Schedule | Example | |------|----------|---------| | One-shot | Relative delay | `30m`, `2h` | | Recurring | Interval | `every 30m`, `every 2h` | | Recurring | Cron expression | `0 9 * * *` | | One-shot | ISO timestamp | `2026-03-15T09:00:00` | | **No-agent mode** | Any schedule | Script-only, zero LLM cost | ## Delivery Targets ``` origin → Back to where the job was created local → Save to ~/.hermes/cron/output/ telegram → Telegram home channel discord → Discord slack → Slack email → Email all → Every connected platform "telegram:123:456" → Specific chat + thread ``` ## No-Agent Mode (Script-Only) For watchdogs, disk checks, health pings — zero LLM cost: ```bash # Script at ~/.hermes/scripts/check-disk.sh # Agent skips this entirely — just runs script, delivers stdout hermes cron create "every 5m" --no-agent --script check-disk.sh --deliver telegram ``` - Empty stdout → silent tick (no delivery) - Non-zero exit → error alert delivered - `{"wakeAgent": false}` → silent tick ## Skill-Backed Cron Jobs Load one or more skills before running the prompt: ```python cronjob(action="create", skill="blogwatcher", prompt="Check configured feeds, summarize anything new.", schedule="0 9 * * *", name="Morning Feeds") ``` ## Job Chaining ```python cronjob(action="create", name="daily-digest", schedule="every day 7am", context_from=["ai-news-fetch", "github-prs-fetch"], prompt="Write the daily digest using the outputs above.") ``` ## Job Lifecycle ``` hermes cron list hermes cron pause hermes cron resume hermes cron run hermes cron edit --schedule "every 4h" hermes cron remove ``` ## Provider Recovery for Cron Cron jobs inherit fallback_providers and credential pool rotation. Per-job provider override: ```python cronjob(action="create", schedule="every 2h", provider="openrouter", model="google/gemini-3-flash-preview", prompt="Check server status") ``` ## Scheduled Task (Chat) ``` /cron add "every 1h" "Summarize new feed items" --skill blogwatcher ``` ## Key ngn-agent Use Cases | Use Case | How | |----------|-----| | Daily report | Cron + skill → delivered to Telegram | | Stale session cleanup | Cron + no-agent script to list, archive old sessions | | Jira summary | Cron + MCP Jira skill → delivered to Telegram | | Infra health check | Cron + no-agent script, deliver only on error | | S3 cleanup monitoring | Cron + AWS CLI script, wakeAgent only when issue found | ## ngn-agent should NOT build - Custom scheduler (use Hermes cron) - Report delivery system (use cron delivery targets) - Script execution (use no-agent mode)