WaitcherDocs

Alerts

An incident opens after a monitor's failureThreshold consecutive failures or errors (default 2) and recovers on the next pass. Alerts go to your channels through routing rules. Missed schedules and other coverage errors never open incidents. Set this up once; the web app's Alerts page and waitcher alert do the same thing.

1. Add a channel

KindSends toCredential
account-emailYour verified sign-in address, up to 50 emails a dayNone. Create it in the web app ("Email me at my sign-in address") or with alert channel save (CLI 0.2.1 or later; sign in again if an older CLI signed you in)
slackA Slack incoming webhookThe webhook URL
webhookYour HTTPS endpoint, as JSONThe endpoint URL
emailAny address, through your own Resend accountYour Resend API key; set from and to
{ "name": "Team Slack", "kind": "slack", "enabled": true }
waitcher alert channel save --file slack.json --credential-file ./private/slack-webhook-url
waitcher alert channel list
waitcher alert channel test --id CHANNEL_ID --yes     # sends a real notification

Credentials are write-only: pass them with --credential-file or --credential-stdin, never in the JSON. New channels are paused unless "enabled": true; saving never sends a test. To edit, save with --id CHANNEL_ID and expectedRevision in the JSON.

2. Route events to it

{
  "monitorId": "*",
  "channelIds": ["CHANNEL_ID"],
  "events": ["incident", "recovered"],
  "cooldownSeconds": 900,
  "expectedRevision": 0
}
waitcher alert policy save --file routing.json
waitcher alert policy list

Maintenance windows

{ "name": "Release", "monitorId": "*", "startsAt": 1793174400000, "endsAt": 1793178000000, "enabled": true }
waitcher alert maintenance save --file window.json
waitcher alert maintenance list

Windows silence notifications, not checks: runs and incidents continue. Times are UTC epoch milliseconds, at most seven days per window. Silenced notifications are not sent later.

Delivery

waitcher alert deliveries and waitcher alert attempts --id DELIVERY_ID show what was sent. Delivery is at least once with up to five attempts; Slack may show a duplicate after an uncertain failure. "Accepted" means the provider took it, not that someone read it.