Ask an agent to schedule something
You can ask an agent, in any chat you already use with it (Telegram, WhatsApp and so on), to do something on a regular basis. For example: "every Monday at 10, check the open invoices and tell me which are late".
The agent turns that into a schedule, a job AgentX runs at set times. Nothing it asks for runs until you approve it.
Before you start
- The agent can use the AgentX tools. Codex and OpenCode agents always can. A Claude Code agent can when its
mcpsettings include the AgentX server (agentx serve --stdio). - Approval requests have somewhere to go: set
notifications.destinationinagentx.json(see Get notified). Without it, requests still wait for you, but nobody tells you about them.
1. Ask for it in chat
- Chat app: tell the agent what to do and when, in plain words. For example: "every weekday at 6pm, summarise today's support tickets and send them here".
- The agent replies that it has asked for the schedule and that it's waiting for your approval.
Timing can be written the way you'd say it: "every morning at 9", "weekdays at 6pm", "every 15 minutes", "1st of every month at noon". To see how AgentX reads a phrase:
agentx schedule parse "weekdays at 6pm"By default, the job runs as the agent you asked, and its results go back to the chat you asked from. You can ask for another agent, a time zone, or somewhere else to send results.
2. Approve or reject it
You get a message with the job's timing, the next time it would run, the agent, where the results go, and what it will do.
- Terminal: on the machine running AgentX, list the schedules. Waiting requests are marked
◐.shagentx schedule list - Approve it, using the ID from the list:shOr turn it down:
agentx schedule approve <id>shagentx schedule reject <id>
The change takes effect straight away; no restart needed.
You can also answer from the Approvals tab in the dashboard, or with agentx approvals list, where requests from agents, memory and the wiki wait together. See Approvals.
A request that isn't approved never runs, even if something else switches it on. Only approve releases it.
What the agent can do
| Ask for | What happens |
|---|---|
| A list | It shows your schedules, whether each is on, who made it, and when it runs next |
| A new schedule | Saved switched off, marked as waiting, and you're told |
| Pause or resume | Takes effect at once, for schedules the agent itself made and you approved |
| Removal | Waits for your approval; the schedule keeps running until then |
An agent can only pause, resume or ask to remove schedules it made. To let an agent manage every schedule, set "admin": true on it in agentx.json. Even then, only you can approve.
If an agent withdraws its own request before you approve it, the request is simply removed, since it never ran.
Check it worked
- Terminal: run
agentx schedule list. Your new job is listed without the◐mark and with a next run time. - Browser: open the dashboard's Operations tab. The job appears under Routines as a schedule. See Routines.
- After its first run, the results arrive in the chat you asked from.
If something is wrong
- The agent says it can't schedule things: it doesn't have the AgentX tools. Add the AgentX server to its
mcpsettings, then restart the daemon. - You never got the approval message: set
notifications.destinationinagentx.json. The request is still waiting inagentx schedule list. approvesays the job isn't waiting: it was already approved or rejected. Checkagentx schedule list.- The agent can't pause a job: it didn't make that job. Make the change yourself, or give the agent
"admin": true. - The timing is wrong: check the phrase with
agentx schedule parse "<phrase>", then ask the agent to change it.
