Put an agent on a clock.
Schedules let you run a chosen agent or workflow on a recurring schedule. Use it for work that should happen on a rhythm — a morning summary, a periodic check, a repeating report.
What a schedule holds
- Target — the agent or workflow that runs.
- Start values — for a workflow, the starting details each scheduled run uses.
- Prompt context — for an agent, the starting instruction, which can reference workspace files.
- Schedule — a five-field cron expression, evaluated in the appliance machine’s local time.
- Mode — Off, On, or Needs approval.
- Pre-run approval — can expire at the next occurrence, after a duration, or never.
- Overlap policy — either skip and notify, or skip silently, when the previous occurrence is still running.
- Notifications — to the in-app inbox, Telegram and Slack.
- Pause — separate from mode, and it preserves the schedule.
The page also shows run history and the notification inbox. Run now triggers the saved schedule immediately without changing the cron expression, which makes it a clean way to test that the agent itself works before you trust the timing.
Needs approval
With Needs approval selected, a pre-run request appears on the Approvals page before the agent starts executing. Nothing runs until someone approves it, and the request expires according to the rule you set. This is the option to use when a scheduled run could do something you would want to review first.
If a scheduled run did not happen
Check, in order: the mode, whether the schedule is paused, the local-time cron, any pre-run approval that expired unanswered, the overlap policy, and the run history. Then use Run now to separate a scheduling problem from an agent problem.
Technical details
Schedules: /api/autopilot/schedules, /api/autopilot/schedules/{scheduleId}. Pause, resume, and run now: POST .../{scheduleId}/pause, /resume, /run-now. Runs: GET /api/autopilot/runs. Inbox and read: GET /api/autopilot/inbox, POST /api/autopilot/inbox/{notificationId}/read.
Verify the calculated next run, then use Run now. Confirm a run record appears and, when enabled, that an in-app, Telegram or Slack notification is delivered. For Needs approval, confirm the pre-run request appears on the Approvals page before agent execution starts.