How-to guides
Scheduling routines
Choose when a saved workflow runs. OOMU sleeps between exact deadlines and records every result.
Once a workflow does what you want, a schedule makes it run without you. Open Chat → Workflows and choose the Schedules & Triggers section.
Adding a schedule
Pick the workflow, then pick a frequency:
| Frequency | What you set |
|---|---|
| Weekdays | A time. Runs Monday to Friday. |
| Daily | A time. |
| Weekly | A day and a time. |
| Interval | A number of minutes. Between 1 minute and one year. |
| Cron | A five-field expression: minute, hour, day, month, weekday. |
Choose Add schedule. The panel confirms with "Routine added" and shows Next run {time}.
Every expression, however you entered it, is normalized and validated before it is stored. A cron expression that does not parse is refused rather than accepted and silently never fired.
What happens when one fires
Each firing is a distinct occurrence, keyed to its exact scheduled time. That key is unique, which is what prevents the same slot running twice, including after a crash, a restart, or a clock change.
The occurrence claims a lease, runs the workflow, and records a run with:
| Field | Values |
|---|---|
| State | Completed · Waiting for information · Needs attention · Check required |
| Notification | Delivered · Failed · Not applicable |
| Times | When it was scheduled for, when it completed |
Recent runs shows the history under each schedule, marked Notified where a notification went out. A schedule that has not fired yet says so: "No runs yet."
How you hear about it
A completed scheduled run posts a macOS notification. This needs Notifications access, which you can check in Settings → Mac access.
Failed and paused runs are recorded in the history and in Activity whether or not a notification was delivered: a failed notification never hides a failed run.
Missed runs
If your Mac was asleep or OOMU was closed when a schedule was due, the routine's missed-run policy decides what happens:
| Policy | Behavior |
|---|---|
| Skip | Missed slots are dropped. The next run is the next scheduled time. |
| Run once | One catch-up run, no matter how many slots were missed. |
| Run each | Catch up each missed slot, up to a cap. |
The cap is between 1 and 12 runs. Choose Skip for anything time-sensitive, where a stale result is worse than no result. Choose Run once for a daily digest.
Pausing and deleting
Every schedule has a toggle: Pause stops it firing while keeping it; Resume starts it again. Delete schedule removes it.
Routines can also pause themselves. If a required connection is missing or a controlled destination is no longer valid, the routine records a pause reason rather than running against a broken dependency.
Keeping work running after OOMU closes
Settings → Background work is where you decide whether scheduled work continues once the window is gone.
"Keep scheduled work running after OOMU closes. An installed OOMU app uses macOS Login Items."
Turn on Continue scheduled work and OOMU registers itself with SMAppService: the same mechanism behind Login Items in System Settings. The panel then reports:
| State | Meaning |
|---|---|
| Runs after OOMU closes | Registered and active. |
| Stops when OOMU closes | Not registered. |
| Needs Login Items in System Settings | macOS requires you to approve it there. |
| Available after OOMU is installed | OOMU is not running from a real application bundle. |
| Unavailable on this Mac | Not supported here. |
This is why installing to Applications matters. OOMU checks whether it is running from an application bundle before it will register. Running from Downloads or a build directory gives you Available after OOMU is installed and background work stays off.
The same panel shows Active routines, Next scheduled work, and Last activity, so you can confirm at a glance that something really is scheduled.
When OOMU restarts
On startup OOMU reconciles anything that was in flight:
- Expired routine leases are released, so a routine held by a process that is gone becomes claimable again.
- Workflow steps that were reserved are reset.
- Workflow steps that were mid-execution are quarantined as Check required, because OOMU cannot verify whether they finished.
All of that is logged. Nothing unverifiable is reported as either done or failed.
Related
- Building workflows: what a schedule actually runs.
- Connecting services: messaging channels, and what they can and cannot do today.
- Evidence & receipts: why "Check required" exists.