Cori
Guides

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:

ExpressionMeaning
0 3 * * *Every day at 3:00 AM
0 9 * * 1-5Weekdays 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 list

Scheduled runs appear in the run list alongside manual runs.

On this page