Deploying

Workflows are designed to be highly portable. The same workflow code can run locally during development, on Vercel with zero configuration, or on any infrastructure using Worlds — pluggable adapters that handle storage, queuing, and communication.

Local Development

During local development, workflows automatically use the Local World — no configuration required. The Local World stores workflow data in a .workflow-data/ directory and processes steps synchronously, making it perfect for development and testing.

# Just run your dev server - workflows work out of the box
npm run dev

You can inspect local workflow data using the CLI:

npx workflow inspect runs

Learn more about the Local World configuration and internals.

Deploying to Vercel

The easiest way to deploy workflows to production is on Vercel. When you deploy to Vercel, workflows automatically use the Vercel World — again, with zero configuration.

The Vercel World provides:

  • Durable storage - Workflow state persists across function invocations
  • Managed queuing - Steps are processed reliably with automatic retries
  • Automatic scaling - Workflows scale with your application
  • Built-in observability - View workflow runs in the Vercel dashboard

Simply deploy your application:

vercel deploy

Learn more about the Vercel World and its capabilities.

Self-Hosting & Other Providers

For self-hosting or deploying to other cloud providers, you can use community-maintained Worlds or build your own.

Using a Third-Party World

To use a different World implementation, set the WORKFLOW_TARGET_WORLD environment variable:

export WORKFLOW_TARGET_WORLD=@workflow-worlds/postgres
# Plus any world-specific configuration
export DATABASE_URL=postgres://...

Each World may have its own configuration requirements — refer to the specific World's documentation for details.

Observability

The Observability tools work with any World backend. By default they connect to your local environment, but can be configured to inspect remote deployments:

# Inspect local workflows
npx workflow inspect runs

# Inspect remote workflows
npx workflow inspect runs --backend @workflow-worlds/postgres

Learn more about Observability tools.