
Build durable, resilient, and observable workflows. Built by @vercel.
San Francisco, CA
Joined October 2025
- Tweets60
- Following12
- Followers2.1K
- Likes79
Sending an alert to four channels sequentially means the last channel waits for the first three.
If you send them in parallel without coordination, you lose track of which specific channels failed.
Promise.allSettled() provides the best of both worlds.
Traditional: a retry queue, a backoff column, and a cron to sweep stuck jobs.
Workflow: a for-loop with `sleep()`:
30 Days of Workflow DevKit — Day 4 — Payment Webhooks
What if your webhook tracked an order from first charge to final refund — remembering every event — without a database?
`createWebhook()` can do that in a simple loop:
30 Days of Workflow DevKit — Day 3 — Easy Cancel
You tweaked the system prompt and kicked off a test workflow. Three sections in, every paragraph reads like a fever dream. Stop the run, keep what's there, fix the prompt.
All thanks to a simple cancel():
30 Days of Workflow DevKit — Day 2 — Email Drip Campaign
You need to send 4 emails over 7 days. So you set up a cron, a state table, a "last sent" column, retry logic...
Or you write this:






