Overview
A Loop is a recurring agent run built on the trigger router: acron-source subscription bound to an
agent. It’s the governed, observable wrapper over a raw cron
job — creating a loop records the binding and creates the
backing cron job that executes it.
Create a Loop
Options
Schedule Format (Cron Expression)
Output
The response includes the created loop and thecron_job_id of the backing
executor (null if no runtime is reachable yet — the binding still persists and
syncs later).
List Loops
id,name,schedule(cron expression),activetarget(prompt + optionalprofileName)cronJobIdof the backing executor
Get a Loop
Update a Loop (pause / resume / edit)
Pausing and resuming a loop leaves the runtime untouched — only the binding row changes.Options
Run Now
Fires the loop immediately, regardless of schedule. The regular schedule is not affected. Returns therun_id of the triggered run.
Remove a Loop
Typical Workflow
Loops vs. Cron Jobs
naive cron is a push-through to the runtime’s scheduler. A
Loop wraps it with a binding-registry row and per-run
delivery status, and pauses/resumes
without touching the runtime. On a Tower the executor is the box’s Hermes gateway
cron; in the cloud it’s the sidecar cron.
See Loops for the API-level reference.