Skip to main content
ALWAYS ON TIME

Your agents show up: whether you’re there or not.

Describe the task once. Drop it on the calendar. The agent fires every morning, every week, or at the exact moment you need it: silently, in the background, with a full transcript waiting when you check in.

The idea

A calendar built for AI employees.

Every schedule targets a single agent task. Write the instruction once. The agent handles it on time, every time.

One-time

Fire an agent task at a specific date and time, once. Use it for things that happen once: a briefing before a product launch, a one-off data export, a post-event summary.

Recurring

Fire on a repeating cadence: every morning, every Monday, the first of each month. Six frequency options, an interval multiplier, and three stop rules.
The whole Calendar page runs in the web app: month, week, and day views, schedule creation, editing, recurrence, filtering, deletion, and the Next up panel. Every schedule targets an Agent task, so the type is always “Have an agent perform a task”.
Recurrence

Pick a pattern, see it on the month.

Toggle Repeat on in the ScheduleSheet to expand the recurrence block. Every combination is expressed in plain language. No cron syntax, no documentation to look up. Select a pattern to preview it:

Mo
Tu
We
Th
Fr
Sa
Su
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Once: June 10 at 09:00 your timezone. Fires exactly once, then the schedule is complete. Good for a pre-launch briefing or a one-off data export.
Every day at 09:00. Interval: 1. Continues until you set a stop rule (On date or After N occurrences) or delete the schedule.
Every Monday, Wednesday, Friday at 09:00. Use the day-chip picker (Mo, Tu, We…) to select any combination. The interval multiplier can make it every 2nd week, every 3rd, and so on.
Monthly: day 8, then 15th, then 22nd illustrates three separate monthly schedules at different dates. Each “Monthly” schedule targets one specific day of the month (e.g. the 15th). Interval: every N months.

Frequencies

Six frequency options are available:The interval multiplier lets you say “every 3 days” or “every 2 weeks”. Enter a whole number; the input accepts values from 1 up to 365.
Keep intervals small and check the live preview before saving. Very large intervals are worth sanity-checking against the listed next occurrences rather than trusting the number alone.
Three options control when a recurring series ends:
  • Never: continues indefinitely until you edit or delete the schedule.
  • On date: stops after a specific calendar date.
  • After N occurrences: stops automatically after a set number of firings.
You choose the stop rule when creating the schedule and can change it at any time via “All occurrences” in the edit scope modal.
While you configure recurrence, the PreviewPanel on the right side of the ScheduleSheet shows the next occurrences in real time: date, day of week, and time for each upcoming run. Use it to sanity-check your cadence before saving.The recurrence summary also appears as a human-readable sentence (“Every Monday and Wednesday at 09:00, starting June 15”) so you can verify the pattern at a glance.
Click any event on the calendar to open the ScheduleSheet in edit mode. After you make changes and click Save changes, a scope modal appears with three options:
  • This occurrence: change only the single instance you clicked.
  • This and following: change from this occurrence forward, leaving past ones intact.
  • All occurrences: change the entire series, including future occurrences.
A toast confirms “Schedule updated” after saving.
Overnight runs

While you slept.

Agents on a schedule don’t wait for you to show up. By the time you open the app, the morning digest is already posted, the pipeline report is in your feed, and anything unusual has been flagged, all logged with full transcripts.

runs · overnight · Jun 12
CompletedMorning inbox digest · Maya1 m 52 s · 07:00Result
CompletedWeekly pipeline report · Dario3 m 14 s · 08:30Result
CompletedSpend anomaly check · Felix2 m 07 s · 08:30Result
CompletedSupport queue digest · Priya1 m 41 s · 09:00Result

Open any run to see the full transcript. The conversation below shows what checking in after the fact looks like.

S
@sam_actionist_bot
ONLINE
SEEN · READING CONTEXT
Good morning. Here is your inbox summary for the last 12 hours: 23 emails processed, 4 flagged as needing a reply today, 1 marked urgent (Northwind contract renewal. Deadline Friday). The remaining 18 are filed or archived. 07:00
Pipeline report is ready. 11 open deals, 3 moved to proposal stage overnight. One deal at Northwind stalled. No activity in 9 days. Dario’s report is in your home, in conversation with him. 08:31
TOOL · FLAG_ANOMALY
Spend anomaly flagged: software line item 2.4x above the 30-day rolling average. Felix reviewed the transactions, two duplicate charges from the same vendor. Details in the spend report. 08:33
Got it. Anything I need to act on before standup? 09:02
Two things: reply to the Northwind contract thread before end of day, and approve the duplicate-charge reversal Felix queued. Both are waiting in your home with one-tap approve cards. 09:02

Illustrative scenario. Each run above maps to a recurring schedule on the Calendar page set to post into a conversation. The “spend anomaly” is the kind of narrow, scoped task scheduled runs handle best.

Time saved

A week on schedule.

Recurring jobs are small individually. Across a full week they add up. The receipt below reflects the schedules on this page running as described.

Weekly schedule summary
Mon · Fri · 5 recurring agents · typical week
Morning inbox digest (daily · 07:00)~25 min / wk
Pipeline report, Dario (Mon · 08:30)~20 min / wk
Spend anomaly check, Felix (daily · 08:30)~30 min / wk
Support queue digest, Priya (Mon + Thu · 09:00)~40 min / wk
Competitor brief, Maya (Fri · 10:00)~35 min / wk
Typical weekly time back~2.5 hrs / wk
ILLUSTRATIVE, BASED ON THE SCHEDULES DESCRIBED ON THIS PAGE
Orientation

The Calendar page.

Open the Calendar from the left navigation bar. The calendar itself fills the page, and a Next up panel sits on the right listing what runs soonest. The toolbar across the top carries everything else: the Month / Week / Day switcher, Today, previous and next, Filter by agent, Refresh, Hide panel, and + New schedule.

Press N to open a new schedule without reaching for the button. Hide panel collapses the Next up column and turns into Show panel to bring it back.
Calendar · Week viewTodayMonthWeekDayFilter by agentRefreshHide panel+ New schedule
Mon
Tue
Wed
Thu
Fri
8a9a10a11a12p1p2p3p4p5p
08:30
D
DarioSales
Active
Monday pipeline report
RunsWeekly · Mon · 08:30
Duration~45 min
Next runMon · 08:30
Delivery#sales
saves ~50 min/wk
M
MayaMarketing Manager
Active
Daily analytics check
RunsWeekdays · 09:00
Duration~30 min
Next runTomorrow · 09:00
Delivery#marketing-daily
saves ~2.5 hrs/wk
M
MayaMarketing Manager
Active
Daily analytics check
RunsWeekdays · 09:00
Duration~30 min
Next runTomorrow · 09:00
Delivery#marketing-daily
saves ~2.5 hrs/wk
10:30
F
FelixFinance & Ops
Active
Overdue invoice chase
RunsWeekly · Tue · 10:30
Duration~40 min
Next runTue · 10:30
DeliveryInto a conversation
saves ~45 min/wk
14:00
D
DarioSales
Active
Stale-lead follow-up sweep
RunsTue & Thu · 14:00
Duration~30 min
Next runThu · 14:00
DeliveryDario’s conversation
saves ~1 hr/wk
M
MayaMarketing Manager
Active
Daily analytics check
RunsWeekdays · 09:00
StatusCompleted · 09:27
Delivery#marketing-daily
saves ~2.5 hrs/wk
P
PriyaSupport lead
Active
Support queue health check
RunsMon · Wed · Fri · 13:00
Duration~25 min
Next runToday · 13:00
Delivery#support
saves ~1.2 hrs/wk
M
MayaMarketing Manager
Active
Daily analytics check
RunsWeekdays · 09:00
Duration~30 min
Next runThu · 09:00
Delivery#marketing-daily
saves ~2.5 hrs/wk
11:00
M
MayaMarketing Manager
Active
Weekly competitor scan
RunsWeekly · Thu · 11:00
Duration~45 min
Next runThu · 11:00
DeliveryInto a conversation
saves ~1 hr/wk
14:00
D
DarioSales
Active
Stale-lead follow-up sweep
RunsTue & Thu · 14:00
Duration~30 min
Next runThu · 14:00
DeliveryDario’s conversation
saves ~1 hr/wk
16:30
F
FelixFinance & Ops
Active
Weekly cash-flow report
RunsWeekly · Thu · 16:30
Duration~60 min
Next runThu · 16:30
DeliveryInto a conversation
saves ~1.5 hrs/wk
M
MayaMarketing Manager
Active
Daily analytics check
RunsWeekdays · 09:00
Duration~30 min
Next runFri · 09:00
Delivery#marketing-daily
saves ~2.5 hrs/wk
P
PriyaSupport lead
Active
Support queue health check
RunsMon · Wed · Fri · 13:00
Duration~25 min
Next runFri · 13:00
Delivery#support
saves ~1.2 hrs/wk
16:00
P
PriyaSupport lead
Active
Weekly CSAT digest
RunsWeekly · Fri · 16:00
Duration~45 min
Next runFri · 16:00
Delivery#support
saves ~1 hr/wk
Filter by agentMaya · MarketingDario · SalesPriya · SupportFelix · Finance12 scheduled jobs · 4 agents · 24/7
Panel
”Next up” on the right lists what runs soonest. Hide panel collapses it; Show panel brings it back
Views
Month view (dots and chips per day), week view and day view (time-block tiles sized by duration)
Sheet
Click ”+ New schedule”, press N, or click an empty slot in the week or day view to open the ScheduleSheet
In month view, clicking a day cell opens a DayDrawer that lists every event for that day. Useful when multiple schedules land on the same date.

ScheduleSheet

Three sections, zero guessing.

The ScheduleSheet walks you through three sections in order. Select a section to explore its fields:

TypeAgent task: “Have an agent perform a task”
AgentSelect from your configured agents, e.g. Maya
GoalRequired. The task instruction. “Check my inbox and summarize unread messages.” The agent receives this verbatim at run time.

The schedule type is always Agent task. The Goal field is the only required text, so be specific and keep it scoped to something the agent can finish in one run.

DatePick from the date picker. Displayed in the schedule’s timezone.
Time09:00: HH:MM in the chosen timezone
DurationA dropdown with four options: 15 m / 30 m (default) / 1 h / 2 h. There is no free-text duration. Controls block height in the calendar and feeds the conflict checker.
TimezoneDefaults to system timezone. If this differs from your system zone an amber warning card appears. Read it before saving.
RepeatToggle on to expand the recurrence block. Off = one-time.
FrequencyWeekly: also: Minutely, Hourly, Daily, Monthly, Yearly
Days
MoTuWeThFrSaSu
Stop ruleNever / On date / After N occurrences

The PreviewPanel on the right of the sheet shows the next occurrences in real time: date, day of week, and time for each upcoming run.

Just run it: silent. The run still lands in Agent Studio → Runs, but nothing is posted anywhere.
Post into a conversation: a result card lands in your home, in conversation with the agent.

The section is headed When this run finishes, and those two are the choices. Whichever you pick, the run itself is always recorded.

Before you start. You need an agent to run the task, and it has to already exist. If you also want the result posted into a conversation rather than only recorded, set that up on the agent first, because the delivery section only offers destinations the agent can actually reach.

Open the ScheduleSheet

Click + New schedule in the toolbar, press N, or click any empty time slot in the week or day view. The ScheduleSheet slides in from the right.

What to run

The schedule type is already set to Agent task: “Have an agent perform a task.” Select the agent from the dropdown, then type the task instruction in the Goal field (required). Example: “Check my inbox and summarize unread messages.”

When to run

Pick the date and start time. Choose a duration from the dropdown: 15 m, 30 m (default), 1 h, or 2 h. Those four are the only choices. Duration controls the block height in week and day view and feeds the conflict checker.Verify the Time zone dropdown. If it differs from your system timezone, an amber warning card appears. Read it before saving (see Timezone handling below).To make the schedule recurring, toggle Repeat on and configure the recurrence block.

When this run finishes

Decide whether the run announces itself. Just run it stays silent; Post into a conversation drops a result card into your home, in conversation with the agent. Either way the run is recorded.

Create schedule

Click Create schedule. A toast confirms “Schedule created” and the event appears on the calendar immediately.
ScheduleSheet · New schedule
1 What to run
TypeAgent task
AgentMaya
GoalCheck my inbox and summarize unread messages.
2 When to run
DateJune 17, 2026
Time09:00
Duration30 m
3 Repeat ON
FrequencyWeekly
DaysMoTuWeThFrSaSu
4 When this run finishes
Post into a conversation
Just run it
Create schedule
Next occurrences
Mon, Jun 17 · 09:00
Wed, Jun 19 · 09:00
Fri, Jun 21 · 09:00
Timezones

Timezone handling.

Every schedule stores a timezone as an IANA string. The app defaults to your system timezone, but for agents expected to fire during business hours in a different region, you choose the zone explicitly.

ScheduleSheet · When to run
DateJune 17, 2026
Time09:00
Time zoneAmerica/New_York
!
Runs at 09:00 in America/New_YorkThat’s 14:00 in your time zone (Europe/London)
When the schedule timezone differs from your system timezone, an amber banner appears: “Runs at [time] in [zone] — that’s [local time] in your time zone ([your zone]).” Read this before clicking Create schedule: it tells you exactly when the agent will fire in your local time. A 9:00 AM schedule in America/New_York fires at 2:00 PM in Europe/London.

Actionist computes firing times from the timezone you select rather than from your browser’s current offset, which is why the cross-zone warning card can tell you the local equivalent before you save.

Safety

Conflict detection.

The ScheduleSheet checks for overlaps against the same agent’s existing schedules in real time, before you save.

New schedule
Overlap with same agent’s existing schedule?
No
Save, schedule created
Yes
A conflict banner appears and blocks the save
Adjust time or duration, then save
Conflict detection is agent-scoped. Two schedules for the same agent that overlap will trigger the banner. Two schedules for different agents can share the same time slot without any warning. Each agent runs in its own execution lane.
Set the duration accurately. The conflict checker uses the stored duration as the overlap window. If you set a shorter duration than the task actually needs, the banner will not fire on a genuinely conflicting later schedule.
After each run

Where the result lands.

The When this run finishes section of the ScheduleSheet decides whether the run announces itself. There are two choices.

No card. The run executes silently and nothing is posted. It is still recorded in Agent Studio → Runs, so you can check on it whenever you want. Best for frequent background jobs where a notification every time would be noise.
Both options record the run. The choice is only about whether a card is posted, so picking “Just run it” never means losing the result.

Per-agent view

One agent’s schedules, in one place.

The Calendar shows every agent at once. To see just one, open Agents, select the agent, and click the Schedule tab. The panel inside is headed Scheduled runs and lists that agent’s schedules with their next run time.

Maya · Schedule
Scheduled runs
Morning inbox digestNext: Mon Jun 17 · 09:00EditDelete
Weekly competitor scanNext: Thu Jun 20 · 11:00EditDelete
Scheduling is configured per schedule, not per agent. There is no agent-level scheduling master switch, no agent-level timezone, and no working-hours setting. Timezone lives on the individual schedule, in the ScheduleSheet.
Audit trail

Run history.

Every execution is recorded. Run rows live in Agent Studio → Runs, not on the Calendar page: open Agents, select the agent, and click Runs. Each row carries a timestamp, a status, the source that started it, and a link through to the result.This works in the web app. Historical runs are visible there, not locked to a desktop install.

Agent Studio · Maya · Runs
CompletedMorning inbox digest2 m 14 s · 09:01Result
CompletedWeekly CRM update4 m 38 s · 09:00Result
FailedOvernight support digest, · 11:02Result
TimeoutFull codebase audit10 m 30 s · 14:15Result
runs · last 24 h
CompletedMorning inbox digest2 m 14 s · 09:01Result
CompletedWeekly CRM update4 m 38 s · 09:00 MonResult
CompletedSpend anomaly check2 m 07 s · 08:30Result
FailedOvernight support digest, · 11:02Result
TimeoutFull codebase audit10 m 30 s · 14:15Result
RunningCompetitor research briefin progress · 17:00Result

Status types

Completed

Completed

The agent task finished without error.

Failed

Failed

The task encountered an error. Open the run to see where it broke.

Timeout

Timeout

The task ran too long and was ended before it finished.

Cancelled

Cancelled

The run was cancelled before it completed.

Running

Running

The task is currently executing in the background.

Each row links through to the result Actionist recorded during that run: the tool calls, the model output, and the steps the agent took. That is what makes it straightforward to verify what actually happened, or to work out why something failed.

Rows also record their source, so you can tell a scheduled firing apart from a run you started by hand.

Under the hood

From clock to result in four steps.

Clock firesThe stored time arrives in the schedule’s own timezone and the run is queued.
Agent executesThe Goal text is handed to the agent verbatim, and it works the task like any other run.
Run recordedThe result lands in Agent Studio → Runs with its status, timestamp, and source.
DeliveryIf the schedule posts into a conversation, the result card lands there too.
Reference

Limits and defaults.

What the scheduling controls actually offer you when you sit down to create one.

4duration options: 15 m, 30 m, 1 h, 2 h
30 minduration default
6frequencies: minutely to yearly
3stop rules: never, on date, after N
1–365interval multiplier, as exposed by the input
Systemtimezone default, changeable per schedule
Runtime behaviour that the scheduling UI does not expose, such as execution timeouts, retry policy, queue depth, and history retention, is deliberately not documented here. Publishing numbers we cannot verify from the product is how documentation goes stale. If you need a guaranteed figure for a specific limit, ask the team rather than inferring one.

States and controls

Schedule states and failed runs.

A schedule that exists is not the same as a schedule that ran. These are the states worth being able to tell apart.

Check the schedule before you blame the agent

If nothing arrived, confirm the schedule fired at all. A run that happened and returned nothing is a task-instruction problem. A run that never happened is a schedule, timezone, or placement problem. The two need opposite fixes.
A schedule stores the timezone you set it in. If you travel or your team is spread out, the run time follows the schedule’s timezone, not your current one. Check it before assuming a run was missed.
Best practices

Make schedules reliable.

These patterns separate agents that run smoothly every day from ones that silently miss, timeout, or pile up.

Duration feeds the conflict checker. If you set a shorter duration than the task actually needs, the banner will not fire on a genuinely conflicting later schedule, and both will attempt to run at the same time for the same agent. Duration also controls block height in week/day views, so accurate values make the calendar readable at a glance.
The amber warning card shows the local-time equivalent before you click Create schedule. For agents expected to fire during business hours in a remote timezone, this is the moment to confirm, rather than after three wasted mornings.
There is no agent-level scheduling switch to forget, so when a schedule does not appear to have run, work through the schedule itself: is the time correct in the timezone you selected, did the recurrence actually place an occurrence where you expected, and does the run appear in Agent Studio → Runs with a failure rather than not at all? Those three answers separate “never fired” from “fired and failed”, which need very different fixes.
You cannot save two schedules for the same agent at the same time; validation blocks it before the schedule is created. Treat that as a feature rather than an obstacle. If two tasks genuinely need to run together, give them to two different agents, which are free to share a slot.
A scheduled run gets your Goal text verbatim and nothing else, with nobody watching to clarify. “Summarize the last 24 hours of #engineering Slack messages” completes reliably. “Audit the entire codebase and produce a technical spec” is open-ended enough that you will not enjoy the result. Scope scheduled work tighter than you would scope a live conversation.
You do not move agents or schedules to the cloud by hand, and there is no Cloud item in the navigation to go looking for. Placement is handled for you, and an agent shows its runtime on its own card. See Cloud for what that means in practice.
Set it once

Put your agents on the clock.

Open the Calendar page, describe a task, and set it to fire every morning. The agent handles it. You check the transcript when you want.

Every execution is logged with a full transcript.
Conflict detection · Timezone-aware · Every run recorded.

Keep going

Next steps.

Agents

Configure the agent (tools, approval mode, memory permissions) before putting it on a schedule.

Triggers

For event-driven automation: fire an agent when something happens, not at a fixed time.

Channels

Put an agent on Telegram or Slack so your team can reach it where they already work.

Cloud

Move an agent to the hosted runtime so schedules keep firing when your laptop is closed.