Back to Commands
Advancedhermes webhook

hermes webhook Command — Complete Reference & Examples

Complete reference for hermes webhook: subscribe, list, remove, and test dynamic webhook subscriptions for event-driven agent activation.

July 27, 2026

Overview

hermes webhook creates, lists, and removes dynamic webhook subscriptions for event-driven agent activation. Each subscription exposes a webhook route; when an external service POSTs to it, Hermes validates the request and either runs the agent with a rendered prompt or delivers the message directly to a chat platform.

hermes webhook <subscribe|add|list|ls|remove|rm|test>

add, ls, and rm are aliases for subscribe, list, and remove.

Subcommands

subscribe (alias add) — Create a webhook subscription

hermes webhook subscribe <name> [options]

<name> is the route name, used in the URL: /webhooks/<name>.

Option Description
--prompt PROMPT Prompt template with {dot.notation} payload references.
--events EVENTS Comma-separated event types to accept.
--description DESCRIPTION What this subscription does.
--skills SKILLS Comma-separated skill names to load for the agent run.
--deliver DELIVER Delivery target: log, telegram, discord, slack, etc.
--deliver-chat-id ID Target chat ID for cross-platform delivery.
--secret SECRET HMAC secret (auto-generated if omitted).
--deliver-only Skip the agent — deliver the rendered prompt directly as the message. Zero LLM cost. Requires --deliver to be a real target (not log).
--script SCRIPT Filter/transform script under ~/.hermes/scripts/. The route payload is passed as JSON on stdin; empty stdout, [SILENT], or a nonzero exit code ignores the webhook.

list (alias ls) — List all subscriptions

hermes webhook list

remove (alias rm) — Remove a subscription

hermes webhook remove <name>

test — Send a test POST

hermes webhook test <name>
hermes webhook test <name> --payload '{"issue": {"number": 42}}'

Sends a test POST to the subscription’s webhook route. --payload replaces the default test payload with custom JSON.

Examples

# Subscribe to GitHub issues and deliver rendered summaries to Telegram
hermes webhook subscribe github-issues \
  --events "issues" \
  --prompt "New issue #{issue.number}: {issue.title}" \
  --deliver telegram \
  --deliver-chat-id "-1001234567890" \
  --description "Triage new GitHub issues"

# Pure notification with zero LLM cost
hermes webhook subscribe critical-alerts \
  --prompt "🚨 {service} critical: {metric}" \
  --deliver telegram --deliver-chat-id "-1001234567890" --deliver-only

# Lifecycle
hermes webhook list                 # Review all subscriptions
hermes webhook test github-issues   # Test before relying on it
hermes webhook rm github-issues     # Clean up unused subscriptions

Tips

  • subscribe/add, list/ls, and remove/rm are interchangeable aliases.
  • A unique HMAC secret is auto-generated for each subscription unless you pass --secret.
  • Use --deliver-only for pure notifications: no LLM cost, no agent run.
  • Use --script to filter or transform payloads before they reach the agent.
  • Always test a subscription with hermes webhook test before relying on it.

Explore All Commands

Browse the full command reference with search and category filters.

Back to Commands