Codumentor logo Codumentor

Scheduler Tools Plugin

The Scheduler Tools plugin lets the agent (or you, through it) create, inspect, and manage scheduled agent runs — one-off (run_at) or recurring (cron). Each run fires as a fresh conversation seeded with the stored prompt; there is no context carry-over between runs.

Configuration

plugins:
  - module: codumentor.plugins.scheduler_tools
    class: SchedulerToolsPlugin
    priority: 10
    args:
      enabled: true
      allow_cron: true
      default_timezone: UTC
      run_history_retention_days: 365
ParameterTypeDefaultDescription
enabledbooltrueEnable or disable the plugin.
allow_cronbooltrueAllow recurring (cron) schedules. When false, only one-off run_at runs are permitted.
default_timezonestring"UTC"IANA timezone for interpreting cron expressions.
run_history_retention_daysint365How long to keep finished run history — and the per-run conversations, which are soft-deleted first — before a maintenance sweep purges them. 0 or negative keeps history forever.
retention_sweep_interval_secondsfloat86400How often the maintenance sweep runs (retention purge plus stale-run cleanup). A restart also sweeps immediately.
stale_run_threshold_secondsfloat3600A run that has been running with no progress longer than this is treated as stuck and marked failed.
target_agentsstring"main"Which agents get the scheduler tools: "main", "subagent", or "all". Default keeps scheduling off subagents (their tool calls have no human reading them). A scheduled run itself is a main agent, so it can still manage schedules.

Tools

ToolDescription
schedule_agent_runCreate a one-off (run_at) or recurring (cron) scheduled run; returns a schedule_id
list_scheduled_tasksList the caller's schedules (optional status filter)
get_scheduled_taskFull detail for one schedule, including last-run state
update_scheduled_taskChange timing, timezone, title, or prompt
pause_scheduled_task / resume_scheduled_taskPause or resume a schedule
snooze_scheduled_taskPostpone the next fire to a given time
cancel_scheduled_taskPermanently cancel a schedule
list_scheduled_runsList prior runs of a schedule (most recent first)
get_scheduled_run_outputFetch a run's prompt, final answer, and turn summary

Notes