The Schedule tab edits
ir.schedule; the built-in
Flow Scheduler is what actually
fires due pipelines — in-process every minute, no external cron
required. Saving a schedule is enough for it to start firing on the
next tick.ir.schedule field. It supports all three kinds the
scheduleSchema accepts.
Kinds
Cron presets
Built-in shortcuts in the cron editor:- Every 15 minutes →
*/15 * * * * - Every hour →
0 * * * * - Daily at 09:00 →
0 9 * * * - Weekdays at 09:00 →
0 9 * * 1-5 - Mondays at 09:00 →
0 9 * * 1 - First of month 09:00 →
0 9 1 * *
”Next 5 fires” preview
Live preview block recomputes on every change. Backed by the flow-schedule next-fire-times helper:- cron uses
cron-parserv5 with timezone support - rrule uses
rrulev2; honors recurrence-count and until-date stop conditions - interval is pure arithmetic from
now
Error.cause.
Saving
Save → POST/api/v1/pipelines/:id/ir with the new IR (mutated
schedule field) → bumps IR version → version pill in the editor topbar
updates → preview re-loads from the new IR.
Firing & related
- Schedules fire automatically via the built-in
Flow Scheduler — in-process every
minute, or drive
/api/v1/cron/flow-scheduler-tickfrom your own orchestrator. - File-arrival deadlines (
trigger.file_arrival.deadline.{windowMinutes, onMiss}) are enforced by the same scheduler — see Flow Scheduler → Deadline enforcement. - A visual cron-spec dropdown (“every X minutes between 9-5 on weekdays”) builder is planned; today, non-preset expressions are typed directly.