finds.dev← search

// the find

vercel/workflow

★ 2,444 · TypeScript · Apache-2.0 · updated Oct 2026

Workflow SDK: Build durable, reliable, and observable apps and AI Agents in TypeScript

A TypeScript SDK that makes ordinary async functions durable: progress is persisted, failed steps retry, and a workflow can sleep or wait on a hook without holding a process open. It is aimed at backend and AI-agent code that has to survive restarts and run for minutes or days, with integrations for Next.js, Nuxt, Nitro, Astro and NestJS.

Persistence sits behind a World interface. Local development uses a bundled backend with no setup, Postgres covers self-hosting, and the docs describe writing a custom World. That seam keeps the programming model from being tied to one host. Suspension is the property that makes long-running agent loops affordable on serverless, since a waiting workflow releases its compute. The README states it plainly, though you would still want to verify it against your own timeouts. The package ships version-matched docs in node_modules/workflow/docs, so coding agents read the API for the version you installed instead of from memory. The repo is run like a product: changesets for releases, a cross-framework e2e matrix, and bundle-size and benchmark workflows on pull requests. That matters for a runtime where a regression means a step runs twice or not at all.

The README does not explain the execution model. For a durable runtime the questions that bite are what must be deterministic inside a workflow body, what happens to in-flight runs when you deploy changed code, and where step boundaries fall. I could not find those answers in the front page, so read the docs before committing to it. The best-supported path is Vercel. Managed storage, queuing and scaling come with Vercel deployment, while self-hosting means Postgres or writing a World yourself. Third-party backends are listed through a manifest PR and a maintainer-run page. The docs carry a v4 section alongside the current docs and an upgrade guide to v5, so the API has moved between majors. Pin the version and read the upgrade notes before copying an example from a blog post.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →