Schedules
A Schedule runs an AI agent on a recurring cron cadence — wake up to draft PRs every morning, sweep for flaky tests nightly, audit dependencies weekly. Each run spins up a DevBox, does the work, and tears down on its own.
Schedules are autonomous: no one is watching, so the agent never pauses to ask a question. If you want a back-and-forth, use a Run instead.
How it works
Section titled “How it works”Cron trigger (e.g. weekdays at 6am) → Coordinator spins up a DevBox on your worker → The engine implements the task → Result reported (e.g. a draft PR) → DevBox torn downThe coordinator delegates the coding to the engine you choose. Because there’s no human in the loop, the agent reports a result exactly once and never asks for input — anything ambiguous is decided autonomously or left for the result summary.
The Schedules pages
Section titled “The Schedules pages”Three views, each with a purpose:
- Schedules list — every schedule, with its engine, cadence, target, next run, and an enabled/disabled toggle. The top stats show how many are enabled, running now, and failed in the last 24h. Each row has Run now (to fire it immediately) and Details.
- Schedule detail / run history — one schedule’s configuration plus a pass-rate and duration trend over its recent runs, and the list of past executions (each with status and duration).
- Create / edit panel — the form for a new or existing schedule (below).
Open any execution to see its timeline — the same step-by-step trace a Run has, reached from the schedule:
Creating a schedule
Section titled “Creating a schedule”From the Schedules page, + Schedule opens the form:
-
Prompt — what the agent should do each run.
-
Cadence — a cron expression (e.g.
0 6 * * 1-5for weekdays at 6am), or a preset (Hourly, Daily, Weekly). A live preview shows the next run time. -
Engine — which engine runs the task, or auto-detect.
-
Target — which worker or cloud worker it runs on, or auto-select.
-
Image — the DevBox image to launch.
A schedule can be enabled or disabled at any time without deleting it — disabled schedules keep their config but never fire.
Limits
Section titled “Limits”Two limits apply per plan: how many schedules you can have, and how often each one may run — the minimum gap between two runs, its cadence floor.
| Plan | Schedules | Cadence floor (fastest a schedule may run) |
|---|---|---|
| Free | 1 | every 6 hours |
| Starter | 3 | every hour |
| Pro | 10 | every 30 minutes |
| Enterprise | Unlimited | any cadence (down to every minute) |
A cron that fires more often than your plan’s floor is rejected when you create or edit a schedule — both inline in the schedule form and on the server — with a prompt to upgrade. The floor is a configuration gate: if you downgrade, your existing schedules keep running at their current cadence (they’re grandfathered); only new or edited schedules must meet the lower tier’s floor.
Use cases
Section titled “Use cases”- Nightly ticket processing — process all “Ready for Dev” tickets overnight.
- Dependency audits — check for vulnerable packages weekly and open a PR.
- Flaky-test sweeps — re-run the suite, find flaky specs, file issues.
- Documentation generation — rebuild docs from source nightly.
- Automate recurring work — copy-paste schedule recipes.
- Runs — the on-demand, interactive counterpart.
- Engines — what each engine can do.