Cron
Cron runs Anyy work on a schedule inside the selected Profile. Dashboard focuses on scheduled agent prompts: describe the job, choose when it runs, select how results are delivered, and review each execution.
The Gateway must remain running for schedules to execute. A scheduled time makes work due; the scheduler normally checks once a minute, so it is not a second-accurate alarm.
Create a scheduled prompt
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 |
| 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. It starts a background session at run time so Anyy can inspect current state, use tools, make decisions, and produce a fresh result.
Schedule formats
Anyy accepts exactly one of these forms:
| Type | Example | Meaning |
|---|---|---|
| One-time delay | 30m, 2h, 1d | Run once after that duration |
| One-time timestamp | 2026-11-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 * * * | Run at 09:00 each day |
Five-field cron order is minute, hour, day of month, month, weekday. Seconds are not supported. Do not enter natural language such as tomorrow morning in the schedule field.
Cron expressions run in the job's resolved timezone; timestamps are shown in that timezone on Dashboard. A five-field schedule is rejected when only an unreliable host/fallback timezone is available. Set a reliable IANA timezone before using wall-clock schedules, or use a duration/explicit-offset timestamp.
Creating or editing a job updates its configuration directly.
Delivery
Dashboard offers:
- Panel / TUI — deliver through the Profile's Gateway destination;
- a healthy or degraded configured Channel; or
- No notification — keep the run history without sending a result.
At creation, Channel delivery resolves the chosen platform’s default binding into a saved route. Test the Channel and its sender access/pairing before depending on it. Recreate the job when its delivery destination must change; editing the prompt or schedule does not retarget it.
The scheduler delivers the agent’s final answer through this route. Write the output you want in Prompt; it need not tell the child agent to send the same result separately.
Manage jobs
The Cron list shows 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 or prompt; or
- delete it.
Editing changes the schedule and prompt. It does not rename a job or change its Role, Workspace, kind, or delivery route. Create a replacement when those fields must change.
Pending means this scheduled run has been accepted but has not started. It has no completed duration yet; result delivery has a separate lifecycle. A saved schedule, an accepted run, a finished run, and a delivered notification are distinct outcomes. The Cron detail table shows run status and duration; use the destination surface or ask Anyy for automation history to inspect output and delivery details.
Source conversation and queues
An automation created during chat retains that source session and any trusted Channel origin. Its agent work still runs in a separate background session; completion can be routed back to the saved source. A standalone Dashboard/CLI job may have no originating chat, so gateway does not mean whichever conversation is currently open.
Cron’s pending occurrences are separate from the interactive conversation’s steering and follow-up inputs. Ask in the creating conversation to run an automation now; this queues a scheduler occurrence rather than proving it has finished.
CLI management
anyy cron list
anyy cron create --name daily-brief --schedule '0 9 * * *' --prompt 'Prepare my daily brief'
anyy cron update --id JOB_ID --disable
anyy cron update --id JOB_ID --schedule 'every 4h' --prompt 'Check for important updates'
anyy cron delete --id JOB_ID
The CLI also supports advanced agent, skill, script, and notify job kinds, explicit toolsets, workdirs, delivery targets, and scope filters. Run:
anyy cron create --help
List, update, and delete use Profile-wide lookup when no scope flags are supplied. Use --role and/or --workspace to narrow it, or --all-scopes to explicitly use the whole Profile. create accepts Role/Workspace identity flags, not --all-scopes.
Tips
- Write prompts that can be understood without the conversation that created them.
- Include the desired output and delivery behavior in the prompt.
- Inspect a test run and its delivery result before relying on the schedule.
- Use an interval for elapsed-time checks and cron for wall-clock schedules.
- Confirm timezone and Channel health before relying on a daily notification.
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 selection and Channel health; the run may still exist in history |
| Job is waiting | A Pending run has not started. For a started run awaiting input, open its background session and inspect the execution or clarification |
| Next run time is unexpected | Verify the Profile/job timezone and the five cron fields |
| You need to change identity or destination | Create a replacement job with the new Role, Workspace, or delivery route |
Scheduled executions appear under Dashboard → Chat → Background. See Sessions.