Skip to content

Scheduled Tasks#

An agent does not have to wait for you to start a conversation. A schedule wakes it at a set time; it does the work and posts the result to a channel. You check in when it suits you.

How it works#

A schedule is one of the stimuli on an agent's heartbeat. You give it a cron expression and a timezone; the heartbeat wakes the agent when the expression fires, and the agent's prompt tells it what to do with the wake-up.

The cron editor offers presets ("every day at 8am", "weekdays at 9am", "every hour") or takes a raw expression. A schedule can sit alongside other stimuli on the same agent, so one agent can both answer channel messages as they arrive and file a report every morning.

Example: the morning briefing#

stimulus: schedule
cron: "0 8 * * 1-5"        # weekdays at 8:00
timezone: America/Chicago
prompt: |
  Read today's calendar and the inbox since yesterday evening.
  Write a briefing: meetings, anything waiting on me, anything overdue.
  Email it to me and post a copy to #briefings.

At 8:00 the agent wakes, reads the calendar and inbox through its MCP servers, writes the briefing, sends it and posts it. Nobody opened the app.

Results go to channels#

Output posts to the channel the agent works in, so the channel becomes a running log of the scheduled work: every briefing, every weekly report, every check, in order, readable by anyone in the channel and part of the record. Reply in the thread and the agent picks up the conversation with the context of what it posted.

Under the same rules#

A scheduled wake-up runs under team policy like any other turn: the same allowed models and tools, the same budget, the same seat. The kill switch stops it.