- A team task posts its instructions into a team’s group chat, addressed to the team’s lead (Boo Zero). The lead reads it the way it reads a message you typed: it answers, or brings in teammates, and everything that follows shows in that chat and on the team’s board.
- An agent task gives one agent a task on the board. The agent works it through the normal executor path, and its result lands on the task card, which the team chat shows as well.
Prerequisites
Open Settings (the gear at the bottom of the sidebar, or
Cmd/Ctrl + ,) and choose Routines under the Workspace group. The view re-reads GET /api/schedules every 8 seconds while the window is visible, so statuses and countdowns stay current. Refresh reads it at once.- A team task needs a team with at least one member.
- An agent task needs an agent. Agents that are on no team can have routines too.
- A routine for an OpenClaw agent needs the OpenClaw Gateway connected when it runs, because the run rides that connection. Routines for every other runtime have no such requirement.
The Routines view
The header shows how many routines there are, a New routine button, and Refresh. Below it, rows are grouped:
Each row shows the routine’s name and status, where it goes (for example
Research team chat · Boo Zero leads for a team, or Ada · Research for an agent on the Research team), how often it runs, when it runs next, and when it last ran. A routine that stopped after a failed run shows the error in red.
Click a row to open it. The three buttons at the right of a row are shortcuts for Pause or Resume (Disable or Enable on an OpenClaw cron job), Run now, and Delete. OpenClaw cron jobs are created on the Gateway, not here, and have no Edit.
When the OpenClaw Gateway is disconnected, the list still loads. If you use OpenClaw, an amber notice says its cron jobs are hidden until it reconnects, or that the list shown is the last one the Gateway sent.
Steps
Create a routine
- Click New routine.
- Under Who it is for, choose A team task or An agent task.
- Pick the Team. A new routine starts on the team you are looking at. For an agent task, then pick the Agent from that team. Agents that are on no team are listed under No team (standalone agents).
- Under What should happen, write the instructions. For a team task this is the message the lead receives. For an agent task it is the task’s description.
- Optionally give it a Name. Without one, the routine is named after the first line of its instructions.
- Pick when it Runs: one of the presets, or Custom to type a cron expression. The dialog shows when the next run would be.
- Click Create routine.
Open a routine
Clicking a row opens the routine:- Sends to names the team chat and who leads it, or the agent and its team. A team routine has Open team chat, which takes you straight to that chat. An agent routine names the runtime it runs on.
- What happens shows the instructions it sends.
- Schedule shows how often it runs and when it runs next.
- Last run shows when it last ran.
- Recent runs lists the last ten runs, newest first, with how long each took. A team run reads
postedonce the lead has the message. An agent run readsdoneonce its task is finished, and View task opens that task with the agent’s report. A run that never recorded an outcome, because the server stopped during it, readsinterrupted.
Edit a routine
Click Edit to change who it is for, the team or agent, the instructions, the name, or the schedule, then Save changes. Only the fields you changed are sent. Changing the schedule of a paused or stopped routine does not turn it back on; resume it for that.Pause or resume
Pause stops a routine from running until you Resume it. Resuming arms it again at the next time its schedule gives. A paused routine never runs on its own. While a run is in progress the routine can be neither paused nor resumed; hovering the disabled button says so, and it comes back once the run finishes.Run now
Run now starts a run straight away without changing the schedule. It returns202 at once rather than waiting for the run, and the pill moves through queued and running within a moment. It is available while the routine is on: resume a paused or stopped routine first, and a routine that is already running cannot start a second run.
Delete
Delete asks first, then removes the routine. Tasks and messages it already produced stay where they are.Options
Schedule presets
A new routine starts on Every hour. Custom takes any cron expression: minute, hour, day of month, month, day of week. For example,
30 8 * * 1-5 is 8:30 on weekdays. Times are in the local time of the machine Clawboo runs on.
One-time runs (once@<ISO>)
A routine’s schedule can also be a single run at a future time, written once@<ISO-8601> (for example once@2026-07-01T09:00:00Z). The dialog only offers recurring schedules, so create a one-time routine through POST /api/schedules. After it runs it reads finished and never runs again.
Where an agent task runs
An agent task runs the way the agent works a task delegated in team chat: without a git worktree. A routine created through the API with arepoPath works in its own worktree of that repository instead. See Schedule recurring team work.
When a run fails
A routine whose run fails stops. Its pill readsfailed, the row shows the error, and it does not run again until you resume it. This is deliberate: a routine that retried a broken run on every tick would spend budget and fill the board without getting anywhere. Opening it shows a “Stopped after a failed run” note with the error. Fix the cause, then click Resume.
When an agent task’s run fails, its task is moved to Blocked with a note naming the agent and the error, so it does not sit in To do looking like work waiting to be picked up. The routine files a new task on its next run.
An OpenClaw cron job is different: the Gateway owns it, so a failed run shows failed but the job stays enabled.
Verify it worked
- The new routine appears under Team routines or Agent routines with a live countdown (
in 5m,in 1h). - When it runs, the pill moves through
queued,starting, andrunning, then back toon, and the row showsran <time>. - A team routine’s message appears in the team chat under a Routine label that names the routine and who it went to, and the lead’s reply follows.
- An agent routine’s task appears on the board. Its result is on the task card, and View task in the routine’s recent runs opens it.
- Each run is traced in the Observability dashboard through the
routine_*events.
Troubleshooting
Related
- Schedule recurring team work: a walkthrough, including the API
- Scheduling: the model behind routines: the ledger, the ticker, and what a run does
- Group chat: where a team routine’s message and the lead’s work appear
- The board: where an agent routine’s task lands
- Schedules API: request and response shapes and status codes
- Observability dashboard: a run’s trace