Scheduled Automations
Scheduled automations let the resident Gateway run work later or repeatedly. A job can run an agent prompt, a Skill, a script, or a fixed notification.
Create a Prompt Job in Dashboard
Open Dashboard → Cron → Add job and provide:
| Field | Meaning |
|---|---|
| Name | Stable label such as daily-brief |
| Schedule | One-time delay/time, recurring interval, or five-field cron expression |
| Prompt | Instruction sent to Anyy on each run |
| Execution mode | approval or unattended yolo |
| Notify via | Dashboard/TUI Gateway, connected Channel, or no notification |
| Role | Optional Role identity for the job |
| Workspace | Optional workspace scope; defaults to default |
Dashboard creates an agent job. At run time it starts a background session so Anyy can inspect current state, use tools, make decisions, and produce a fresh result.
Choose a Schedule
Anyy accepts exactly one of these forms:
| Form | Example | Behavior |
|---|---|---|
| One-time delay | 30m, 2h, 1d | Run once after the duration |
| One-time timestamp | 2026-08-20T09:00:00+08:00 | Run once at the RFC 3339 time |
| Recurring interval | every 2h, every 1d | Repeat after each interval |
| Five-field cron | 0 9 * * 1-5 | Repeat at 09:00 on weekdays |
Five-field order is minute, hour, day of month, month, weekday. Seconds and natural-language schedules such as tomorrow morning are not supported.
Cron expressions run in the job's resolved timezone. Dashboard shows timestamps in that timezone; verify it before relying on wall-clock delivery.
Create from the CLI
anyy cron create \
--name morning-brief \
--kind agent \
--schedule "0 8 * * 1-5" \
--prompt "Summarize today's open tasks and send a concise brief." \
--delivery-target current_user_default \
--delivery-channel telegram
The default execution mode is approval. A job remains bound to its selected Role and Workspace scope.
A scheduled run does not inherit the conversation that created it. Include the objective, inputs, allowed tools, output format, and delivery expectation in the job prompt.
Other Job Kinds
The CLI also supports:
skill— run a named Skill workflow; supply Skill names with--skills;script— run a script under the Profile scripts directory;--scriptselects no-agent execution; andnotify— publish a fixed notification prompt.
Use --toolsets to make the capability boundary explicit and --workdir for the intended script working directory. Run anyy cron create --help for all fields.
Delivery
Dashboard can deliver through:
- Panel / TUI — the Profile's Gateway destination;
- a healthy or degraded configured Channel; or
- No notification — keep run history without sending the result.
The CLI exposes these targets:
| Target | Meaning |
|---|---|
gateway | Publish to the resident Gateway |
origin | Return to the trusted Channel origin associated with the run |
current_user_default | Resolve the user's default binding, optionally for --delivery-channel |
none | Run without user delivery |
Dispatch into Anyy's delivery pipeline does not prove final receipt by an external service. Test the Channel before relying on time-sensitive notifications.
Approval versus yolo
- approval pauses when a protected action needs authorization.
- yolo lets approvable actions continue unattended while absolute-catastrophe interlocks remain enforced.
anyy cron update --id JOB_ID --execution-mode yolo
Constrain the prompt, Role, Workspace, toolsets, working directory, external systems, and delivery target. Test several runs in approval mode before choosing yolo.
Manage Jobs and Runs
Dashboard lists enabled state, schedule, next run, last run, and latest status. Open a job to:
- review its prompt, identity, delivery, timezone, and source;
- inspect the latest 20 run records and durations;
- enable or pause it;
- edit its schedule, prompt, or execution mode; or
- delete it.
Editing does not rename a job or change its Role/Workspace identity. Create a replacement when those fields must change.
CLI management:
anyy cron list --include-disabled
anyy cron update --id JOB_ID --disable
anyy cron update --id JOB_ID --enable --schedule "every 12h"
anyy cron delete --id JOB_ID
Use --role, --workspace, or --all-scopes when the job is not Profile-wide.
Scheduled agent executions appear in Dashboard Chat under Background. See Conversations & Sessions.
Tips
- Include the desired output and delivery behavior in the prompt.
- Use an interval for elapsed-time checks and cron for wall-clock schedules.
- Confirm timezone and Channel health.
- Inspect run history before assuming a notification failure means the job did not run.
- Periodically review unattended jobs and their authority.
Troubleshooting
| Problem | Fix |
|---|---|
| Schedule is rejected | Use a positive duration, RFC 3339 timestamp, every DURATION, or five-field cron |
| Job did not notify you | Check delivery and Channel health; the run may still exist in history |
| Job is waiting | Open its background session or Approvals |
| Next run is unexpected | Verify the resolved timezone and all five cron fields |
| You need another Role or Workspace | Create a replacement job with the new identity |