Postmaster Live

Enterprise Webhook Proxy Operator for Kubernetes

Stop writing custom webhook handlers for every integration. Postmaster Live acts as a centralized webhook proxy for your entire organization, automatically forwarding webhook events to Kafka streams and making them available via API—with advanced filtering and routing capabilities.

🚀 Dynamic Webhook Provisioning

Create webhook endpoints on-demand via REST API. Each tenant gets a unique, secure endpoint backed by Kubernetes Custom Resource Definitions (CRDs).

🎯 Smart Filtering

Discard unwanted events before they reach Kafka. Filter by account ID, event type, or any field in the webhook payload using JSONPath expressions. Support for operators: equals, not_equals, in, not_in, contains, not_contains.

🔀 Intelligent Routing

Route events to different Kafka topics based on payload content. Perfect for multi-tenant scenarios—route Zoom events by account_id, Stripe webhooks by customer, or GitHub events by repository.

🔐 Enterprise Security

HMAC-SHA256 signature verification for both API authentication and webhook payloads. Prevent replay attacks with automatic timestamp validation (5-minute window).

☸️ Cloud-Native Architecture

Native Kubernetes operator with high availability, multi-replica deployment, health checks, and automatic CRD synchronization across pods.

📊 Kafka Streams + API Access

Every webhook event is forwarded to Kafka for stream processing AND made available via API for real-time consumption. Choose your integration pattern.

Real-World Use Cases

Zoom Meeting Events

  • Filter out test/blocked accounts
  • Only allow specific event types
  • Route to account-specific topics
  • Example: enterprise_acc_123 → zoom.enterprise.account-123

Stripe Payments

  • Filter out test mode events
  • Route by event type
  • Separate topics for payments, refunds, customers
  • Example: payment_intent.succeeded → stripe.payments.success

GitHub Webhooks

  • Filter by repository name
  • Route by action type
  • Isolate push, PR, and issue events
  • Example: action=opened → github.pull-requests

How It Works

1. Provision: Call /config endpoint with your topic, filters, and routing rules. Get back a unique webhook URL.

2. Configure: Point your third-party service (Zoom, Stripe, GitHub) to your webhook URL.

3. Stream: Events automatically flow to Kafka topics based on your routing rules. Filtered events are discarded before reaching Kafka.

4. Consume: Process events from Kafka streams or query via API—your choice.

Key Benefits

No Custom Code: Eliminate the need to write, deploy, and maintain webhook handlers for every integration.

Multi-Tenancy: One operator handles webhooks for your entire organization with tenant isolation via topic routing.

Zero Database: All state stored in Kubernetes CRDs—no external database required.

Production Ready: Real health checks, structured logging, error handling, and comprehensive monitoring.

View on GitHub Installation Guide