Automations
Save a task and its session settings, then invoke it or add a trigger.
An automation saves a prompt, a harness, an environment, permissions, and a budget. Each invocation starts a new session. A trigger makes it run automatically.
Define an automation
This automation attempts a test repair and opens a pull request when it has a fix. It has no trigger, so it runs only when invoked.
Deploy from git
Commit a .yaml or .yml file anywhere under .ellipsis/ on the default branch. Ellipsis syncs it and shows it on the dashboard's Automations page.
The organization can also keep shared definitions in a repository named .ellipsis. That repository's root is the configuration directory.
Invalid updates keep the last valid definition running. Inspect the automation's page for the validation error and source commit. Deleting its file disables the synced automation.
Create through the API
POST /v1/automations creates an automation immediately, without a repository file. Send the definition under automation.
Each automation is managed by git or the API. Edit git-managed definitions in their repository. Use link to open a pull request that moves an API-managed definition into git; use unlink to make a git-managed definition editable through the API.
Run an automation
Choose Run on its dashboard page, or invoke it with a prompt:
An automation with an input schema requires input instead of prompt. The optional request budget can lower the saved session budget.
Invocation runs once and closes the session after its first turn. Saved automation invocation currently supports Claude Code.
Add a trigger
This runs every Monday at 09:00 UTC. An automation accepts at most one trigger.
Use Triggers for event filters and schedules, or Automation schema reference for complete examples.
Handlers
Handlers configure responses to Slack, GitHub, or Linear mentions, and investigations of Sentry alerts. Each account has at most one handler per service, defined by slack.yaml, github.yaml, linear.yaml, or sentry.yaml at the root of its .ellipsis repository. Each file defines service filters and one session block with its harness, prompt, environment, permissions, skills, and budget.
Handlers support the same budget fields as automations: session caps one session, while day, week, and month cap spend across that handler's sessions.
Open Handlers in the dashboard sidebar to see all synced handlers in a table. Select a handler to browse its source file, sync status, documentation, session counts, cost, and sessions. The time range applies to both metrics and the session list.
The response's handlers array contains each synced handler's ID, service, parsed configuration, original YAML, source file, and sync status. Disabled handlers are included. A failed update returns the last valid definition with last_sync_error; a file with no successfully synced definition is omitted. Edit handlers in GitHub.
Use the handler ID to find the sessions it started.
Read a handler's metrics with GET /v1/handlers/{handler_id}/metrics. Optional start and end timestamps select sessions by creation time, including start and excluding end. The response includes counts by current session status and total cost in millicents. Older sessions without that saved handler ID are excluded.