Operating Agents
Deploying an agent is the start. This page covers the day-2 surface: running agents on a schedule, watching a run as it executes, replaying a run, getting alerted when an agent breaks, and adjusting runtime behavior without a redeploy.
Run on a schedule
Add a schedule block to your agent in waxell.yaml:
agents:
- name: daily_digest_agent
version: 1.0.0
schedule: "0 9 * * *" # every day at 09:00 UTC
Or the expanded form for payloads, named slots, and multiple schedules:
schedule:
- cron: "0 9 * * *"
signal: build_digest # a signal declared on this agent (optional)
payload: { mode: full }
slot: morning
- cron: "0 17 * * 5"
payload: { mode: weekly }
slot: friday-wrap
Cron expressions are five-field (minute hour day-of-month month day-of-week)
and evaluate in UTC with minute resolution.
Scheduled fires go through the same dispatch path as an API signal fire —
governance policies, plan quotas, and runtime settings all apply. If the
schedule names a signal, that signal fires exactly as if you'd called the
webhook; without one, the agent is dispatched directly.
Missed windows are skipped, never backfilled: if the platform is briefly
unavailable across a */5 schedule, you get one catch-up run, not a burst.
Manage schedules from the CLI:
wax agents schedule my-agent # show schedules + next fire
wax agents schedule my-agent --set "*/30 * * * *" # add or change
wax agents schedule my-agent --pause # stop firing
wax agents schedule my-agent --resume
wax agents schedule my-agent --delete
or from the agent's Overview page (Schedules section), which shows the
next fire time and links to the last scheduled run. A schedule set from the
CLI or UI is operator-owned: it survives future pushes. Schedules
declared in waxell.yaml re-sync on every push.
Watch a run live
wax runs tail <run-id>
Streams the run's event timeline — tool calls, LLM calls, agent messages —
as each completes, then prints the final result. Works on any run: fired,
scheduled, replayed, or started from the UI. Find run IDs with
wax runs list, or follow a fresh fire directly:
wax signals fire my_signal --payload '{...}' --stream
Replay a run
Re-fire any runtime run with its original inputs:
wax runs replay <run-id> # queue the replay
wax runs replay <run-id> --tail # queue and follow it live
The replay is a new run through the normal execution path — quotas and
governance apply — with a replay_of reference back to the source run. The
original run is never modified. In the app, use the Replay button on any
runtime execution's detail page.
Failure alerts
On the agent's Overview page, click Alert me on failures to get an email after 3 consecutive failed runs (one notification per cooldown window, so a bad night doesn't flood your inbox).
For finer control, build rules in Settings → Alerts: error-rate thresholds, cost thresholds, p95 latency, score thresholds, and run-failure rules with a configurable consecutive-failure count — each deliverable to email, Slack, or a webhook, scoped to one agent or the whole fleet.
Runtime settings without a redeploy
The Runtime settings section on the agent Overview shows the declared
values from waxell.yaml and lets an operator override them in place:
- Timeout — per-run wall-clock cap
- Execution mode —
sharedorisolated - Tier hint and sensitivity — placement and routing inputs
Overrides win over the manifest and survive pushes until cleared — an incident-time timeout bump can't be wiped by the next deploy. The same section shows when an override is active and who set it.
Build status
Agents with a dependencies block run in a self-contained container built
from your requirements. Check the build from the CLI:
wax agents builds my-agent
or the Build & execution panel on the agent Overview, which live-updates while a build is in flight and keeps the build history (image, task definition, logs).
Compute usage
Every runtime run meters CPU-seconds and memory-GB-hours. See the tenant picture in Analyze → Compute (totals, per-agent, per-day, per disposition — CSV exportable), the per-agent picture on each agent's Overview, and your plan quota position in Billing or:
wax billing usage