Scheduled tasks
Recurring and on-demand agent jobs with durable state, History, and per-run comment threads.
Scheduled tasks
Scheduled tasks are long-lived, project-scoped jobs that run on a calendar or interval schedule — or on demand with Run now. Each task stores a multi-step definition (the same step model as task templates), durable state agents can update, an optional assignee, and notification settings.
ArxDeck Helper can propose scheduled task configuration through project chat. Describe the schedule and steps you need, then approve proposals in the Proposals inbox. See ArxDeck Helper.
What scheduled tasks are for
Typical uses:
- Periodic health checks or audits agents run without a ticket
- Recurring maintenance workflows (dependency scans, doc freshness reviews)
- Background jobs that accumulate durable state across runs
Each firing creates a task run hosted on the scheduled task (not a ticket). Runs appear in the task's run list and on individual run detail pages.
Schedule types
Friendly presets — no raw cron editor in v1:
| Preset | Behavior |
|---|---|
| Every X … | Rolling interval from last run (hours, days, or weeks) |
| Daily | Calendar-aligned at one or more wall-clock times |
| Weekly | Selected weekdays at shared times |
| Monthly | Day(s) of month at shared times |
| Yearly | Month and day at shared times |
| One-shot | Fire once at a specific datetime |
Project timezone (IANA string, default UTC) defines calendar wall-clock times. You edit and view times in your browser's local timezone; the server stores project-relative or UTC instants as appropriate.
Missed slot policy (calendar presets): skip (default), catch up once, or retry with backoff before advancing.
Durable state
Each task keeps markdown state that persists across runs. Agents update state via MCP (update_scheduled_task_state). You can also edit state on the task overview page.
State changes are recorded in History alongside definition revisions on a merged timeline — see Configuration revision history.
Per-run comment threads
Every run has its own comment thread:
- Agent terminal outcomes and
request_user_inputpost structured comments - Users with manage permission can reply
- When an agent is
waiting_for_inputand reuse context is enabled, a user reply resumes the same run
Notification links open the canonical run detail URL.
Proposals panel on run detail
Run detail pages include a Proposals panel when pending agent-run proposals exist on that run. Ticket managers can review and approve without leaving the run page.
Notifications and assignee
- Set an assignee for the task
- Choose always notify assignee or let the agent decide via
notify_scheduled_task_runMCP - Run now creates a manual run and notifies the person who triggered it
- Failed runs can trigger notifications according to task notification settings
Run now
Project admins can start an immediate run from the task overview without waiting for the next scheduled slot.
MCP overview
Agents on scheduled task runs can use:
| Tool | Purpose |
|---|---|
get_scheduled_task | Task name, state, recent run summaries |
update_scheduled_task_state | Write durable state |
notify_scheduled_task_run | Notify assignee when mode is agent-decides |
report_agent_outcome | Complete the hosting run; optional data when the step declares result fields |
request_user_input | Structured question on the run thread |
Predicates over ticket context apply only when a run is ticket-hosted. Step-output predicates work in all scheduled runs.
Run agent steps can declare optional result fields (text, number, boolean, enum). The contract is snapped at launch; agents submit validated JSON via report_agent_outcome.data for later Condition / Switch branching.
Setup & configuration
Project admins manage tasks at Project → Scheduled tasks:
- Create a task and open its config page (Settings → Scheduled tasks from the hub, or the task config route).
- Define steps (acquire queue, run agent, release queue, plus Condition / Switch / Loop).
- Set the schedule, assignee, and notifications.
- Review durable state, run history, and History on the overview page.
- Use Run now to test before enabling the schedule.
