Skip to content

Automation

Schedules and alerts

Monitors, domain verification, Slack, Discord and webhooks.

All documentation

Schedules

A schedule runs all enabled tests of a project, the tests with a tag, or one test, against one environment.

  • Intervals range from every 5 minutes to weekly; the shortest depends on the plan (every day on Free, every 15 minutes on Pro, every 5 minutes on Team).
  • Daily and weekly schedules can run at a time of day in a time zone of your choice, including across daylight saving changes.
  • If the previous scheduled run is still going, the next one is skipped rather than piling up.
  • Every scheduled run counts towards your monthly runs.

Domain verification

Schedules only run against domains you have verified, so nobody can point recurring traffic at a site they do not control. In the project settings, ask for a token and publish it with one of:

  • A DNS TXT record on _aback-inspect.example.com, which covers the domain and its subdomains.
  • A file at https://example.com/.well-known/aback-inspect.txt.
  • A <meta name="aback-inspect-verification"> tag on the home page.

Alerts

Alerts fire when a test changes state: once when it starts failing (a failed or timed out run) and once when it passes again, so a broken page does not post on every scheduled run. Runner errors on our side never alert. The in-app feed shows every change on every plan. Slack, Discord and webhook channels (Pro and Team) receive test alerts from schedules, CI, the API and MCP, not from runs started by hand in the app. Every suite run also sends batch.completed to channels that subscribe to it, and batch.failed when any test in it failed.

Webhook payloads

json
{
  "id": "dlv_...",
  "type": "run.failed",
  "createdAt": "2026-10-27T09:12:44.000Z",
  "data": {
    "event": "run.failed",
    "title": "Sign in started failing",
    "text": "Step 4: Expected the URL to contain /dashboard",
    "url": "https://.../app/runs/run_...",
    "status": "failed"
  }
}

Webhook requests carry x-aback-delivery, x-aback-timestamp and x-aback-signature: v1=HEX, where HEX is the HMAC-SHA256 of the timestamp, a dot and the raw body, keyed with the channel's signing secret. Reject requests older than five minutes. Failed deliveries are retried with backoff; 4xx answers other than 429 are not retried.