Schedule a workflow
Add a cron schedule to a workflow manifest so it runs automatically.
TODO: Confirm that cron scheduling is wired in the v1 runtime. The manifest schema documents schedule and schedule_tz, but verify the runtime honors cron triggers before relying on this in production.
Add a schedule to the manifest
Add schedule (a cron expression) and schedule_tz (a timezone) to the workflow's manifest frontmatter:
---
id: translate-product-sheets-fr
name: Translate product sheets to French
description: Reads a product CSV and translates descriptions to French.
version: "1.0.0"
created: "2025-01-15"
schedule: "0 3 * * *"
schedule_tz: "Europe/Paris"
parameters:
- name: input_file
type: path
default: ./products.csv
---This schedules the workflow to run at 3:00 AM Paris time every day.
Cron syntax
The schedule field uses standard 5-field cron syntax:
┌───── minute (0-59)
│ ┌───── hour (0-23)
│ │ ┌───── day of month (1-31)
│ │ │ ┌───── month (1-12)
│ │ │ │ ┌───── day of week (0-6, Sunday=0)
│ │ │ │ │
* * * * *Examples:
| Expression | Meaning |
|---|---|
0 3 * * * | Every day at 3:00 AM |
0 9 * * 1-5 | Weekdays at 9:00 AM |
0 */6 * * * | Every 6 hours |
30 8 1 * * | First of each month at 8:30 AM |
Timezone
schedule_tz accepts any IANA timezone identifier (e.g., America/New_York, Europe/Paris, Asia/Tokyo, UTC). Defaults to UTC if not specified.
Scheduled parameters
Scheduled runs use parameter defaults defined in the manifest. If a required parameter has no default, you must add one for scheduled runs to work.
Checking scheduled run history
cori runs listScheduled runs appear in the run list alongside manual runs.