hermes - 💡(How to fix) Fix [Feature]: Surface existing webhook adapter + dynamic subscriptions as a first-class capability

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Webhook support already exists in the codebase, but it is easy to miss from the outside. Create a tracking issue to treat it as a first-class Hermes capability and make it easier to discover, validate, and ship confidently.

Root Cause

Webhook support already exists in the codebase, but it is easy to miss from the outside. Create a tracking issue to treat it as a first-class Hermes capability and make it easier to discover, validate, and ship confidently.

RAW_BUFFERClick to expand / collapse

Summary

Webhook support already exists in the codebase, but it is easy to miss from the outside. Create a tracking issue to treat it as a first-class Hermes capability and make it easier to discover, validate, and ship confidently.

What already exists

Implementation is already present in the repo:

  • adapter:
    • /opt/hermes/gateway/platforms/webhook.py
  • CLI for dynamic subscriptions:
    • /opt/hermes/hermes_cli/webhook.py
  • docs:
    • /opt/hermes/website/docs/user-guide/messaging/webhooks.md
  • tests:
    • tests/gateway/test_webhook_integration.py
    • tests/gateway/test_webhook_adapter.py
    • tests/gateway/test_webhook_dynamic_routes.py
    • tests/hermes_cli/test_webhook_cli.py

Capabilities already implemented

From a quick code/docs pass, the current webhook surface already includes:

  • HTTP webhook receiver with health endpoint
  • route-based event handling at /webhooks/<route-name>
  • signature validation for GitHub / GitLab / generic HMAC flows
  • prompt templating with dot-notation access into payloads
  • dynamic route management via hermes webhook subscribe|list|remove|test
  • hot-reload of dynamic subscriptions from disk without gateway restart
  • cross-platform delivery (telegram, discord, slack, github_comment, etc.)
  • rate limiting, idempotency cache, body-size limits
  • docs and test coverage for adapter + integration flows

Problem

Even though the implementation exists, it is not obvious enough to users/maintainers that Hermes already supports inbound webhooks and dynamic webhook subscriptions. This makes the feature feel “not shipped” or easy to overlook.

Proposed follow-up

Treat this issue as the umbrella for making webhooks discoverable and production-ready:

  • audit current UX/docs so users can find webhook support from the main entrypoints
  • verify the documented setup works end-to-end in the current runtime/distribution(s)
  • add any missing smoke test / CI coverage for the CLI and adapter path together
  • make sure setup/help text points people to hermes webhook ...
  • decide whether this should be called out in the main docs / README / automation guides
  • capture known limitations / security footguns clearly (prompt injection, exposed public endpoint, auth requirements)

Why this issue

The core functionality appears to be largely implemented already. The gap is discoverability, validation, and finishing the product surface around it rather than inventing the feature from scratch.

extent analysis

TL;DR

Improve discoverability and validation of the existing webhook support in Hermes by auditing and refining documentation, testing, and user experience.

Guidance

  • Review and update the main entrypoints, such as the README and user guide, to clearly indicate the availability of webhook support.
  • Verify that the documented setup works end-to-end in the current runtime and distribution, and add any missing smoke tests or CI coverage.
  • Ensure that setup and help text points users to the hermes webhook command for dynamic subscriptions.
  • Consider calling out webhook support in the main documentation and automation guides to improve visibility.

Example

No specific code snippet is provided, as the issue focuses on improving discoverability and validation rather than implementing new functionality.

Notes

The existing implementation of webhook support in Hermes is comprehensive, but its discoverability and validation are limited. The proposed follow-up steps aim to address these gaps and make the feature more production-ready.

Recommendation

Apply a workaround by treating this issue as an umbrella for making webhooks discoverable and production-ready, as the core functionality is already largely implemented. This approach allows for refinement and improvement of the existing feature without requiring a full reimplementation.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

hermes - 💡(How to fix) Fix [Feature]: Surface existing webhook adapter + dynamic subscriptions as a first-class capability