Scheduling

Set the cadence. Review exceptions.

Any saved flow can become a scheduled one. Choose a preset from hourly to yearly or write your own cron expression. Schedules are timezone-aware and DST-safe, with catch-up policies for windows the host missed. A background scheduler runs in every edition.

Capabilities

Recurring execution, first class

Visual picker or cron

Pick from hourly, daily, weekly, monthly, and yearly presets, or write a 5/6-field cron expression. You can also use every-N-minutes intervals and one-shot runs. Every option is previewable before you commit.

Timezone-aware

Schedules compute in their own IANA timezone. They are DST-aware and clamped to the length of each month. The 9 a.m. Monday run stays 9 a.m. Monday through every clock change.

Catch-up policies

Skip, run-once, or run-all for windows missed while the host was down. The timer advances before each run, so overlapping ticks can't double-fire.

End conditions

An until-date or a max-runs cap disables the schedule once it is exceeded. This keeps a run bounded instead of leaving a timer running with no end.

Every edition

The same background scheduler runs in Flow Studio, inside a Flow Server instance, and as a standalone daemon in the CLI. All three share one schedule store.

Audited unattended runs

Scheduled runs use the same execution path as manual ones. They are tagged in history, counted per schedule, and surfaced as notifications. Only metadata is recorded, so zero egress is preserved.

Management

One store, four surfaces

A saved flow carries one schedule, which you set from the Schedule toggle in the canvas toolbar. From there it shows up everywhere. A central Schedules view lets you list, pause, edit, and delete. The saved-templates list adds schedule state and next-run columns. History gains a scheduled-runs filter. Settings holds pause-all and the poll interval.

Unattended runs are handled honestly. The destructive-action gate is overridden for each scheduled run, because there is no one to confirm it. The persisted setting still governs interactive runs, and every run is recorded either way.

Managing schedules
Schedules
  • fleet-security-scan monthly · America/New_York
    Jul 1, 06:00 On schedule
  • solution-release-gate cron 0 18 * * 1-5
    Today, 18:00 Due now
  • capacity-report weekly · until Dec 31
    Mon, 07:30 On schedule
  • staging-smoke every 15 minutes
    - Paused
Headless

A scheduler that fits in CI and on utility hosts

The CLI manages the same schedule store the desktop and server read. You can add, list, and remove schedules from the terminal, and run the scheduler loop anywhere with flow schedule daemon. This is the pattern behind fleet-wide scans that run themselves while operators review only the exceptions.

CLI and daemon docs
terminal
flow schedule add fleet-scan --frequency monthly \
  --timezone America/New_York --catchup run-once
flow schedule add release-gate --frequency cron --cron "0 18 * * 1-5"
flow schedule list
flow schedule daemon     # run the scheduler loop on this host

Stop re-running it by hand

Save the flow and set the cadence, then let the scheduler own the routine. The exceptions come to you.