Deploying
Deploy workflows locally, on Vercel, or anywhere using pluggable World adapters.
The same workflow code can run locally during development, on Vercel with zero configuration, or on any infrastructure using Worlds. These pluggable adapters handle storage, queuing, and communication.
Local development
During local development, workflows automatically use the Local World, with no configuration required. The Local World stores workflow data in a .workflow-data/ directory and processes steps synchronously, making it suitable for development and testing.
# Run your development server; workflows need no additional configuration
npm run devYou can inspect local workflow data using the Workflow CLI:
npx workflow inspect runsLearn more about the Local World configuration and internals.
Deploying to Vercel
The recommended 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.
Deploy your application:
vercel deployLearn more about the Vercel World and its capabilities.
Starting with workflow version 5.0.0, the Vercel World supports
multi-region: runs are pinned to the region that creates them, keeping
workflow data, queuing, and streaming close to your users. See
Multi-region.
Self-hosting & other providers
For self-hosting or deploying to other cloud providers, you can use community-maintained Worlds or build your own.
Explore Worlds
Browse official and community World implementations with compatibility status and performance benchmarks.
Build Your Own
Learn how to implement a custom World for your infrastructure.
Using a third-party World
To use a different World implementation, set the WORKFLOW_TARGET_WORLD environment variable:
export WORKFLOW_TARGET_WORLD=@workflow/world-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, the tools connect to your local environment, but you can configure them to inspect remote deployments:
# Inspect local workflows
npx workflow inspect runs
# Inspect remote workflows
npx workflow inspect runs --backend @workflow/world-postgresLearn more about Observability tools.