Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

Automations

Automations run your agent on a schedule or in response to webhooks. Define them in automations/ as JSON (or Markdown).

JSON Format (recommended)

{
  "title": "Daily Revenue Digest",
  "schedule": "0 9 * * 1-5",
  "prompt": "Pull yesterday's revenue data and summarize by region. Highlight any anomalies compared to the weekly baseline."
}
FieldTypeDescription
titlestringDisplay name
promptstringThe message sent to the agent when the automation runs
schedulestringCron expression (triggers cron mode)
trigger"cron" | "webhook" | "manual"Trigger type (auto-inferred from schedule)

Trigger Types

TypeHow It Runs
cronOn a schedule — inferred when schedule is present
webhookIn response to an HTTP POST to the automation's webhook URL
manualOn-demand via CLI or API

Markdown Format (legacy)

# Automation: Morning Brief
 
Schedule: 0 7 * * *
 
## Check
 
Pull all active deals and recent activities from the CRM.
Summarize wins, losses, and pipeline changes.

How Runs Work

Each run is stateless — queries systems fresh with since=lastRunTimestamp. The agent gets lastRunSummary for continuity.

  1. Scheduler or webhook triggers the automation
  2. Fresh session created with the automation's prompt
  3. Agent runs explore-plan-execute loop
  4. Results routed to configured output channel

Managing Automations

amodal automations list
amodal automations pause <name>
amodal automations trigger <name>    # manual trigger

Guardrails

  • Automations cannot write by default
  • Each run is stateless — no accumulated side effects
  • Output is routed to channels, not acted on