ArxDeck
Agents & automations

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:

PresetBehavior
Every X …Rolling interval from last run (hours, days, or weeks)
DailyCalendar-aligned at one or more wall-clock times
WeeklySelected weekdays at shared times
MonthlyDay(s) of month at shared times
YearlyMonth and day at shared times
One-shotFire 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_input post structured comments
  • Users with manage permission can reply
  • When an agent is waiting_for_input and 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_run MCP
  • 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:

ToolPurpose
get_scheduled_taskTask name, state, recent run summaries
update_scheduled_task_stateWrite durable state
notify_scheduled_task_runNotify assignee when mode is agent-decides
report_agent_outcomeComplete the hosting run; optional data when the step declares result fields
request_user_inputStructured 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:

  1. Create a task and open its config page (Settings → Scheduled tasks from the hub, or the task config route).
  2. Define steps (acquire queue, run agent, release queue, plus Condition / Switch / Loop).
  3. Set the schedule, assignee, and notifications.
  4. Review durable state, run history, and History on the overview page.
  5. Use Run now to test before enabling the schedule.