Overview
Outpost is outbound webhooks infrastructure and an open-source implementation of Event Destinations that enables delivery of your platform events directly to your users' preferred event destinations.
Outpost is open source (Apache-2.0), self-hostable, and written in Go. It's distributed as a binary and Docker container with minimal dependencies.
Hookdeck offers a managed version of Outpost with all the reliability and scalability of Outpost without managing any servers, message queues, or configuration.
Goals
Outpost aims to be a lightweight, high-performance solution for delivering webhooks and events to your users. Outpost covers the table stakes to deliver an at-least-once delivery guarantee and provide a great developer experience, modeled after APIs such as Stripe. By design, Outpost doesn't implement support for bells and whistles such as per-tenant delivery rates that would lead to complex and expensive architecture. Instead, by using Event Destinations, your users can bring their own capabilities such as controlling throughput, transforming events, etc.
Key Features
- Event destinations support offering more secure and scalable event delivery over webhooks
- Fanning out events to multiple destinations
- Event topics and topic-based subscriptions
- Destination-level filters based on event content
- Automatic retries with exponential backoff or a custom retry schedule
- Manual retries via portal or API
- JWT authenticated API to easily build your own UI or a self-service portal for your users to manage destinations and inspect events
- Multi-tenant support with per-tenant isolation
- Alerts for failing destinations with debouncing
- Auto-disabling of failed destinations (optional)
- Webhook signatures and best practices (Standard Webhooks compatible)
- Webhook secret rotation
- OpenTelemetry support for metrics
Supported Destinations
Outpost delivers events to any of the following destination types:
- Webhook — HTTP POST to any endpoint
- Hookdeck Event Gateway — Advanced delivery with retries, transformations, and observability
- AWS Kinesis — Stream to a Kinesis Data Stream
- AWS SQS — Queue events in Amazon SQS
- AWS S3 — Store events as objects in S3
- Azure Service Bus — Send to a Service Bus queue or topic
- GCP Pub/Sub — Publish to a Pub/Sub topic
- RabbitMQ (AMQP) — Send to a remote RabbitMQ exchange
- Kafka — Send to a remote Kafka topic
If you'd like to see more destination types added, open an issue or PR.
Get Started
Hookdeck Outpost is available through Hookdeck.
Once your account has been created, follow the documentation or in-product get started guide:
- Concepts — Understand the core models
- Publishing Events — Publish your first event
- Destinations — Configure where events are delivered
- Tenant Portal — Embed the portal in your product
Follow one of our self-hosted quickstarts to deploy Outpost:
- Deploy on Railway — One-click deployment with a Railway template
- Deploy with Docker — Docker Compose with RabbitMQ or SQS
- Deploy on Kubernetes — Minikube setup with Helm
Then explore:
- Concepts — Architecture and core models
- Publishing Events — Publish your first event
- Configuration Reference — All environment variables