Status
job.status().
Events
level: status, step (the default) or debug. Resume from the after cursor you last saw rather than re-reading from the start. Over HTTP this streams as newline-delimited JSON; the SDKs page through it for you and keep going until the run ends.
Results
Webhooks
A run can notify a bare webhook URL when it settles, and unlike a monitor, this one retries.t=...,v1=... shape Stripe’s webhooks use.
An agent run can only notify a bare webhook URL, never Discord or Slack directly, those two are monitor-only targets. In exchange, a run’s webhook does retry: up to 8 attempts, backing off 1 minute, 3 minutes, 9 minutes, 27 minutes, then three more at 1 hour each, about 3 hours 40 minutes in total, before it gives up after the eighth refusal. A monitor’s notification, by contrast, is sent once. Either way, a run’s own events stay readable through
agent.events and agent.results regardless of whether the webhook ever lands.