Vercel Workflows now keeps each run's state, queue dispatch, and output streams in a single home region: the region where the run starts by default, or any target region you choose.
A run keeps its home region for its lifetime, so for agents built on Workflows, the whole loop stays near the user: an agent serving someone in Sydney executes, checkpoints its progress, and streams output from Sydney. During a regional incident, workflow traffic fails over to the next closest region.
To get started, update the Workflow SDK to workflow@5.0.0-beta.33
or later:
pnpm i workflow@beta
Installs the latest beta release of the Workflow SDK.
To pin a run to a specific region, pass the region
option to start()
:
import { start } from 'workflow/api';import { myWorkflow } from '@/workflows/my-workflow';
const run = await start(myWorkflow, [input], { region: 'sfo1' });
Stores the run's data in sfo1 and dispatches its queue messages from there.
Existing workflows pick up regional placement on their next run, with no migration or code changes.
Learn more in the Workflows documentation.
Facts Only
* Vercel Workflows consolidates run state, queue dispatch, and output streams in a single home region.
* A run keeps its home region for its entire lifetime, usually the starting region or a chosen target region.
* Agents built on Workflows execute and stream output from their assigned region.
* Regional incidents allow workflow traffic to fail over to the next closest region.
* Users must update the Workflow SDK to version 5.0.0-beta.33 or later to use this feature.
* The `start()` function accepts a `region` option to store run data and dispatch queue messages in that specified location.
* Existing workflows automatically inherit regional placement for future runs without code migration.
