Scheduled tasks
Since v0.7.2, Zagens supports RRULE-based local automations — enqueue background Tasks on a schedule using the same pipeline as manual task creation.
Where to configure
| Surface | Role |
|---|---|
| Settings → Scheduled tasks | Create / edit / pause automation rules |
| Sidebar Tasks | View running and past tasks; expand cards for timeline and tool calls; Open full conversation in chat (v0.7.3+) |
HTTP API: /v1/automations (same data as the desktop UI).
Trigger kinds
| Kind | Behavior |
|---|---|
| Lightweight prompt | Enqueues conservative defaults: Agent mode, no shell, auto-approve tools; ignores stored model/mode/shell on the record |
| Full Task | Uses stored model, mode, workspace, allow_shell, trust_mode, auto_approve — same as creating a Task by hand |
Use lightweight prompt for daily summaries and low-risk scans; use full Task when you need shell or a specific model.
Schedule (RRULE)
The desktop form builds iCalendar-style RRULE strings, for example:
FREQ=DAILY;BYHOUR=9;BYMINUTE=0
FREQ=WEEKLY;BYDAY=MO,WE,FR;BYHOUR=8;BYMINUTE=30
FREQ=MINUTELY;INTERVAL=15;BYDAY=MO,TU,WE,TH,FR
FREQ=ONCE;DTSTART=2030-06-10T09:00:00
The sidecar scheduler creates an AutomationRunRecord → task_manager.add_task → same thread/turn history as the Tasks panel.
Relation to skills
- Skills (
SKILL.md) define how the agent works; scheduled tasks define when to run automatically. - Sidebar Tasks and Settings → Skills share the skills panel (
AutomationPanel). - The agent can also create rules via the
automation_*tool family in chat.
Tips
- Start with a lightweight prompt to validate RRULE and notifications before upgrading to a full Task.
- Scheduled jobs with shell need Windows sandbox and approval policy review.
- After downtime, the sidecar catch-up fires missed triggers in batch.