WebhookX: The Next-Generation Webhooks Gateway for Event Delivery

This repository profile is provided by osrepos.com, an open source repository discovery platform.

WebhookX: The Next-Generation Webhooks Gateway for Event Delivery

Summary

WebhookX is an open-source, cloud-native webhook gateway designed for robust and scalable event processing. It efficiently handles receiving, validating, transforming, and delivering events, ensuring reliable communication across distributed systems. This project provides a comprehensive solution for managing webhooks with advanced features like automatic retries, fan-out capabilities, and extensive plugin support.

Repository Information

Analyzed by OSRepos on June 9, 2026

Topics

Click on any tag to explore related repositories

Use at your own risk

OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of code from these repositories is the user's own responsibility. Always review the repository, source code, dependencies, licenses, and security implications before running or installing anything. OSRepos is not responsible for issues, damages, or losses resulting from third-party repositories.

Introduction

WebhookX is an open-source, next-generation webhook gateway built in Go, designed to manage the complexities of receiving, validating, transforming, and delivering events at scale. It provides a robust and reliable solution for handling webhooks in cloud-native environments, ensuring your event-driven architectures run smoothly.

Installation

The WebhookX binary includes both server and CLI commands.

macOS

brew tap webhookx-io/webhookx && brew install webhookx

Linux | Windows

Download the binary distribution from the official releases page.

Examples

This quick start guide demonstrates how to get WebhookX running with Docker Compose and interact with it. For production deployments, refer to the official documentation.

1. Start WebhookX using Docker Compose

The docker-compose.yml provides a simple all-in-one (standalone) deployment for a quick start.

curl -O https://raw.githubusercontent.com/webhookx-io/webhookx/main/docker-compose.yml && docker compose -f docker-compose.yml up

Once it's running, verify with a simple curl command:

curl http://localhost:9601

You should see an HTTP 200 response similar to:

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Server: WebhookX/{version}

{
    "version": "{version}",
    "message": "Welcome to WebhookX",
  	"configuration": {}
}

2. Configure entities

Use a sample declarative configuration webhookx.sample.yml for this quick start. You may need to install the webhookx CLI first.

webhookx admin sync webhookx.sample.yml

This command sends the configuration file to WebhookX via the Admin API.

3. Send events

The Ingestion API is exposed on port :9600.

curl -X POST http://localhost:9600 \
--header 'Content-Type: application/json' \
--data '{
    "event_type": "charge.succeeded",
    "data": {
        "key": "value"
    }
}'

This sends a charge.succeeded event, which WebhookX will route to endpoints defined in your configuration.

4. Inspect delivery results

Attempt objects represent delivery results and include inspection details. The Admin API is exposed on port :9601.

Retrieve the attempt list:

curl http://localhost:9601/workspaces/default/attempts

Example HTTP Response:

{
  "total": 1,
  "data": [
    {
      "id": "338lax8Xe774EhimzBukip37Zne",
      "event_id": "338las8UmbKJZl3aikM44ZWh71P",
      "endpoint_id": "338lQch7qdBqKvlVxXHcPTjLDTn",
      "status": "SUCCESSFUL",
      "attempt_number": 1,
      "scheduled_at": 1758706646768,
      "attempted_at": 1758706646819,
      "trigger_mode": "INITIAL",
      "exhausted": false,
      "error_code": null,
      "request": {
        "method": "POST",
        "url": "https://httpbin.org/anything",
        "headers": null,
        "body": null
      },
      "response": {
        "status": 200,
        "latency": 2402,
        "headers": null,
        "body": null
      },
      "created_at": 1758706646769,
      "updated_at": 1758706649223
    }
  ]
}

To inspect request.headers, request.body, response.headers, and response.body for a specific attempt (e.g., 338lax8Xe774EhimzBukip37Zne), use:

curl http://localhost:9601/workspaces/default/attempts/338lax8Xe774EhimzBukip37Zne

Example HTTP Response:

{
  "id": "338lax8Xe774EhimzBukip37Zne",
  "event_id": "338las8UmbKJZl3aikM44ZWh71P",
  "endpoint_id": "338lQch7qdBqKvlVxXHcPTjLDTn",
  "status": "SUCCESSFUL",
  "attempt_number": 1,
  "scheduled_at": 1758706646768,
  "attempted_at": 1758706646819,
  "trigger_mode": "INITIAL",
  "exhausted": false,
  "error_code": null,
  "request": {
    "method": "POST",
    "url": "https://httpbin.org/anything",
    "headers": {
      "Content-Type": "application/json; charset=utf-8",
      "User-Agent": "WebhookX/{version}",
      "Webhookx-Delivery-Id": "338lax8Xe774EhimzBukip37Zne",
      "Webhookx-Event-Id": "338las8UmbKJZl3aikM44ZWh71P",
      "Webhookx-Signature": "v1=37e25342d983c26d783eafe50fe170eaac731383439568e3354315c2e84c5173",
      "Webhookx-Timestamp": "1758706646",
      "X-Apikey": "secret"
    },
    "body": "{\n        \"key\": \"value\"\n    }"
  },
  "response": {
    "status": 200,
    "latency": 2402,
    "headers": {
      "Access-Control-Allow-Credentials": "true",
      "Access-Control-Allow-Origin": "*",
      "Content-Length": "778",
      "Content-Type": "application/json",
      "Date": "Wed, 24 Sep 2025 09:37:29 GMT",
      "Server": "gunicorn/19.9.0"
    },
    "body": "{\n  \"args\": {}, \n  \"data\": \"{\\n        \\\"key\\\": \\\"value\\\"\\n    }\", \n  \"files\": {}, \n  \"form\": {}, \n  \"headers\": {\n    \"Accept-Encoding\": \"gzip\", \n    \"Content-Length\": \"30\", \n    \"Content-Type\": \"application/json; charset=utf-8\", \n    \"Host\": \"httpbin.org\", \n    \"User-Agent\": \"WebhookX/{version}\", \n    \"Webhookx-Delivery-Id\": \"338lax8Xe774EhimzBukip37Zne\", \n    \"Webhookx-Event-Id\": \"338las8UmbKJZl3aikM44ZWh71P\", \n    \"Webhookx-Signature\": \"v1=37e25342d983c26d783eafe50fe170eaac731383439568e3354315c2e84c5173\", \n    \"Webhookx-Timestamp\": \"1758706646\", \n    \"X-Amzn-Trace-Id\": \"Root=1-68d3bbd7-195b190632c27c547358dbee\", \n    \"X-Apikey\": \"secret\"\n  }, \n  \"json\": {\n    \"key\": \"value\"\n  }, \n  \"method\": \"POST\", \n  \"origin\": \"0.0.0.0\", \n  \"url\": \"https://httpbin.org/anything\"\n}\n"
  },
  "created_at": 1758706646769,
  "updated_at": 1758706649223
}

Why Use WebhookX?

  • Reliable Delivery: Ensures events are delivered with automatic retries and configurable delays, minimizing data loss.
  • Scalability and Fan-out: Routes events to multiple endpoints based on event type, supporting complex event distribution patterns.
  • Rate Limiting: Protects both ingestion and delivery mechanisms from overload, maintaining system stability.
  • Declarative Configuration: Utilizes GitOps-friendly configuration files for easy management and version control.
  • Extensibility with Plugins: Supports extensible inbound and outbound processing through a variety of built-in plugins (e.g., webhookx-signature, wasm for transformations, function for custom logic, event-validation, and security plugins).
  • Observability: Integrates with OpenTelemetry for metrics and tracing, providing deep insights into event flow.
  • Secret Management: Allows referencing secrets from external providers, enhancing security.
  • Multi-tenancy: Provides workspace isolation for configuration entities, suitable for multi-tenant environments.

Links

Related repositories

Similar repositories that may be relevant next.

Argo Workflows: A Cloud-Native Workflow Engine for Kubernetes

Argo Workflows: A Cloud-Native Workflow Engine for Kubernetes

February 12, 2026

Argo Workflows is an open-source, container-native workflow engine designed for orchestrating parallel jobs on Kubernetes. It allows users to define multi-step workflows where each step is a container, modeling dependencies using directed acyclic graphs (DAGs). This CNCF graduated project is ideal for machine learning pipelines, data processing, and CI/CD.

argo-workflowskubernetesworkflow-engine
Kong Gateway: The Cloud-Native API and AI Gateway for Microservices

Kong Gateway: The Cloud-Native API and AI Gateway for Microservices

February 7, 2026

Kong Gateway is a high-performance, cloud-native API and AI Gateway, distinguished for its extensibility and multi-LLM support. It provides robust functionality for proxying, routing, load balancing, and authentication, serving as a central layer for orchestrating microservices and AI traffic. With native Kubernetes integration and a rich plugin ecosystem, Kong Gateway is a versatile solution for modern API management.

api-gatewayai-gatewaykubernetes
tau: Fullstack Workspace for Building and Deploying Cloud-Native Applications

tau: Fullstack Workspace for Building and Deploying Cloud-Native Applications

January 10, 2026

tau is an open-source, Git-native platform-as-a-service (PaaS) designed for building, deploying, and scaling applications. It allows users to define infrastructure directly in Git, eliminating the need for complex API calls. This self-hosted solution offers capabilities akin to Vercel, Firebase, and Cloudflare, with integrated AI features.

Gocloud-nativepaas
Teller: Cloud Native Secrets Management for Developers

Teller: Cloud Native Secrets Management for Developers

December 30, 2025

Teller is an open-source, universal secret manager designed for developers, enabling seamless interaction with secrets directly from the command line. It eliminates the need for scattered .env files or hardcoded tokens, integrating with various vaults and cloud services like Hashicorp Vault, AWS Secrets Manager, and Google Secret Manager. This tool streamlines secret workflows, enhances security, and helps fight secret sprawl across development environments.

rustsecret-managementsecrets

Source repository

Open the original repository on GitHub.

View on GitHub
OS
OSRepos

Analysis and discovery of open source repositories. Find interesting projects and follow their updates.

Monitor your website with YourWebsiteScore

OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of third-party repository code is at your own risk. Always review source code, dependencies, licenses, and security implications before running anything.

© 2025 OSRepos. Built with Nuxt 3 and lots of ❤️