Schedule
Triggerclock
trigger.schedule
Fires on a time-based schedule, in one of two modes. On an interval re-fires every N seconds, minutes, or hours — polling an API, sweeping a folder, background maintenance. On a calendar schedule fires at one time of day on the weekdays you choose — a 7:00 AM briefing on weekdays, a Sunday-evening cleanup.
Reach for interval mode when the cadence is “every N” and the exact clock time doesn't matter. Reach for calendar mode when the flow belongs to a moment in your day — the fire lands at that local wall-clock time, not “N minutes after the last one”. A new Schedule node opens in calendar mode; switch to interval with the Schedule Type dropdown.
Ports
| Direction | Name | Data Type | Description |
|---|---|---|---|
| Outlet | Output | Any | Payload emitted at each scheduled interval |
Configuration
| Field | Type | Default | Description |
|---|---|---|---|
| Schedule Type | Dropdown |
On a calendar schedule | Interval mode (re-fire every N) or calendar mode (chosen weekdays at a set time) |
| Interval | Dropdown |
Every 5 minutes | Schedule interval: 5s, 30s, 1m, 5m, 15m, 1h, or Custom Visible in interval mode |
| Custom Interval (seconds) | Number |
60 | Interval in seconds when using custom mode Visible when Interval is set to Custom |
| Days | Day chips |
Weekdays | The days of the week to fire on — tap chips, or use the quick-sets Visible in calendar mode |
| Time | Time picker |
7:00 AM | The local time of day to fire at — one time per node Visible in calendar mode |
| Custom Arguments | Key-Value |
— | Additional key-value pairs included in the output payload |
Calendar Mode
Flip Schedule Type to On a calendar schedule and the inspector swaps the interval dropdown for a row of seven day chips — S M T W T F S — and a native time picker. Tap chips to toggle individual days, or hit a quick-set: Every day, Weekdays, Weekends. The defaults (weekdays at 7:00 AM) are a complete, valid schedule the moment you flip the switch.
The node's canvas card shows the rule in plain words — “Weekdays at 7:00 AM”, “Mon, Wed, Fri at 6:30 PM” — the same string the payload's schedule variable carries. The AI Flow Builder can author it conversationally: “every Monday at 8am”, “weekdays at 7”, “weekends at noon”.
One node is one day set at one time. Need 7 AM and 7 PM? Add a second Schedule node — both can feed the same flow. Monthly and cron-style rules aren't expressible in calendar mode; use interval mode for those cadences.
Daylight saving time: 8 AM stays 8 AM
Calendar schedules follow your local wall clock across DST transitions — an 8:00 AM schedule fires at 8:00 AM before, during, and after the change. On the spring-forward night a nonexistent time (2:30 AM) fires at the next valid instant; on the fall-back night a repeated time fires once, not twice.
Output Variables
| Variable | Type | Description |
|---|---|---|
timestamp |
String | ISO 8601 time of the actual fire (both modes) |
interval |
String | Interval mode only: the configured interval value |
scheduledFor |
String | Calendar mode: ISO 8601 time of the occurrence this fire represents — equals timestamp on a normal fire, earlier on a catch-up |
schedule |
String | Calendar mode: the human-readable rule, e.g. "Weekdays at 7:00 AM" |
catchUp |
Boolean | Calendar mode: true when this fire makes up an occurrence missed while the Mac was asleep or the app closed |
Catch-Up After Sleep
A laptop lid closes; a scheduled moment passes. In calendar mode the trigger makes up for that once: at the next wake or app launch, the flow fires with catchUp set to true and scheduledFor set to the missed occurrence. Slept through five mornings? One catch-up fire, for the most recent miss — never a burst of five.
A catch-up payload looks like this — a 7:00 AM occurrence delivered at an 8:12 AM wake:
{
"timestamp": "2026-07-13T15:12:41Z",
"scheduledFor": "2026-07-13T14:00:00Z",
"schedule": "Weekdays at 7:00 AM",
"catchUp": true
}
Catch-up is for fires you missed, not fires you declined: turning the flow off, disabling and re-enabling it, or editing the schedule resets the baseline to now — re-enabling a flow never surprises you with a stale fire from while it was deliberately off.
Example: Poll an API
Interval mode — check an API endpoint every 5 minutes and notify when the site is down:
Example: Skip a Stale Briefing
Calendar mode — a weekday 7:00 AM briefing that stays silent when the fire is a catch-up. The Mac was asleep at 7; a briefing about “this morning” delivered at 10:40 is stale, so a Compare node on catchUp gates it:
Prefer a late briefing over none? Drop the Compare node — the catch-up fire then delivers it on wake instead of skipping.