Documentation menu

Scheduling AI Workloads

A schedule runs a task or runbook on a cron cadence. Instead of kicking off a run by hand, you give it a cadence and Jetty fires it for you — on the hour, every morning, once a week, whatever you set.

Why schedule

There are two everyday reasons to put a task on a schedule:

  • Keep evals fresh. Models drift. Providers change defaults, deprecate versions, and re-tune behind the same name. A runbook that passed at 84% last month can quietly regress without a single line of your code changing. A nightly schedule re-runs the eval so you catch the drift instead of discovering it in production. See Agent Evaluations.
  • Recurring jobs. A daily report, a weekly digest, a scheduled data pull — anything you'd otherwise remember to trigger yourself.

Create a schedule

Schedules hang off a task. In the app, open the task and go to its Schedules tab; you can also create and manage them through the Schedules API (see below). A schedule has:

  • A cadence: a cron-like schedule that says when it fires.
  • Controls: pause it, resume it, or run it now without waiting for the next tick.

Pausing is the safe way to stop a schedule temporarily; the schedule is preserved, so resume picks up exactly where it left off. Run-now is handy for confirming a schedule works before you trust it to run unattended.

What a firing does

A schedule fires the same workload as a manual run of that job: same steps, same config, same evals. Each firing produces its own run, so your scheduled runs show up in the same history as your manual ones and carry the same recorded eval result.

The Schedules API

Everything the Schedules tab does is available over the API: full CRUD on schedules plus run-now and listing past schedule runs. Use it to provision schedules from infrastructure code, or to wire run-now into your own tooling. The methods and endpoints are in the API reference (the SDK exposes them too, as runRoutineNow and listRoutineRuns). The API, SDK and MCP server keep the older name for a schedule, routine: the endpoints live under /api/v1/routines and the tool and method names follow suit.


A scheduled eval is only useful if it's a good eval. See Agent Evaluations for how scores get recorded, and the API reference for the schedule endpoints.