Event-triggered workflows

A push becomes a pipeline.

Smithers used to run only when you told it to. Now the outside world runs it for you. A signed webhook fires a durable, replayable workflow, on its schedule, not yours.

$ import { OnWebhook } from "@smithers-orchestrator/integrations"

Why this exists

The work that needs an agent never waits for you.

Triage this issue, review this PR, respond to this event. It all lands on someone else's schedule, and you are asleep, in a meeting, or heads down on something else. Smithers had no way to hear it happen.

How it works

Subscribe, verify, run.

1

Subscribe to the event

Drop <OnWebhook> into a workflow and point it at a GitHub event. The integrations package handles the ingress.

2

It verifies and dedupes

Every delivery has its signature checked and its cursor tracked, so a replayed or forged event never runs twice.

3

A durable run starts

The event kicks off a real Smithers run: checkpointed, retryable, and fully replayable after the fact.

What you get

Reactive, without the glue code.

⇲ webhook source

GitHub events, first-class

A ready GitHub webhook source and an <OnWebhook> trigger. Any signed webhook is next.

🔒 verified

Signatures checked

Deliveries are authenticated at the door. A spoofed payload does not get a run.

⛓ durable delivery

Exactly the runs you meant

Delivery and cursor state are persisted, so retries and replays never double-fire your workflow.

⤺ replay

Every trigger, reviewable

The run an event caused is durable and replayable. Rewind it, inspect it, or fork from any step.

Let the work come to Smithers.

Add the integrations package, subscribe to an event, and never babysit a trigger again.

$ bun add @smithers-orchestrator/integrations