A schedule runs a Flow on a cadence, such as every 5 minutes, every weekday at 09:00, or 5 minutes after the previous run finishes. A Flow can have any number of schedules. Each run is a normal run of the Flow: it appears in the Flow's runs, uses credits, and logs the same way as a run started any other way.
Each run starts the Flow's latest published version, looked up when the run starts, so publishing a new version changes what later runs do. A Flow with no published version does not run; the schedule records The Flow has no published version as its last error and tries again at its next run.
Setting | Description |
|---|---|
| Required, 1–250 characters. |
| The |
| The trigger's inputs, keyed by input name, for example |
|
|
| When runs happen; see Timing. Required. |
| Whose identity runs are made as; see Who Runs Are Made As. Default |
timing.mode is absolute or sliding. A schedule can run at most once a minute, and a due run starts within a minute of its time.
Runs fall on the occurrences of a recurrence rule, whatever earlier runs did.
Field | Description |
|---|---|
| A recurrence value, in the same format as the |
| What happens when an occurrence comes due while the schedule's previous run is still running. |
The series ends at the rule's count or until, if it has one.
{
"mode": "absolute",
"recurrence": {
"dtstart": "2026-01-05T09:00:00[Australia/Sydney]",
"freq": "WEEKLY",
"byDay": ["MO", "TU", "WE", "TH", "FR"]
},
"overlap": "skip"
}The next run is due a set interval after the previous run finishes, whether it succeeded, failed or was cancelled, so runs never overlap.
Field | Description |
|---|---|
| An ISO 8601 duration, at least one minute, for example |
| The IANA time zone that days, weeks, months and years are added in, so a |
| When the first run is due, as a date-time with an offset. Default: when the schedule is created or resumed. |
|
|
| End the series after this many runs. |
| End the series when the next run would fall after this date-time. |
{ "mode": "sliding", "interval": "PT5M" }When runs are missed, for example during a service interruption, the schedule runs once when it can, then carries on from its next due time. It does not run once for every missed occurrence.
| Meaning |
|---|---|
| Runs when due. |
| Turned off. |
| The series has ended. |
| A run failed and the schedule stops on failure. |
A schedule also reports runCount (the runs it has started since it was created or last resumed), lastRunAt, lastFlowExecutionId (its most recent run), and lastError: why its last due run could not start, for example The identity this schedule runs as cannot run this Flow. lastError is cleared by the next run that starts.
Resuming a paused, completed or stopped schedule (setting enabled to true) starts its series afresh from now: an absolute schedule is next due at its next occurrence, and a sliding schedule at its startAt, or straight away when that has passed. Changing the timing of a schedule that is not paused does the same. Setting enabled to true on an active schedule changes nothing. A sliding schedule never starts a run while its previous run is still running, even when it has just been resumed or retimed.
Runs are made as a Space identity, and are allowed to do what that identity is allowed to do. When a run is due, the identity must still be a member of the Space and be allowed to execute the Flow; otherwise the run does not start and the schedule records why in lastError.
{ "type": "editor" } (default): whoever last saved the schedule. Saving a schedule makes you its editor, so its later runs are made as you.{ "type": "agent", "agentId": "<agent-id>" }: an agent of the Organisation that owns the Space. The agent must be a member of the Space. This option is not available in Spaces owned by a person; it is rejected with 400.Viewing and changing a Flow's schedules requires permission to update the Flow (a Space admin). Users without it get 404.
A Flow's schedules are included when the Flow is exported. Imported schedules arrive paused, with pausedReason set to imported and no identity to run as, so nothing runs in the target Space until someone reviews each schedule and resumes it, which makes them its editor. Check a schedule's inputs before resuming it: values that refer to Records in the source Space are imported unchanged. Creating a Space as a copy of another copies its Flows' schedules the same way.
Action | REST API | CLI |
|---|---|---|
List |
|
|
Show |
|
|
Create |
|
|
Update, pause or resume |
|
|
Delete |
|
|
Pause a schedule with --enabled false and resume it with --enabled true. Deleting a schedule does not cancel a run it has already started.
ligantic flows schedules create <flowId> \
--name "Sync every 5 minutes after the last one" \
--inputs '{ "region": "APAC" }' \
--timing '{ "mode": "sliding", "interval": "PT5M" }'Invalid timing is rejected with 400, for example A schedule can run at most once a minute, The interval must be an ISO 8601 duration, such as PT5M, or Unknown time zone.
See the generated CLI command reference for every option.