← Back to blog

Hermes Agent Automation Blueprints Turn Cron Jobs Into Conversational Workflows

hermesautomationcronworkflowsagents
Hermes Agent Automation Blueprints Turn Cron Jobs Into Conversational Workflows

On June 11, Nous Research shipped Automation Blueprints for Hermes Agent - a feature that replaces raw cron syntax with parameterized templates that render as native forms, slash commands, and conversational prompts across every Hermes surface. The announcement post received 2,829 likes, 246 retweets, and 1,514 bookmarks in its first 72 hours.

Alok demonstrated the practical impact the same day: "I just automated my entire AI research workflow in 60 seconds with Hermes Agent, and it runs every 15 mins while I sleep." That post collected 100 likes and 135 bookmarks.

What Changed

Before Automation Blueprints, scheduling a recurring Hermes task meant writing a cron expression by hand, crafting the prompt, and assembling a cron.jobs.create_job call. Each one was a manual assembly job. The new system replaces that assembly with a single /blueprint <name> command followed by a guided fill of typed parameters.

The PR that delivered this - #41309 by teknium1 - adds three layers on top of the existing cron scheduler:

  1. 14 curated blueprints covering daily briefings, email monitoring, weekly reviews, habit tracking, meal planning, learning drips, and more. Each carries a fixed recurrence template and parameterizes only the human-facing parts: time of day, weekday set, topic, delivery channel.

  2. Four native renderers that all consume the same blueprint definition. A dashboard user sees a form with one field per slot. A CLI user types a slash command. Someone in a chat session says /blueprint morning-brief and the agent walks them through each value conversationally. The docs site generates a catalog page with copy-paste commands.

  3. Suggested Cron Jobs - Hermes can propose automations based on usage patterns, and the user accepts with one tap via /suggestions. Nothing schedules without explicit acceptance. Dismissals latch.

The 14 Blueprints

The curated catalog covers three categories. Each blueprint's slot schema is the single source of truth; every renderer - dashboard form, CLI command, agent seed, docs page - reads from the same definition in cron/blueprint_catalog.py (713 lines).

Blueprint Category Slot Types Default Schedule
Morning briefing daily time, enum daily at 08:00
Important-mail monitor email enum, text, enum every 30 minutes
Weekly review weekly time, enum, enum sunday at 18:00
Workday start reminder daily time, enum weekdays at 09:00
Custom reminder general text, time, weekdays, enum everyday at 14:00
Evening wind-down daily time, enum daily at 21:00
Topic news digest general text, time, weekdays, enum, enum weekdays at 18:00
Bills & renewals reminder general text, time, weekdays, enum everyday at 10:00
Habit check-in general text, time, weekdays, enum everyday at 20:00
Hydration & movement nudge general enum, enum, enum, enum weekdays, every hour
Weekly meal plan weekly enum, enum, enum, time, enum, enum sunday at 17:00
Daily learning drip daily text, time, weekdays, enum weekdays at 08:30
Gratitude & reflection general time, weekdays, enum everyday at 21:30
On-this-day discovery daily enum, time, enum daily at 07:30

How the Slot System Works

Each blueprint defines typed slots - time, enum, text, or weekdays - that parameterize both the cron schedule and the agent prompt. When a user fills a blueprint, the system validates values against their slot types, resolves the schedule template (replacing {minute}, {hour}, {dow} placeholders), renders the prompt, and passes everything to the existing cron.jobs.create_job. There is no second job engine.

The slot schema lives in a single Python module. Four renderers consume it:

  • Dashboard / Desktop: blueprint_form_schema() emits JSON for a form renderer - one field per slot. Submit calls POST /api/cron/blueprints/instantiate.
  • CLI / TUI / Messenger: blueprint_slash_command() emits a flattened /blueprint <key> slot=val string.
  • Conversational agent fill: /blueprint <name> (alias /bp) seeds the agent to ask for each value one at a time, then calls the cron job tool. Matching is tolerant: exact → prefix → substring → fuzzy, with ambiguous matches listing candidates.
  • Docs catalog: blueprint_catalog_entry() emits a combined shape with form schema, slash command, deep-link URL, and human-readable schedule for the generated docs page.

Desktop users also get hermes://blueprint/<key>?slot=val deep-links that route directly into the chat composer pre-filled.

Invariant Safety

The conversational fill path requires care. When a user types /blueprint morning-brief, the system builds an agent seed - but that seed enters as a normal user turn, never as a synthetic injection behind the agent's back. The gateway dispatcher rewrites event.text to the seed and falls through to the agent - the same pattern used by /steer. The CLI handler sets a one-shot pending seed that the interactive loop consumes on the next turn. The slot=value one-liner remains available as the deterministic path for dashboard, docs, and power users.

What This Replaces

Before blueprints, a cron job for something like a morning briefing required assembling a cron expression, writing a prompt, configuring the delivery channel, and calling the cron API - all manually. Now:

/blueprint morning-brief time=07:30 deliver=telegram

One command. The system resolves the schedule (30 7 * * *), fills the prompt template, and creates the job. The same blueprint rendered as a dashboard form gives a non-technical user three dropdowns and a submit button.

Scope

The PR touched 30 files across six surfaces - core cron module, CLI, gateway, dashboard, desktop app, and docs - adding approximately 2,808 lines of code with 245 lines of tests for the blueprint catalog alone. It shipped as part of the broader velocity cycle that produced v0.16.0 on June 5, which delivered 874 commits, 542 merged PRs, and the Hermes Desktop app. The blueprints feature itself landed in a mid-cycle point release after the v0.16.0 surface release.

The feature does not introduce a new job scheduler or tool. Every blueprint resolves to a standard cron.jobs.create_job call. The catalog is extensible - skills can carry their own blueprints, and the suggestion engine can surface community-created automations over time.

[^1]: Nous Research. "Hermes Agent now has Automation Blueprints, turning cron jobs into clickable, fillable, conversational workflows." X. June 11, 2026.

[^2]: teknium1. "feat(cron): Automation Blueprints - parameterized automation templates across every surface" GitHub. Merged June 11, 2026.

[^3]: Alok. "I just automated my entire AI research workflow in 60 seconds with Hermes Agent, and it runs every 15 mins while I sleep." X. June 13, 2026.

Termagotchi
_

Ryan Underdown

Autodidact. Rarely listens to advice.

Follow on X @catamarammed or GitHub @underdown