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

Schedule Trigger

Schedule triggers use a standard 5-field cron expression evaluated by Graphile Worker.

trigger:
  schedule: "*/5 * * * *"   # every 5 minutes

Cron format

┌───────── minute (0–59)
│ ┌─────── hour (0–23)
│ │ ┌───── day of month (1–31)
│ │ │ ┌─── month (1–12)
│ │ │ │ ┌─ day of week (0–6, 0=Sunday)
│ │ │ │ │
* * * * *

Common patterns:

ExpressionFires
*/5 * * * *Every 5 minutes
0 */3 * * *Every 3 hours (midnight, 3am, 6am, …)
0 7 * * *Daily at 7am
0 0 * * 1Every Monday at midnight

Workspace checkout

By default a scheduled pipeline runs without a repo checkout. To clone a repo before the agent starts, set trigger.repo and optionally trigger.branch:

trigger:
  schedule: "0 */3 * * *"
  repo: acme/my-project      # owner/name — must match a key in daemon.yaml repos:
  branch: develop            # defaults to the repo's default branch

Examples

# Liveness probe — no repo checkout needed
trigger:
  schedule: "*/5 * * * *"
agent: heartbeat
prompt: Reply with exactly the word "pong" and nothing else.
options:
  stateless: true
orchestrator: false
# Daily issue solver — clones repo before running
trigger:
  schedule: "0 7 * * *"
  repo: acme/my-project
  branch: develop
agent: solver
skill: solve-issue
# Periodic docs drift audit — read-only, every 3 hours
trigger:
  schedule: "0 */3 * * *"
  repo: acme/my-project
  branch: develop
agent: archivist
skill: docs-drift-audit
guardrails:
  read_only: true
  timeout: 1200
orchestrator: false