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"
event
GH pull_request
opened · #482
webhook
signature ✓
verified & deduped
durable run
fetch diff
review
comment
back out
GH review
posted to #482

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