Cronitor
Cronitor monitors - failure / late / recovery delivered to Chirp.

Cronitor models alerting through Notification Lists - each list has a set of channels (email, Slack, webhook, etc.), and you attach lists to monitors. Chirp plugs in as a webhook channel on a list. Same payload semantics as Healthchecks (failure / late / recovery), different field names - Chirp's @cronitor normalizer maps them.
Cronitor's edge over Healthchecks is per-monitor metric assertions - "failed if duration > 30s", "failed if exit code != 0". When those assertions fire, Cronitor includes the failing assertion in the webhook payload, and Chirp surfaces it on the card ("duration: 47s, expected ≤ 30s").
Prerequisites
- A Cronitor account.
- At least one monitor configured.
- A Chirp inspector / webhook URL.
Setup
- 1
Add a Webhook channel to a Notification List
Cronitor → Settings → Notification Lists → Create new (or edit existing) → Add Channel → Webhook.
- 2
Paste the Chirp URL
Webhook URL is your Chirp inspector. Cronitor POSTs JSON; method and headers are pre-set. No HMAC signing required (the inspector key acts as the shared secret).
shellhttps://api.chirpapp.dev/v1/webhooks/cronitor?key=YOUR_KEY - 3
Pick which event types to forward
Cronitor lets you scope each channel to specific event types. Tick at minimum
failureandrecoveryfor the standard activity flow. Addlateif you want yellow-ticked cards on slow runs (vs. only red on actual failure). - 4
Attach the list to your monitors
On each monitor's settings page, set the Notification List dropdown to your new list. Cronitor lets you bulk-assign on the monitor index page; tick a set of monitors → "Apply Notification List" → pick yours.
What you’ll see
Card header: Cronitor green logo + monitor name + environment tag. On a `failure` event the card flips red with the alert message and (if present) the failing assertion. `recovery` updates the same card back to green with a small "recovered" badge and the duration of the incident ("down for 4m 12s"). Multiple monitors fire independent cards, keyed by monitor name. Tap to deep-link to the monitor page in Cronitor.
Troubleshooting
- Webhook channel saves but no events fire.
- Cronitor's notification lists need to be *attached* to monitors. The channel by itself does nothing. Confirm at least one monitor has the list assigned in its settings.
- Card fires on every check, not just on failures.
- You ticked
successevents on the channel. Untick it - Chirp's @cronitor schema expects only failure/recovery (success cards would spam). - Recovery card shows wrong duration.
- Cronitor's
incident_durationfield is in seconds; Chirp formats it for display. If the duration looks wrong, check whether your monitor'sfailure_toleranceis causing late grouping - Cronitor batches consecutive failures into one incident, so the duration covers the whole batch.