Use Restate with useworkflow.dev.
Important
This integration is a proof of concept.
Prerequisites:
- Docker (or OrbStack on Mac) and Docker Compose
- Node.js and pnpm
- A Vercel Workflow example to run
git clone https://github.com/restatedev/vercel-workflow.git
cd vercel-workflow
pnpm install && pnpm build && pnpm packageThis creates the @restatedev/world package that bridges Vercel Workflow to Restate.
docker compose upThis spins up both Restate and the World backend service. Leave this running.
In a new terminal, grab any example from Vercel's collection:
git clone https://github.com/vercel/workflow-examples
cd workflow-examples/flight-booking-appInstall the @restatedev/world package:
pnpm add <PATH_TO_CLONED_REPO>/restatedev-vercel-world-0.0.0.tgzConfigure Vercel Workflow to use Restate:
export WORKFLOW_TARGET_WORLD=@restatedev/vercel-worldSome examples need additional config (like API keys). Check the example's README and add them to .env.local:
echo "API_GATEWAY_KEY=<YOUR_KEY>" >> .env.localStart the dev server:
pnpm dev- Your app: http://localhost:3000
- Restate UI: http://localhost:9070/ui/state/workflow — Check the workflow state in Restate's virtual objects
- Workflow Inspector: Run npx workflow inspect run --webfor Vercel's debugging tools
Now trigger a workflow in your app and watch it execute through Restate's infrastructure. Every step is persisted, observable, and resumable.
Check out restate.dev for more on durable execution.