Corsair Workflows (beta). Durable workflows, built in. No external engine to wire. See how
webhookHooks to start Temporal workflows the moment an event fires. Temporal handles durability, retries, and long-running execution. Corsair handles the webhook plumbing and integration auth.
Install
Event trigger
When a Stripe payment fails, start a Temporal workflow that notifies the customer via Resend. One activity, one action.corsair.ts
temporal/workflows.ts
temporal/activities.ts
Workflow
When a new trial contact is created in HubSpot, send a welcome email immediately, wait 3 days, then check if they upgraded. If not, send a follow-up. Thesleep is durable across restarts, no cron or external scheduler needed.
corsair.ts
temporal/workflows.ts
temporal/activities.ts
Cron job
Create a Temporal schedule that runs every morning and posts a standup digest to Slack. The digest lists all open Linear issues, pulled from Corsair’s local database.temporal/schedules.ts
temporal/workflows.ts
temporal/activities.ts
Register the schedule once, ideally in a migration or a one-off setup script. A
scheduleId must be unique, so calling client.schedule.create() again with the same id throws ScheduleAlreadyRunning. If you register on every server startup, wrap the call and swallow only that error:What’s next
Inngest
Durable step functions triggered from Corsair webhooks.
Trigger.dev
Background tasks and scheduled jobs with Trigger.dev.
Hatchet
Event-driven workflows with Hatchet.
Workflows guide
Chain webhook events without a job queue.