Scheduled AI agents

The work shows up on time. Nobody has to remember it.

Put any hosted agent on a daily or weekly schedule in the time zone your team works in. One page shows every schedule's next run, last run and whether it worked, and an alert tells you when an agent that should have run did not.

The problem

An agent you have to start is a tool. One that shows up is a colleague.

Most of the work worth giving an agent recurs: sort the inbox before the day starts, write the Monday report, summarise the night's alerts. If a person has to remember to press Run, the agent saves less than it should, and the day somebody forgets is the day the report is missing.

Running it on a timer is not the hard part. Knowing it ran, and hearing about it when it did not, is.

  • A scheduler to keep. Cron jobs on a server, with their own credentials and their own logs.
  • Time zones. A "9 a.m." run should mean 9 a.m. where the team is, through daylight saving changes.
  • Silence. A run that never starts raises no error, so nothing tells you it did not happen.

How it works

Pick the cadence, the time and the time zone.

Schedules are for hosted agents, which AgentOS runs for you. There is no cron infrastructure of your own to keep.

  1. Open the agent's Schedule tab. Or press New schedule on the Schedules page and pick the agent.
  2. Choose daily, or weekly and a day. Then the time and the time zone it should run in. Each agent has one schedule.
  3. Add run instructions if you need them. An optional JSON object passed as the input of every scheduled run, for parameters like the report type or the look-back window.
  4. Save. AgentOS starts the agent within the hour of each scheduled time. Scheduled runs show in the runs list with the trigger Scheduled, and are recorded like any other run.

The Schedules page

Every schedule, and how the last run went.

One page lists every schedule in the workspace: the agent, its cadence and time zone, the time until the next run, when it last ran and whether that run worked. A failed run shows its error on the row, and a Failing filter narrows the list to the schedules that need attention.

A schedule whose agent has been paused is flagged: it is still switched on, but it will not fire. From each row you can open the agent's runs or edit the schedule.

Pause without deleting

Stop the schedule, keep the agent.

Agents need breaks: a source is down, the team is on holiday, the instructions are being rewritten. Each row on the Schedules page has a switch that pauses the schedule. The agent stays active, so it can still be run by hand, and its history and its settings stay where they are. Switch it back on when you are ready.

When it goes quiet

Hear about the run that never happened.

Pair every scheduled agent with two alert rules. They are sent in the app, by email or to a webhook.

  • Agent has no activity. Fires when an agent has not run within a window you choose, 24 hours by default. It catches the schedule that stopped firing, which no error would report.
  • Any run fails. Fires when a run of the agent fails, scheduled or not, so a broken weekly job does not wait a week to be noticed.

What you get

Recurring work, on the record.

  • Runs in your team's time zone. Pick from the common time zones, from UTC and Europe/Lisbon to America/Los_Angeles and Asia/Tokyo.
  • The same input every time. Run instructions travel with the schedule, and prompt variables use the values set on the agent.
  • Nothing hidden. Every scheduled run keeps its full record: each model call, each tool call and its result, and its estimated cost.

In our own workspace

Our social posts are written on a schedule.

Social Content runs once a week. It drafts the week's posts for LinkedIn and X, saves them as files in our workspace Resources, and emails them to us to read. It never publishes anything.

Case studyEvery post on our LinkedIn page is drafted by an agent and approved by a person

Give one job to an agent this week.

Start with one repetitive workflow, gate the sensitive step behind your approval, and read the first run end to end.