Healthchecks Integration
Healthchecks monitors cron jobs. You can connect it to Crit Alarm using either its built-in ntfy integration or a custom Webhook.
Method 1: Built-in ntfy Integration (Recommended)
Section titled “Method 1: Built-in ntfy Integration (Recommended)”In Healthchecks, navigate to Project -> Integrations and scroll down to the ntfy entry. Click the Add button.
Configure the exact fields in the setup screen:
| Field Name in UI | Value / Setting | Notes |
|---|---|---|
| Topic | prod |
The topic created on your Crit Alarm server. |
| Server URL | https://alerts.example.com |
Base URL of your Crit Alarm instance without trailing slash. |
| Access Token | tk_xxxxxxxxxxxx |
Topic token. Healthchecks sends this as Authorization: Bearer <token>. |
| Priority for failure alerts | 5 (urgent) |
Critical for siren delivery. Must be set to 5 so failures trigger emergency incidents. |
Click Save Integration to activate.
Method 2: Custom Webhook Integration
Section titled “Method 2: Custom Webhook Integration”If you want custom alert formatting or check metadata variables in the notification body:
In Healthchecks, navigate to Project -> Integrations and click Add next to Webhook.
Configure the exact fields in the setup screen:
| Field Name in UI | Value / Setting | Notes |
|---|---|---|
| Name | Crit Alarm Webhook |
Descriptive name for this webhook. |
| Execute on | Check Down; uncheck Up | Alarms only sound when a check fails, so a recovery does not wake you. |
| URL | https://alerts.example.com/prod |
Full URL including the topic name. |
| Request Method | POST |
Select POST method. |
| Request Headers | See the header block in this section | Enter one header per line. |
| Request Body | See the body template in this section | Plain text payload with Healthchecks variable interpolation. |
Request Headers
Section titled “Request Headers”Enter the following into the Request Headers field:
Authorization: Bearer tk_xxxxxxxxxxxxX-Priority: 5X-Title: Healthchecks Alert: $NAME is DOWNRequest Body
Section titled “Request Body”Enter the following into the Request Body field:
Job "$NAME" ($TAGS) failed to ping on time. Last recorded ping: $LAST_PING.Click Save Integration to save the configuration.
Sending a Test Alarm
Section titled “Sending a Test Alarm”After saving either integration method:
- In the Integrations list, find your new Crit Alarm integration.
- Click the Test button in that row.
- Healthchecks sends a test dispatch to your server.
- Verify that:
- Crit Alarm returns
200 OK. - An incident is created with state
open. - Your phone rings the alarm and keeps repeating it.
- Crit Alarm returns