---
name: automations-schedule
description: "Create, change or pause an Introspection automation, so an agent's work happens later or recurs: a check-in, a brief, a follow-up on an issue. Agree its name, prompt and schedule with the person first; never delete one. Used from any phase; automations-respond handles a firing, automations-adjust changes one."
metadata:
  min-cli-version: "0.73.0"
---

# Automations: schedule

An automation fires a saved prompt on a schedule, or once at a set time, so work happens when nobody is there to ask for it.

## Before you start

- **Read only what you need:** every `introspection` command takes `--query` (JMESPath).
- **Know what already exists:** `introspection automations list --query "[].[id, name, enabled]"`. Change an existing automation rather than adding a second one for the same work.

## Steps

1. **Agree what it does with the person who asked:** its name, what each firing should do (the prompt), when it runs, and where it reports. A recurring automation costs a run every time: say how often that is.
2. **Create it:** `introspection automations create --name <name> --prompt <what to do> --runtime <slug>`, with `--cron <expression> --timezone <zone>` for a schedule or `--at <RFC 3339 time>` for once. `--task <task-id>` posts each firing into an existing conversation, so a follow-up continues that work instead of starting fresh.
3. **Read it back** (`introspection automations get <id>`) and tell the person when it next runs.

## Guardrails

- **The person decides** an automation's schedule and prompt; you propose them.
- **Never delete an automation,** and never create one to work around a refusal or a missing scope.
- **Report an automation only once it exists:** read it back.

## Done when

- The automation exists as agreed, and the person knows when it next runs.
