Worlds
This page is a work in progress.
The workflow World is an interface that abstracts how workflows and steps communicate with the outside world, letting you build custom adapters and reuse them across different environments, infrastructure, and hosting providers.
Choosing a World implementation
- By default, Workflow uses the Local world for easy local development.
- When deployed on Vercel, Workflow switches to the Vercel world.
If you want to use a different World implementation, set the WORKFLOW_TARGET_WORLD environment variable to your desired World package's NPM name:
export WORKFLOW_TARGET_WORLD=@my-namespace/my-npm-package
export MY_WORLD_CONFIG=... # implementation-specific configurationBuilt-in Worlds
Workflow DevKit provides two built-in world implementations:
- Local World - Filesystem-based for local development
- Vercel World - Production-ready for Vercel deployments
Community Worlds
These worlds are maintained by the community and tested in CI. See the worlds-manifest.json for configuration details.
- Turso (
@workflow-worlds/turso) - Turso/libSQL World for embedded or remote SQLite databases - MongoDB (
@workflow-worlds/mongodb) - MongoDB World using native driver - Redis (
@workflow-worlds/redis) - Redis World using BullMQ for queues, Redis Streams for output
Other Community Worlds
- Postgres World - Reference implementation for a multi-host PostgreSQL backend world.
- Jazz World - A full World implementation built on top of Jazz