---
title: "Schedules"
canonical: https://trickest.com/docs/developer-tools/cli/schedules
description: "Schedule workflows to run automatically on a recurring interval from the CLI."
---

# Schedules

The `schedule` family (alias `schedules`) configures automatic, recurring runs of a
workflow. A workflow can have **at most one** schedule.

<Note>
A schedule can also be read through its workflow: `trickest workflow get <id>`
returns a `schedule_info` field (`null` when there's no schedule). See
[Reading a schedule](#reading-a-schedule) below.
</Note>

## Command summary

| Subcommand | Description |
|---|---|
| `schedule create [workflow-id]` | Create a schedule for a workflow |
| `schedule rm <id>` | Delete a schedule |

These verbs exist in the CLI but are **not supported** by the platform
(Hive returns 405 / the CLI fails before the call):

| Subcommand | Status |
|---|---|
| `schedule ls` | Not supported; use `workflow get … schedule_info` |
| `schedule get <id>` | Not supported; use `workflow get … schedule_info` |
| `schedule enable <id>` | Not supported; recreate with `schedule create` |
| `schedule disable <id>` | Not supported; delete with `schedule rm` |

## `schedule create`

Create a recurring schedule. The workflow can be given positionally or with
`--workflow`. Omitting both fails validation; it does not use your active workflow:

```bash
trickest schedule create <workflow-id> \
  --date "2030-03-15T06:00:00Z" \
  --repeat 86400 \
  --parallelism 10
```

| Flag | Description |
|---|---|
| `--workflow <name-or-id>` | Workflow to schedule (fallback for the positional arg) |
| `--date <iso-8601>` | First run time, e.g. `"2030-03-15T06:00:00Z"` |
| `--fleet <name-or-id>` | Fleet to run on (defaults to managed) |
| `--repeat <seconds>` | Repeat interval in seconds (e.g. `86400` = daily) |
| `--parallelism <N>` | Machine count (1 to 1000) |

Choose a future first-run time. The `Z` suffix means UTC; use an explicit offset
when you intend another timezone.

Common intervals for `--repeat`: `3600` (hourly), `86400` (daily), `604800` (weekly).

## `schedule rm`

```bash
trickest schedule rm <schedule-id>
trickest schedule rm <schedule-id> --dry-run    # preview what would be deleted
```

## Reading a schedule

Use the workflow to inspect its schedule:

```bash
trickest workflow get <workflow-id> | jq '.schedule_info'
```

`schedule_info` is `null` when the workflow has no schedule, or an object describing
the cadence when it does.

<Note>
`schedule ls`, `schedule get`, `schedule enable`, and `schedule disable` are
wired into the CLI for surface continuity but the platform does not support
them. Always read a schedule via `workflow get … schedule_info`.
</Note>

## Scheduled agent tasks

`trickest tasks` schedules agent prompts. In the app those are [Automations](/docs/key-concepts/agent/automations). [Scheduling an Automation](/docs/using-the-app/agent/scheduling-an-automation) is how you create one in the app. `trickest tasks` is separate from `schedule`, which
schedules workflow execution, and `sessions tasks`, which manages conversation tasks.

```bash
trickest tasks ls
trickest tasks get <task-id>
trickest tasks runs <task-id>
```

To create one, provide `--prompt` and a recurring `--cron` or one-time `--at`.
For example, this asks the agent to review runs every weekday at 09:00 UTC:

```bash
trickest tasks create --title "Review recent runs" \
  --prompt "Summarize failed workflow runs since the previous review." \
  --cron "0 9 * * 1-5" --timezone UTC
```

Creation schedules future agent work and can consume agent usage. `--timezone`
accepts an IANA timezone and defaults to UTC. `--notify` accepts `always`,
`on_failure`, or `never`; `--overlap` accepts `skip` or `wait`.

Use `tasks disable <id>` to pause scheduling while keeping history, or `tasks enable <id>`
to resume. `tasks run <id>` requests a run immediately without moving the next
scheduled time; check the returned `dispatched` value. `tasks rm <id>` deletes the task.

## Related

<CardGroup cols={2}>
  <Card title="Runs & Outputs" icon="play" href="/docs/developer-tools/cli/runs">
    Trigger and inspect runs manually.
  </Card>
  <Card title="Workflows" icon="diagram-project" href="/docs/developer-tools/cli/workflows">
    Read a workflow's schedule_info with workflow get.
  </Card>
  <Card title="Automations" icon="robot" href="/docs/key-concepts/agent/automations">
    Scheduled Agent prompts, separate from a workflow schedule.
  </Card>
  <Card title="Scheduling an Automation" icon="clock" href="/docs/using-the-app/agent/scheduling-an-automation">
    Create and pause those tasks in the app.
  </Card>
</CardGroup>

---
_Markdown source of https://trickest.com/docs/developer-tools/cli/schedules._
