Outpost Documentation

Outpost is open source and self-hostable outbound webhooks infrastructure and the first implementation of Event Destinations that enables delivery of your platform events directly to your users' preferred event destinations.

Outpost supports event delivery to:

  • Webhook endpoints
  • Hookdeck Event Gateway
  • RabbitMQ
  • AWS SQS
  • AWS Kinesis

Planned destination types include AWS EventBridge, GCP Pub/Sub, and Kafka.

Outpost is built and maintained by Hookdeck. It's written in Go and distributed as a binary and Docker container under the Apache-2.0 license.

Outpost has minimal dependencies (Redis, PostgreSQL, and one of the supported message queues), is 100% backward compatible with your existing webhooks implementation and is highly optimized for high-throughput, low-cost operation.

Ethos

Outpost is designed to be low maintenance, effective, scalable and focuses on developer experience. That's achieved by:

  • Supporting table stakes features and keeping the scope to a minimum. We don't believe it's the responsibility of the producer to implement throttling, transformations or other complex logic that's costly to operate.
  • Encouraging and natively supporting event delivery to native event destinations, reducing the latency and failure rate of event delivery. Webhooks are notoriously unreliable because of the various implementation quirks of end users' endpoints.
  • Horizontal scaling with both single and multi-service deployments, so you can run Outpost as a single binary/process if you don't have serious event volume.

Get Started

Follow the quickstart and run Outpost with either RabbitMQ or SQS via LocalStack or with Kubernetes and RabbitMQ:

Try the Outpost quickstarts:

Concepts

Explore the Outpost core concepts and architecture.

Learn more →

Features

Outpost supports features required to provide a best-in-class event destinations developer experience for event producers and consumers:

  • Large choice of event destination types
  • Fanning out events to multiple destinations
  • Sending events to specific destinations
  • Destination connection instructions & authentication flows
  • Event topics and topic-based subscriptions
  • Automatic retries with exponential backoff
  • User portal to configure and manage destinations, and inspect events
  • Manual retries via portal or API
  • Ability to view and list events, including requests and responses
  • Multi-tenant support
  • Alerts for failing destinations with debouncing
  • Auto-disabling of failed destinations after too many failures
  • Opt-out webhook best practices, such as headers for idempotency, timestamp and signature
  • Webhook signature secret rotation, format compatibility, and “bring your own secrets”
  • OpenTelemetry for performance metrics observability
  • Event cross-system referencing for supported destinations to display status, metadata and deep linking

Learn more →

Guides

Explore all the guides →

References

Benchmarks

(In Progress)