Run a macro later
Parks a run of another macro until a time, or until a condition becomes true, and returns at once; it survives restarts.
Run macro later at at
Details #
Creates a pending run and carries on. The engine starts the macro with the inputs you gave at at, or as soon as when has been true for hold seconds, whichever happens first. If neither has happened by expires, the run is dropped and logged as expired.
Pending runs are kept on disk, so they survive a restart. They show in Activity under Waiting, with Cancel and Run now, and in switchboard pending.
If when is already true, the macro starts after the hold.
The step leaves pendingId, and the id also goes into into if you name one.
Parameters #
| Parameter | Type | Required | Values | What it does |
|---|---|---|---|---|
macro | text | Yes | Required. The macro's name or id. | |
at | any value | A date (2026-11-02T09:00:00), a time of day (21:30, the next one), or a wait (2h). | ||
expires | any value | How long the run may wait: 30m, 1d, or seconds. Without it the run waits until it can start or you cancel it. | ||
hold | number | Seconds the condition must hold before the run starts. Default 2. | ||
inputs | record | An object of inputs for the run. | ||
into | text | A variable that receives the pending id. | ||
when | condition | A condition, written as in Only if. |
Every step also accepts label, onFailure, timeout and dryRunSafe.
Examples #
- Press ⌃⌥B
- Run “Back up” when the Mac is charging
Gotchas #
Dry run. Nothing is parked; the step says so.
The macro runs as if started by its own trigger: its Only if is skipped when it runs by hand, as always.
Text in
whenis rendered when the step runs, not when the condition is read.AI conditions cannot be watched.
See also #
Wait until a condition holds, Run macro, A condition becomes true, Triggers that watch: becomes true, States, waiting runs