Skip to content

Scheduled work

Recurring extension work is an agent turn. Contribute an agent definition with a cron trigger and register tools that the agent calls. The owning WAMP process must be running for the schedule to fire. A manually served engine needs wamp-engine serve --schedules; Desktop enables schedules for its local engine.

An agent file can declare a trigger independently of extension activation:

---
name: Weekly Digest
description: Summarizes the previous week's activity.
model: balanced
tools: [file]
triggers:
- kind: cron
schedule: '0 9 * * 1'
timezone: 'Europe/Amsterdam'
jitter_sec: 60
agent_mode: workspace
---
Summarize the previous week and append the result to `digest.md`.
Keep the summary under 200 words.

agent_mode is the permission mode each firing runs in: ask, workspace (the default) or full. Nobody is there to approve anything, so whatever that mode would ask about is refused. A schedule that fetches pages, browses or calls MCP tools on destinations it has not been allowed needs full. The Library sets the mode per schedule.

Set jitter_sec: 0 when random delay is unwanted; it does not make a run a hard real-time guarantee. A firing skips if the same trigger’s previous Run is still running; slots missed while the engine is stopped are not replayed. The new chat can receive replies and be continued or stopped like any other chat. Agent-trigger cron expressions require one integer from 0 to 59 in the minute field, so each trigger fires at most once per hour; the Library refuses to save a faster schedule. In the Desktop sidebar, older firings of the same agent fold beneath its newest firing and start collapsed. Without an agent or approved-plan budget, its first turn has a $1 / 30-minute hard cap. Invalid schedules and unrecognized trigger kinds are warned about and skipped. Read the logs after changing frontmatter. See Agents and skills for the full definition.