Skip to content
GitHubXDiscord

Workflow

A Cloudflare Workflow allows you to define reusable logic that can be shared across multiple Workers.

Create a basic workflow that can be bound to a Worker.

import { Workflow } from "alchemy/cloudflare";
const workflow = await Workflow("my-workflow", {
workflowName: "my-workflow",
className: "MyWorkflow",
});

Reference a workflow implemented in a different worker script using scriptName.

import { Workflow } from "alchemy/cloudflare";
const workflow = await Workflow("shared-workflow", {
workflowName: "my-workflow",
className: "MyWorkflow",
scriptName: "shared-worker",
});

Bind a workflow to a Worker to use its functionality.

import { Worker, Workflow } from "alchemy/cloudflare";
const workflow = await Workflow("my-workflow", {
workflowName: "my-workflow",
className: "MyWorkflow",
});
await Worker("my-worker", {
name: "my-worker",
script: "console.log('Hello, world!')",
bindings: {
WORKFLOW: workflow,
},
});