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 configuration

Built-in Worlds

Workflow DevKit provides two built-in world implementations:

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

On this page

GitHubEdit this page on GitHub