Chapter 6

Automation

Work that happens without anyone asking: scheduled tasks at exact times, lightweight recurring checks, and reports that write themselves.

All chapters

Which tool for which job

Scheduled tasksHeartbeat checks
FiresAt an exact time, in a timezone you chooseOn a polling interval, hourly by default
Best forThe 9am digest, the Friday report, the one-off reminder"Has anything changed?" checks that tolerate drift
HistorySuccess or failure recorded per runSurfaces only when a check finds something
Managed inThe Scheduler and Calendar sectionsThe agent's Heartbeat card and its checks file

Reach for a scheduled task when the time matters. Reach for a heartbeat check when the question matters but the minute does not - and when you would rather batch a dozen small checks than create a dozen jobs.

Creating a scheduled task

  1. Open Scheduler and press New task. Choose a Schedule type first: Recurring or One-time.
  2. Build the schedule without cron. Recurring offers Minutes (every N), Hourly (every N hours at a chosen minute past the hour), Daily, Weekly (toggle the weekdays), Monthly (day of month), or Custom raw cron for power users. One-time uses a real date and time picker, constrained to future dates. Everything is minute resolution.
  3. Check the plain-language summary. As you edit, the builder writes out what it will do - "Runs every 2 hours at :20", "Runs once on Friday, June 19 at 09:00". If that sentence is not what you meant, fix it before saving; an incomplete or past-dated schedule blocks the save anyway.
  4. Pick the timezone. A searchable list of every zone with its current offset, defaulting to your own zone rather than UTC, with your zone and UTC pinned at the top.
  5. Write the message the agent receives. This is the prompt that fires - the agent reads it as an instruction, exactly as if you had typed it in chat.
  6. Choose the agent and save. Tasks belong to one agent, and the sidebar Scheduler badge counts the active jobs across the fleet.

Managing tasks

Every job carries a source badge. Saved means it was created here (or by an agent asking to schedule something). Config means it is baked into the agent's own configuration - typically part of an archetype you installed. Both are fully manageable from this list: pause, resume, edit the name, message or schedule, and delete. Config jobs write back to the agent's configuration and apply live.

Each card has a Run now button that fires the job immediately, ignoring its schedule, and records the run in history like any other. That is the fastest way to test a task you have just written - do not wait until 9am to find out the prompt was ambiguous.

Tasks can be disabled without being deleted, which is the right move for anything seasonal. Editing can also switch a task between recurring and one-time; the builder clears whichever field no longer applies.

Note

An agent's own recurring jobs can also be edited from its detail page, in the Schedule card on the Overview tab. Those are the same jobs the Scheduler shows tagged Config - two doors into one room.

The calendar view

The Calendar section shows the same tasks as a day, week or month calendar. Recurring jobs are expanded onto every day they fire; one-time jobs land on their date. Each occurrence shows its fire time, the task name and a one-line excerpt of the prompt, with a glyph marking recurring runs.

Click any occurrence to open the same task dialog the Scheduler uses - detail, edit, history, delete. Filters hide recurring or one-time tasks, and an agent filter narrows to the agents you care about. You can also schedule straight from the grid: a per-day + button pre-fills a one-time run at 09:00 on that day.

The calendar is the better view for spotting collisions - three agents all reporting at 9am, or a Monday with nothing on it.

Heartbeat checks

Heartbeat is the scheduler's lightweight sibling: a list of recurring checks the agent walks through on a polling interval while the runtime is up, hourly by default. Enable it and pick the interval from the Heartbeat card on the agent's Overview tab - the change applies live, with no restart, and "System default" inherits the deployment-wide setting.

The checks themselves have no dashboard form. Manage them by editing the agent's checks file in the Files section, or - much easier - by asking the agent in chat: "add a heartbeat check for whether the overnight import completed", "check the heartbeat every 15 minutes", "turn off heartbeat polling". The agent has tools for exactly this.

A check that finds nothing stays silent. When one does find something, it surfaces as a reminder on the dashboard rather than firing a message at you - which is what makes it safe to have twenty of them.

Recurring reports

Some reporting is built in. The Insights section keeps a work journal navigable by day, with a ranked per-agent breakdown and an optional written digest of what actually happened - conversations handled, scheduled tasks completed, checks run, hand-offs between agents. A Daily / Weekly / Monthly toggle switches between the per-day view and rollup reports, which generate on their own each week and month.

The most recent day's digest also appears on Overview as Daily highlights, written automatically each morning for the day just finished, with a button to regenerate today on demand.

Anything beyond that is a scheduled task. "Every Monday at 8am, summarise last week's support conversations and email it to the team" is one job with one prompt, and the agent already has the tools to do each part.

Writing a task that works

  • Say what to do and where to put it. "Check competitor pricing" leaves the agent to guess the destination. "Check the three competitor pages listed in the knowledge base and post a summary to the team Slack channel" does not.
  • Say what silence looks like. For monitoring jobs, tell the agent to say nothing when there is nothing to report. Otherwise you get a daily message confirming that nothing happened, and you will start ignoring the channel.
  • Test with Run now. Then read the run history entry and the resulting conversation before trusting the schedule.
  • Mind the timezone. The zone is per task. A team spread across offices should agree on one zone for reports rather than setting each job in the author's local time.
  • Expect approvals to wait. If a scheduled run reaches a tool that needs a human, it pauses and the request lands in the approvals inbox on Overview - it does not proceed unattended. See chapter 8.

One thing that is deliberately not capped: message rate limits apply to inbound messages from people, not to scheduled or autonomous work. A busy schedule will not lock your agent out of its own inbox.