Railhook vs Hookdeck — open-source Hookdeck alternative
Use this page to decide between Hookdeck and Railhook. Hookdeck is two products: Event Gateway for receiving webhooks and Outpost for sending them. Railhook does both in one product, and this page compares it with each half.
Side by side
Section titled “Side by side”| Railhook | Hookdeck Event Gateway | Hookdeck Outpost | |
|---|---|---|---|
| Direction | Receiving and sending | Receiving | Sending |
| Licence | MIT | Closed source, SaaS only | Apache-2.0 |
| Self-hostable | Yes, every feature | No | Yes |
| Delivers to queues and event buses | No, HTTP only | — | Yes: SQS, Kafka, EventBridge, Pub/Sub, RabbitMQ and more |
| Customer-facing portal | Yes, embeddable | — | Yes |
| OpenTelemetry | No | — | Yes |
| Free CLI for local development | Yes | Yes, with the Console | — |
A dash means the pages we checked did not settle the point, or it does not apply to that product. It is not a claim that the feature is missing.
When Hookdeck is the better choice
Section titled “When Hookdeck is the better choice”- Your customers’ receivers are queues, not HTTP services. Outpost delivers to SQS, Kafka, EventBridge, Pub/Sub and RabbitMQ. Railhook delivers over HTTP only.
- You want a portal your customers use themselves, styled with your own CSS. Outpost has a user portal. Railhook has an embeddable customer portal too, but its theming is a brand colour, a logo, light or dark and the language.
- You want traces. Outpost exports OpenTelemetry. Railhook exposes Prometheus metrics and no traces.
- You receive webhooks and never want to run anything. Event Gateway is a managed service with paid plans. Railhook Cloud is free-plan only for now, so a volume above its limits means self-hosting.
When Railhook is the better choice
Section titled “When Railhook is the better choice”- You must self-host the receiving side. Event Gateway is closed source and runs only as Hookdeck’s SaaS. Railhook’s ingress, verification, forwarding and replay are all in the MIT repository, so provider webhooks never have to pass through a third party.
- You receive and send. Hookdeck splits the directions into two products with two deployments. In Railhook, incoming forwards and outgoing deliveries share one attempt lifecycle, one dashboard and one list of failed messages.
- You decide how long webhooks are kept. A self-hosted Railhook keeps stored webhooks for as long as you configure, and replays any of them to your services again. See Data retention.
- You want provider verification without writing it. Railhook verifies Stripe, GitHub, GitLab, Shopify, Slack and Twilio signatures itself and refuses a forged webhook with
401before storing it. See Verification.
Moving from Hookdeck
Section titled “Moving from Hookdeck”An Event Gateway source becomes a Railhook source, and its destinations become the source’s destinations. An Outpost destination becomes a Railhook endpoint. Create the Railhook source and its destinations first, send a test webhook to the ingress URL, then change the provider’s webhook URL to it. Migrate to Railhook has the full mapping.
Next steps
Section titled “Next steps”Migrate to RailhookConcept mapping and a migration with both platforms live.
Receive your first webhookCreate a source and forward to a destination.
How Railhook comparesRailhook next to every alternative, gaps included.