From a32a21f6883b0a6801743a9200f8560e08d348f2 Mon Sep 17 00:00:00 2001 From: James Delorey Date: Tue, 14 Apr 2026 11:15:52 +0100 Subject: [PATCH] Document schedule property for Workflow bindings WOR-1221 --- .../docs/workers/wrangler/configuration.mdx | 5 +++ .../docs/workflows/build/workers-api.mdx | 43 +++++++++++++++++++ 2 files changed, 48 insertions(+) diff --git a/src/content/docs/workers/wrangler/configuration.mdx b/src/content/docs/workers/wrangler/configuration.mdx index 59d4721915f..5c21fc5e49d 100644 --- a/src/content/docs/workers/wrangler/configuration.mdx +++ b/src/content/docs/workers/wrangler/configuration.mdx @@ -1127,6 +1127,9 @@ To bind Workflows to your Worker, assign an array of the below object to the `wo - `script_name` - The name of the Worker script where the Workflow class is defined. Only required if the Workflow is defined in a different Worker than the one the binding is configured on. +- `schedule` + - A cron expression, or array of cron expressions, that automatically triggers new Workflow instances on the given schedule. For example, `"0 9 * * 1"` triggers every Monday at 9am UTC. Cannot be set on a Workflow that references an external `script_name`. + Example: @@ -1138,6 +1141,8 @@ Example: "binding": "", "name": "", "class_name": "", + // optional: trigger on a cron schedule + "schedule": "0 9 * * 1", }, ], } diff --git a/src/content/docs/workflows/build/workers-api.mdx b/src/content/docs/workflows/build/workers-api.mdx index 053dcbebe44..424b72c816d 100644 --- a/src/content/docs/workflows/build/workers-api.mdx +++ b/src/content/docs/workflows/build/workers-api.mdx @@ -211,6 +211,49 @@ steps = 25_000 Note that Workflows on Workers Free have a limit of 1,024 steps. Refer to [Workflow limits](/workflows/reference/limits/) for more information. +## Workflow schedules + +You can automatically trigger new Workflow instances on a cron schedule by setting the `schedule` property in your Wrangler configuration. It accepts a single cron expression or an array of cron expressions. + + + +```jsonc +{ + "workflows": [ + { + "name": "my-workflow", + "binding": "MY_WORKFLOW", + "class_name": "MyWorkflow", + // trigger every day at 9am UTC + "schedule": "0 9 * * *", + }, + ], +} +``` + + + +To trigger on multiple schedules, provide an array: + + + +```jsonc +{ + "workflows": [ + { + "name": "my-workflow", + "binding": "MY_WORKFLOW", + "class_name": "MyWorkflow", + "schedule": ["0 9 * * 1", "0 17 * * 5"], + }, + ], +} +``` + + + +The `schedule` property cannot be set on a Workflow that references an external `script_name`. Configure the schedule on the Worker that defines the Workflow. + ## NonRetryableError - throw new NonRetryableError(message: , name ):