Automation
Scheduled Tasks
Run agents automatically at a specific time or on a recurring cron schedule. Tasks are created from the UI or by agents scheduling their own work.
Schedule types
- One-time (
at): runs once at a specific date and time, then is marked executed. Good for reminders, deferred work, and one-off checks. - Recurring (
cron): runs on a repeating schedule defined by a cron expression. Good for daily reports, periodic monitoring, and maintenance routines.
Creating a scheduled task
From the agent conversation
Agents schedule tasks with the schedule_task MCP tool. Asking an agent to do something later, or on a recurring basis, leads it to call the tool with these parameters:
| Parameter | Required | Description |
|---|---|---|
scheduleType | Yes | "at" for one-time or "cron" for recurring |
scheduleExpression | Yes | Natural language time (for at) or cron expression (for cron) |
prompt | Yes | The instructions the agent executes when the task fires |
name | No | A human-readable label for the task |
timezone | No | IANA timezone identifier (e.g. America/New_York) |
model | No | Override the model used for this task's sessions |
effort | No | Override the effort level: low, medium, high, xhigh, or max |
For example, "Check my inbox every morning at 9am and summarize anything urgent" produces a recurring cron task with the matching schedule and prompt.
The tool is non-blocking: the agent continues the conversation immediately, and the task later runs in a new session. This lets an agent set up its own monitoring, schedule a follow-up on a long-running operation, or defer work until the right time. Agents can also list and manage their own scheduled tasks.
From the UI
Create and manage tasks from the Triggers section on the agent's home page.
Natural language schedules
One-time (at) tasks accept natural language date expressions powered by chrono-node.
Relative times:
at now + 30 minutesat now + 2 hoursat now + 1 dayat now + 2 weeksat now + 1 month
Natural language dates:
at tomorrowat tomorrow 9amat next mondayat next friday at 3pmat December 25 10am
The parser is case-insensitive and accepts singular or plural units (hour / hours). Dates in the past are rejected.
Cron expressions
Recurring tasks use standard five-field cron expressions, with a minimum interval of 15 minutes:
┌───────────── minute (0-59)
│ ┌───────────── hour (0-23)
│ │ ┌───────────── day of month (1-31)
│ │ │ ┌───────────── month (1-12)
│ │ │ │ ┌───────────── day of week (0-7, 0 and 7 are Sunday)
│ │ │ │ │
* * * * *
Common examples:
| Expression | Meaning |
|---|---|
*/15 * * * * | Every 15 minutes |
0 * * * * | Every hour |
0 9 * * * | Daily at 9:00 AM |
0 9 * * 1-5 | Weekdays at 9:00 AM |
0 0 * * 0 | Weekly on Sunday at midnight |
0 0 1 * * | Monthly on the 1st at midnight |
Editing schedules with natural language
The task detail view accepts plain English for schedule edits. Convert to Cron translates a description like "every weekday at 9am" into a validated cron expression before saving.
Timezone support
Schedule times are interpreted in the task's configured timezone. Without one, the system falls back to the agent owner's timezone, then UTC.
- Cron tasks execute in their IANA timezone with DST handled automatically: a task set for daily at 9am
America/New_Yorkfires at 9am local time year-round. - One-time tasks with natural language dates (
at tomorrow 9am) are interpreted in the configured timezone. - Relative times (
at now + 1 hour) are timezone-independent, calculated from the current moment.
A task's timezone can be changed at any time from the detail view; the next execution time is recalculated automatically.
Task lifecycle
| Status | Meaning |
|---|---|
| Pending | Active and waiting for its next execution time |
| Paused | Temporarily suspended. No executions fire until resumed |
| Executed | One-time task that has completed its single run |
| Cancelled | Permanently stopped by the user |
| Failed | Execution failed (e.g. the agent no longer exists) |
Status transitions:
- A pending recurring task can be paused or cancelled.
- A paused task can be resumed (back to pending, with the next execution recalculated and missed runs skipped) or cancelled.
- A failed or cancelled task can be reset back to pending.
- A pending one-time task becomes executed after it runs.
Managing tasks
From the task detail view:
- Run Now: executes immediately. Recurring tasks get an extra run without affecting the schedule; one-time tasks consume their scheduled run.
- Pause / Resume: temporarily suspends a recurring task without deleting it.
- Edit Instructions: updates the prompt that runs when the task fires.
- Edit Schedule: changes the cron expression or timezone.
- Delete: permanently cancels the task.
Gamut shows a soft-cap warning when an agent accumulates a large number of scheduled tasks.
Runtime overrides
Each task can override the agent's default model and effort level: run a cost-sensitive recurring task on a lighter model, or boost effort for a critical one-time task. Set the model and effort parameters at creation or change them from the detail view; setting a field to null reverts to the default.
Run history
Every firing creates a new agent session. The detail view links each run to its session, and recurring tasks show a total execution count.