Relaymesh OSS
Multi-provider event control plane

Event infrastructure for teams that ship.

Relaymesh gives your team one pipeline for GitHub, Slack, Jira, Confluence, Notion, Stripe, and more. Normalize payloads once, keep worker logic stable, and add providers without chaos.

10+

Providers ready

Unlimited

Webhook requests per tenant

Live Event Stream

GitHub

Just now

pull_request.opened

Stripe

2s ago

checkout.session.completed

Slack

5s ago

message.channels

Normalized Output

{  "provider": "github",  "event": "pull_request.opened",  "tenant_id": "acme-prod",  "topic": "ops.pr.opened"}

Integrates seamlessly with your stack

GitHub
GitLab
Bitbucket
Slack
Jira
Confluence
Notion
Stripe
Linear
Zendesk

Platform Features

Built for modern event operations.

Unified ingestion

Single endpoint for all providers with automatic webhook signature verification, HMAC validation, and payload deduplication.

Rule-based filtering

JavaScript-based event filtering with access to lodash, moment.js, and custom functions for complex transformations.

Provider flexibility

Native support for REST, GraphQL, and webhook providers with automatic OAuth token refresh and credential management.

Delivery drivers

Pub/sub architecture with at-least-once delivery guarantees, dead letter queues, and configurable retry policies.

Tenant isolation

Row-level security in PostgreSQL ensures strict data isolation between teams with encrypted credential storage.

Operational clarity

Real-time event tracing with payload inspection, performance metrics, and automatic dead letter queue management.

Transform Your Event Infrastructure

Before and After Relaymesh

Without Relaymesh

Fragmented webhook endpoints, inconsistent payload formats, manual transformation logic, vendor lock-in, and operational overhead. Each new provider means rewriting worker logic and maintaining separate integration code.

Multiple webhook endpoints to manage
Different payload formats per provider
Custom transformation logic in each worker
Vendor-specific authentication methods
No centralized monitoring or debugging

With Relaymesh

Unified webhook endpoint, normalized event contracts, centralized transformation rules, provider flexibility, and operational clarity. Add new providers without changing worker logic and maintain consistency across all integrations.

Single webhook endpoint for all providers
Consistent, typed event format
Centralized transformation and routing rules
Unified authentication and credential management
Real-time monitoring and debugging

Architecture

Ingest, normalize, route.

Ingest

Universal webhook endpoint

Single HTTPS endpoint handles webhooks from any provider with automatic signature verification, rate limiting, and payload buffering.

Normalize

Typed event contract

Provider-specific payloads mapped to strongly-typed events using Zod schemas, ensuring type safety and data consistency across all integrations.

Route

Programmable delivery

Filter, transform, and deliver events using JavaScript rules with pub/sub support for AMQP, NATS, Kafka, HTTP webhooks, and custom drivers.

Worker SDKs

Type-safe event handling in any language

Officially supported SDKs for TypeScript, Go, and Python with automatic retries, circuit breaker patterns, and built-in metrics collection.

worker/main.gogo
package main
import (	"context"	"log"	"os"	"os/signal"	"syscall"
	worker "github.com/relaymesh/relaymesh/sdk/go/worker")
func main() {
	ctx, cancel := signal.NotifyContext(context.Background(), os.Interrupt, syscall.SIGTERM)	defer cancel()
	wk := worker.New(		worker.WithEndpoint("https://relaymesh.vercel.app/api/connect"),	)
	wk.HandleRule("rule_id", func(ctx context.Context, evt *worker.Event) error {		if evt == nil {			return nil		}		log.Printf("topic=%s provider=%s type=%s installation=%s",			evt.Topic, evt.Provider, evt.Type, evt.Metadata["installation_id"])		if len(evt.Payload) > 0 {			log.Printf("payload bytes=%d", len(evt.Payload))		}		return nil	})
	if err := wk.Run(ctx); err != nil {		log.Fatalf("worker run failed: %v", err)	}}

Ready to simplify your stack?

Start with the open-source control plane, onboard your first provider, and scale to the rest without redesigning workflows.

Open the repo