Automations

Scheduled and Event-Driven Agents

Define an agent in YAML with a cron schedule or an event trigger and it runs unattended in its own sandbox, with your repos cloned and dependencies installed. Every run is logged with cost per step, and permissions and budgets are enforced by the platform.

01

Every automation is a config in your repository

The prompt, the trigger, the repositories it clones, and its spend caps live in one file. Creating or changing it is a pull request, live on merge, so the review process you already have becomes the change-control process for your automation.

agents/nightly-migration-checker.yamllive on merge
ellipsis:  version: v1  name: Nightly migration checker  description: Run api-repo's migration checks nightlytrigger:  type: cron  schedule: "0 3 * * *"session:  harness:    type: claude_code  instructions: |    Run `make check-migrations` in api-repo. If it fails,    identify the migration at fault and open an issue with the    failing output and the likely fix.  environment:    repositories:      - name: api-repo    variables:      - name: DOPPLER_TOKEN  budget:    session: 1.50

Prompt, trigger, repos, and caps in one committed file

02

Read what the 3am session actually did

Every tool call, every turn, and the exact instructions the agent launched with are recorded, with cost and duration per step. An automation nobody watched is still fully auditable, and the whole history is searchable.

Implement CSV export
Download logsAsk about this sessionOpen in Build ↗
CompletedStarted 8m agoacme/web
Environment
web-repo
Harness
codex
Model
gpt-5.6-terra
Started
Sep 9, 2026, 2:04 PM
Elapsed
4m 02s
Started by
automation
Source
React
Repository
acme/web
Budget$0.42 / $250
Automation
$0.36
Token spend
Shell commands$0.16
System & tools$0.12
Model output$0.08
19.8k
Tokens over time
OutputsStepsEnvironment
Pull requests1
Implement CSV export
PR #314acme/web
Open ↗
Commits1
Add CSV export ↗
a7c91e2acme/web
Uncommitted changes0
No uncommitted changes
Uploaded files0
No uploaded files

Every turn and tool call, with cost per step

03

A runaway automation stops itself

Cap what one session can spend and what the agent can spend across a day, a week, or a month. A session that reaches its cap stops and records budget_hit, and a run blocked by a trailing limit never gets a sandbox at all.

agents/nightly-migration-checker.yamlUSD, enforced live
session:  budget:    session: 1.50    day: 5.00    week: 20.00    month: 60.00
session_9Kt4vR7m · stopped at its session capbudget_hit

Hard caps per session, agent, and developer

You can use Ellipsis for...

Every use case runs on the same platform. See how it works