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 — the minimal trigger pattern.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. This is the kind of time-delayed sequence that makes Temporal worth reaching for: 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 — all open Linear issues, pulled from Corsair’s local database.temporal/schedules.ts
temporal/workflows.ts
temporal/activities.ts
Use
client.schedule.create() once at server startup or in a migration script. Subsequent restarts won’t duplicate the schedule — Temporal deduplicates by scheduleId.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.