| 1 | --- |
| 2 | name: scheduled-tasks |
| 3 | description: Use for complex Agent Zero scheduler work, including creating, updating, deleting, running, waiting for, timezone-correcting, or auditing scheduled, planned, and adhoc tasks. |
| 4 | --- |
| 5 | |
| 6 | # Scheduler Tasks |
| 7 | |
| 8 | Use the `scheduler` tool to manage saved tasks. Always inspect existing tasks before creating, updating, deleting, or running one. |
| 9 | |
| 10 | ## Actions |
| 11 | |
| 12 | - `list_tasks`: optional `state[]`, `type[]`, `next_run_within`, `next_run_after` |
| 13 | - `find_task_by_name`: `name` |
| 14 | - `show_task`: `uuid` |
| 15 | - `run_task`: `uuid`, optional `context` |
| 16 | - `update_task`: `uuid`, optional `name`, `system_prompt`, `prompt`, `attachments[]`, `schedule`, `timezone`, `plan[]`, `state`, `dedicated_context` |
| 17 | - `delete_task`: `uuid` |
| 18 | - `create_scheduled_task`: `name`, `system_prompt`, `prompt`, optional `attachments[]`, `schedule`, `timezone`, `dedicated_context` |
| 19 | - `create_adhoc_task`: `name`, `system_prompt`, `prompt`, optional `attachments[]`, `dedicated_context` |
| 20 | - `create_planned_task`: `name`, `system_prompt`, `prompt`, optional `attachments[]`, `plan[]`, `dedicated_context` |
| 21 | - `wait_for_task`: `uuid` |
| 22 | |
| 23 | ## Schedule Fields |
| 24 | |
| 25 | Schedules use cron-like fields. Do not put ISO datetimes into `schedule`. |
| 26 | |
| 27 | - `minute` |
| 28 | - `hour` |
| 29 | - `day` |
| 30 | - `month` |
| 31 | - `weekday` |
| 32 | - `timezone` |
| 33 | |
| 34 | Use IANA timezones such as `Europe/Rome`. Omit timezone to use the current user timezone. Planned task datetimes go in `plan`, not `schedule`, and should be ISO strings such as `2026-05-09T18:25:00`. |
| 35 | |
| 36 | For one future reminder, prefer `create_planned_task` with: |
| 37 | |
| 38 | ```json |
| 39 | { |
| 40 | "action": "create_planned_task", |
| 41 | "name": "drink water", |
| 42 | "prompt": "Remind the user to drink water.", |
| 43 | "plan": ["2026-05-11T09:15:00"], |
| 44 | "dedicated_context": true |
| 45 | } |
| 46 | ``` |
| 47 | |
| 48 | For a recurring or cron-shaped scheduled task, use `create_scheduled_task` with: |
| 49 | |
| 50 | ```json |
| 51 | { |
| 52 | "action": "create_scheduled_task", |
| 53 | "name": "weekday stretch", |
| 54 | "prompt": "Remind the user to stretch.", |
| 55 | "schedule": { |
| 56 | "minute": "15", |
| 57 | "hour": "9", |
| 58 | "day": "*", |
| 59 | "month": "*", |
| 60 | "weekday": "1-5", |
| 61 | "timezone": "Europe/Rome" |
| 62 | }, |
| 63 | "dedicated_context": true |
| 64 | } |
| 65 | ``` |
| 66 | |
| 67 | ## Safety |
| 68 | |
| 69 | - Do not create recursive task prompts that schedule more tasks. |
| 70 | - Do not run a task just because it is scheduled; run only if the user asks. |
| 71 | - Created tasks use a dedicated context unless `dedicated_context` is explicitly `false`. |
| 72 | - For destructive operations, identify the task by UUID after lookup. |
| 73 | |
| 74 | ## Example |
| 75 | |
| 76 | ```json |
| 77 | { |
| 78 | "tool_name": "scheduler", |
| 79 | "tool_args": { |
| 80 | "action": "find_task_by_name", |
| 81 | "name": "daily backup" |
| 82 | } |
| 83 | } |
| 84 | ``` |