“Did last night's run even happen?”
Nothing tells you a schedule went quiet. You find out when someone asks where the report is.
Track every autonomous AI agent run your team schedules in ConvOps. Group recurring schedules under one program with an owner and a goal, and see one health verdict, the reports its runs file and its KPIs.
program · schedules · health verdict · run reports · KPIs
Know what competitors ship and charge, before the sales team asks
Competitor scan ran at 07:00 and filed its report.
A ConvOps program groups the recurring runs your agents execute under one owner and goal, and tells you which of them are healthy, late, silent or failing.
ConvOps is the operations layer for AI agents. It holds your team's process as workflows with gates, a shared memory, scheduled and unattended runs, programs, a plan board, metrics and a full audit trail. It does not sell or host models.
key facts · october 2026
best for
not for
updated
Recurring agent work fails quietly. Past a handful of schedules, these three questions go unanswered.
“Did last night's run even happen?”
Nothing tells you a schedule went quiet. You find out when someone asks where the report is.
“Which of these schedules belong to the close?”
Schedules sit in one flat list, with no owner, no goal and no way to pause the ones that belong together.
“Is the scan failing, or just costing more?”
Each run ends on its own. Nobody sees three failures in a row, or the cost creeping up week after week.
A program groups recurring schedules under one name, purpose, goal and owner. Each schedule keeps its own workflow and executor; the program says what they are for.
Keep the ledger reconciled every night and the month-end close on time
state: close tracker · finance/close/2026-10
A daily competitor scan, a weekly pricing check and a monthly analyst brief in one program, so one verdict says whether the watch is working.
program · three schedules, one verdict
Nightly reconciliation and the weekly close checklist share an owner and the close goal. Three failed nights on either one show on the program.
program · owner and goal
Each key control test files a control test report: the control id, a result of effective or deficient, and the evidence. The binding is required, so the step waits for it.
report type · enforce and required
A morning scan screens new publications for each product. If it stops running, the program turns silent after 36 hours, long before an audit would notice.
health · silent after 1.5 × the longest gap
Every Monday, agents score accounts for churn signals. The program shows accounts flagged against the target the retention lead set, and the review's cost against the last 4 weeks.
KPI · target on the binding
One schedule per region, each at its local time, in one program. When the APAC run is late, the program reads late, not healthy.
verdict · worst armed schedule
The account lead owns each client's program, its state location points to the client folder, and the program lists the work its runs spawned.
owner · state location · spawned work
A daily run, with program reading switched on for it, reads each program's status and opens a task for every one that is silent or failing.
programs_read · status
One action covers every schedule in the program, and every transition is logged as an activity.
Holiday prices are locked for a week, so the category lead pauses the program. Both schedules are disarmed, and ConvOps remembers that both were armed.
Track competitor prices and promotions for the EU stores
paused by the category lead · 2 schedules were armed
Resume re-arms exactly the schedules that were armed at pause. With catch-up set to one, each schedule that missed a run fires one run for its latest miss, marked Catch-up. With none, each waits for its next time.
Track competitor prices and promotions for the EU stores
resumed · catch-up: one · 2 schedules re-armed
The EU stores move to a new pricing system. Retire is final: the schedules are disarmed, and edit, pause and resume are refused. The runs and reports stay with the program, and every transition is logged.
Track competitor prices and promotions for the EU stores
retired · edit, pause and resume refused
Track competitor prices and promotions for the EU stores
paused by the category lead · 2 schedules were armed
Every fire passes two checks before a run exists. A refused fire is logged, and so is a skipped one, so the record shows every run that did not happen.
schedule fire
Every program has one verdict. An active program shows the worst among its armed schedules, so one silent schedule shows on the whole program.
Every armed schedule is on time, and none has failed three times in a row.
example Bank reconciliation ran at 01:30 and succeeded.
A schedule is past its due time and has not run yet.
example The 07:00 vendor match has not started at 07:40.
No run for more than 1.5 times the longest gap between its scheduled times, by default.
example Weekdays at 07:00: the longest gap is Friday to Monday, so silent after 4.5 days.
Three failed runs in a row by default; two is a warning. Model, infrastructure and time-limit failures count.
example The literature scan hit its time limit three mornings running.
The program is paused, and its schedules are disarmed until it resumes.
example EU price watch, paused for the holiday price freeze.
No run yet, and the first due time has not come.
example A schedule assigned this morning, first run due tomorrow at 06:00.
The program is retired. Retiring is final.
example EU price watch, retired after the move to a new pricing system.
Beside the verdict, each program shows its success rate over the last 7 days, its cost against a 4-week baseline, the runs whose cost is unknown, missing reports and the work its runs spawned.
Runs file typed reports that the server checks. The program lines them up next to its KPIs, each judged against a target people set.
program · KPIs · example
A program's KPIs are metrics a recursive self-improvement loop reads directly: agents record the numbers, against targets people set.
The same programs, report types and reports, as your agents and your scripts reach them.
programs_manage creates, edits, pauses, resumes and retires programs and moves schedules in or out. A schedule joins with the program slug on schedule_create, schedule_attach or schedule_update.
programs_manage(action="create",
name="PV literature scan",
purpose="Screen new publications for safety signals",
goal_id="<goal task id>",
owner_user_id="<member id>",
state_label="Screening log",
state_location="https://example.com/pv/log")
schedule_attach(task_id="<scheduled task id>",
program="pv-literature-scan")report_types_manage creates, updates and retires report types; the built-in run-report can be renamed, but its fields never change and it is never retired. A run files with reports_file on its own task, and REST takes POST /tasks/{id}/reports.
report_types_manage(action="create",
name="Case screen",
purpose="One per literature scan",
fields=[
{"key": "candidates", "question": "Case candidates found", "kind": "number", "required": true},
{"key": "case_ids", "question": "Case ids escalated", "kind": "list"}])
reports_file(task_id="<run task id>", type="case-screen",
answers={"candidates": 1, "case_ids": ["PV-2026-114"]})programs_read lists programs with their health and returns one program's status, its runs and a single run. KPIs and notes come from REST: GET /programs/{slug}/kpis and GET|POST /programs/{slug}/annotations.
programs_read(action="status", slug="pv-literature-scan")
GET /api/v1/programs/pv-literature-scan/kpis
POST /api/v1/programs/pv-literature-scan/pause
POST /api/v1/programs/pv-literature-scan/resumeThe health thresholds, the catch-up rule and the assignment edge cases are workspace settings. Each value below is the default.
programs.resume_catch_up one (one | none)
programs.silent_multiplier 1.5
programs.streak_warning 2
programs.streak_failing 3
programs.cost_window_days 7
programs.cost_baseline_weeks 4
programs.assign_from_other_program warn (allow | warn | deny)
programs.assign_to_paused warn (allow | warn | deny)A program in ConvOps groups the recurring runs your agents execute under one owner and goal, and tells you which of them are healthy, late, silent or failing. It has a name, a purpose, a goal and an owner, plus an optional pointer to where its working state lives. Only schedules join a program, and each keeps its own workflow and executor. Every new program tracks the built-in run report.
Programs are for teams that run agents on a schedule and answer for the result: operations, finance, compliance, research, support and agency teams. ConvOps gives each program an owner who is a member of the workspace, so every recurring job has a person accountable for it. One program can hold a daily scan, a weekly review and a monthly brief that serve the same goal.
Open the program in ConvOps and read its health verdict: late, silent or failing. A schedule is late once it is past its due time with no run, and silent after 1.5 times its longest gap between scheduled times with no run, by default. Three runs in a row that end in a model failure, an infrastructure failure or a time limit mark it failing. The program shows the worst verdict among its armed schedules, and skipped or refused fires never count as runs.
Watch the runs and the work they serve. In ConvOps every scheduled run belongs to a program with an owner and a goal, and the program shows one health verdict, healthy, late, silent or failing, from the worst of its armed schedules. Each run records its cost, duration and outcome and can file a typed report, and every refused or skipped fire is logged with its reason. The program adds a 7-day success rate and its cost against a 4-week baseline.
Pausing disarms every schedule in the program, and ConvOps remembers which ones were armed. While the program is paused, Run now is refused with its reason, and each refused scheduled fire is logged. Resume re-arms exactly that set. With catch-up set to one, the default, each schedule that missed a run while paused fires one run for its latest miss; with none, it waits for its next time.
No. In ConvOps, a program schedule's fire is skipped while its previous run is still queued, starting or running, and the skip is logged with its reason. Run now gets the same check. A skip is not a run, so a schedule whose every fire is skipped turns late, then silent, and the program's verdict shows it.
A ConvOps run report is a typed record a run files about its own work. The built-in run report holds the outcome (succeeded, partial or failed) and lists of what changed, what is next and the blockers. You can define your own report types with text, list, choice and number fields. Reports are append-only, unknown fields are refused, and a report stops a step only when its binding is enforce and required.
Track the outcome the recurring work exists for, then its reliability and its cost. In ConvOps, a program's KPIs are the metrics bound to it, its goal chain, its project or the workspace, each with its latest value, target met or missed, an 8-bucket trend and its freshness. Beside them, each program shows its success rate over the last 7 days and its cost against a 4-week baseline.
No. ConvOps retires a program instead of deleting it, and retiring is final: its schedules are disarmed, and edit, pause and resume are refused. Its past runs and reports stay with the program they fired under, so the record of what it did stays readable. Every transition, from pause to retire, is logged as an activity.