Hookway

Hookway

Receive, verify, and route webhooks to the systems you already run. Expose selected APIs as authenticated MCP tools, configured in the same YAML flows. Hookway is self-hosted: configure flows in YAML or export them from the visual builder, then run core as a Go binary or Docker container.

Features

Your applications own queue consumption and business processing. A successful response means the acknowledgement policy you configured, not exactly-once processing. Async HTTP delivery uses a process-local memory queue.

Website · First signed webhook · API-to-MCP guide

Quick start

With Docker and Docker Compose installed:

make dev-up

Open the replay console or builder. The local development guide has the sign-in key, a signed webhook example, and a failure/retry walkthrough.

For a minimal core configuration, start with examples/config.yaml. See all examples, configuration, and CLI commands.

How it fits together

flowchart LR
  Sender[Webhook sender] --> Core[Hookway core]
  Builder[Optional config builder] -. exports .-> Config[core.yaml]
  Config -. configures .-> Core
  Core <--> Protection[Rate limits and duplicate protection]
  Protection --> Memory[(Per-process memory)]
  Protection --> Shared[(Shared Redis or PostgreSQL)]
  Core --> Destinations[Queues, stores, databases, Lambda, workflows, or HTTP]
  Core -. captures eligible failures .-> Replay[Optional replay service]
  Replay <--> ReplayDB[(Replay PostgreSQL)]
  Replay -. operator retry .-> Core

Protection uses the store selected in YAML. Replay has its own PostgreSQL store. Flows are typed node graphs; see pipeline invariants for ordering rules and recovery limits.

Learn more