Skip to content
EventEventSynkroorchestratorStep 1Step 2Step 3

Synkro

Lightweight event-driven workflow orchestrator for Node.js. Define events, workflows, and state machines — backed by Redis or in-memory.

Packages

Quick Example

Get started in under 10 lines of code:

import { Synkro } from "@synkro/core";
const synkro = await Synkro.start({
transport: "in-memory",
events: [
{
type: "UserSignedUp",
handler: async (ctx) => {
console.log("New user:", ctx.payload);
},
},
],
});
await synkro.publish("UserSignedUp", { email: "user@example.com" });

Why Synkro?

Simple Configuration

Define events and workflows via plain configuration objects. No complex setup, no boilerplate — just describe what you want and Synkro handles the rest.

Production Ready

Redis-backed transport with distributed locking, deduplication, retry with backoff, dead letter queues, and graceful shutdown. Battle-tested for real workloads.

Framework Agnostic

First-class integrations for NestJS, Next.js, and raw Node.js HTTP. Or bring your own framework — Synkro’s core has zero framework dependencies.

AI Agent Ready

Build LLM-powered agents with tools, memory, and multi-agent patterns. Bridge agents into Synkro’s event system for distributed orchestration with full guarantees.