workflow is a free, open source orchestration & scheduling project written in TypeScript and released under Apache-2.0. It has 2,416 GitHub stars, 361 forks and 360 open issues, and was last pushed 5 hours ago. On this registry it ranks #43 of 64 tracked projects in Orchestration & Scheduling, with 5 head-to-head comparisons available. It gained 10 stars over the last 3 tracked days.

What is workflow?

What it is

Workflow SDK is a TypeScript and JavaScript library that makes application functions durable. It lives in the TypeScript/JavaScript ecosystem and targets server-side frameworks such as Next.js. The project is intended for apps and AI agents that need to continue work across failures, waits, and restarts.

It solves the problem of keeping long-running or retry-prone operations reliable when ordinary function calls can fail, pause, or lose state. Workflow SDK persists workflow progress, retries failed steps, and provides built-in observability. Workflows can also suspend without using compute while they wait.

Key capabilities

  • The SDK provides durable execution by persisting workflow progress so workflows can resume after failures or restarts.
  • The workflow engine can retry failed steps instead of requiring hand-written retry loops.
  • Workflows can suspend without using compute while they wait.
  • Developers can start the bundled local backend and open the observability UI with npx workflow web.
  • The SDK can be configured for a framework such as Next.js with withWorkflow from workflow/next.
  • Workflows can be started from an API route, Server Action, or other server-side code using start from workflow/api.
  • Local development uses a bundled backend, deployment can use Vercel, and self-hosting can use Postgres or a custom World.

Who uses it and how

  • TypeScript and JavaScript developers add durable workflow behavior to existing server-side applications.
  • Teams build apps and AI agents that need reliable step execution, retries, and observability.
  • Developers use the local bundled backend during development and inspect workflow state through the observability UI.
  • Projects deploy to Vercel for managed storage, queuing, scaling, and observability.
  • Self-hosters use Postgres or implement a custom World, and they can discover maintainer-curated third-party Worlds through the Worlds page.

Getting started

Install the package with npm install workflow, configure the framework integration, and start workflows from server-side code. Run locally with npm run dev, open the observability UI with npx workflow web, and deploy to Vercel or self-host with Postgres or a custom World.

When to use it — and when not to

Use Workflow SDK when your application is written in TypeScript or JavaScript and you need durable, observable workflows inside a server-side framework or Vercel deployment. Do not choose it if you need a non-TypeScript runtime, if you do not want to operate a Postgres backend or custom World outside Vercel, or if your workflow needs are simple enough for ordinary function calls and manual retries. The README does not list paid products it replaces, so it should be evaluated as a durable-execution layer rather than as a replacement for a named paid workflow product.

project readme (upstream, from github) — read inline
Workflow SDK logo

Workflow SDK

Vercel logo npm version License Join the community on GitHub

Workflow SDK makes TypeScript and JavaScript functions durable. It persists workflow progress, retries failed steps, and provides built-in observability. Workflows can suspend without using compute while they wait.

Quick start

Install the SDK in an existing project:

npm install workflow

Configure the integration for your framework. For example, with Next.js:

// next.config.ts
import { withWorkflow } from 'workflow/next';

export default withWorkflow({});

Then start a workflow from an API route, Server Action, or other server-side code:

import { start } from 'workflow/api';
import { onboardUser } from './workflows/onboard-user';

await start(onboardUser, ['[email protected]']);

Run your app, then open the local observability UI in another terminal:

npm run dev
npx workflow web

Choose your framework in the getting-started guides.

[!NOTE] The workflow package includes its full documentation, so coding agents can read version-matched guides locally from node_modules/workflow/docs.

Run anywhere

Local development uses the bundled backend with no configuration. Deploy to Vercel for managed storage, queuing, scaling, and observability. To self-host, use the Postgres backend or implement a custom World.

The Worlds page lists maintainer-curated third-party Worlds, including self-hosted and managed options. Submit your World by updating the Worlds Manifest.

Community

The Workflow SDK community lives on GitHub Discussions, where you can ask questions, share ideas, and show what you have built.

Contributing

Contributions are welcome. Use issues and discussions to collaborate with the team and wider community. By participating, you agree to our Code of Conduct.

Security

If you find a security vulnerability in Workflow SDK, disclose it responsibly instead of opening a public issue.

To participate in our Open Source Software Bug Bounty program, please email [email protected]. We will add you to the program and provide further instructions for submitting your report.

Frequently asked questions

Is workflow free to use?

workflow is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does workflow do?

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

What is workflow written in?

workflow is primarily written in TypeScript. Its source is publicly available at https://github.com/vercel/workflow, and it has 2,416 GitHub stars.