schedules.json. The platform registers schedules during deployment and triggers workflow submissions automatically.
Configuration
Define schedules inschedules.json at the root of your app:
| Field | Description |
|---|---|
name | Unique schedule identifier |
cron | Cron expression for the schedule |
timezone | Timezone for the cron expression (default: "UTC") |
skipIfRunning | If true, skip the scheduled run when a previous run is still active |
workflow | Path to the workflow file |
params | Variable values passed to the workflow |
Common cron expressions
| Expression | Schedule |
|---|---|
0 * * * * | Every hour |
0 */6 * * * | Every 6 hours |
0 3 * * * | Daily at 3:00 AM |
0 0 * * 1 | Weekly on Monday at midnight |
0 0 1 * * | Monthly on the 1st at midnight |
*/15 * * * * | Every 15 minutes |
Preventing overlapping runs
SetskipIfRunning: true to avoid starting a new run when the previous one hasn’t finished. This is recommended for long-running workflows where concurrent execution could cause data conflicts or duplicate processing.
Build-time validation
The app framework’s build pipeline validatesschedules.json during the build phase:
- Cron expressions are syntactically valid
- Workflow file paths resolve to exported workflow definitions
- Parameter values match the workflow’s variable definitions
- Schedule names are unique

