Integrate brrr with Uptime Kuma

Uptime Kuma can call a webhook when a monitor changes state. Point that webhook at brrr to get a push when a monitor goes down or comes back up.

The examples below use 🙈🙈🙈🙈🙈🙈🙈🙈🙈🙈 as a placeholder for your secret. Replace it with the secret already included in your webhook URL from the app.

Configure the webhook

Copy the shared webhook URL if every device should receive the alert, or copy a device-specific webhook URL if only one device should receive it.

In Uptime Kuma, create a webhook notification and use these values:

  • Notification type: Webhook
  • Post URL: https://api.brrr.now/v1/🙈🙈🙈🙈🙈🙈🙈🙈🙈🙈
  • HTTP Method: POST
  • Request Body: Custom Body
  • Additional Headers: enabled

Set Additional Headers to this JSON object:

Headers
{
  "Content-Type": "application/json"
}

This tells brrr to read the custom body as JSON.

Send a monitor alert

Uptime Kuma renders the request body with Liquid, so you can use monitor fields in the JSON payload. Replace https://uptime.example.com with the address you use to open your Uptime Kuma dashboard.

JSON
{
  "title": "{{ monitorJSON.name }}",
  "message": "{{ msg }}",
  "thread_id": "uptime-kuma-{{ monitorJSON.id }}",
  "open_url": "https://uptime.example.com/dashboard/{{ monitorJSON.id }}"
}

thread_id keeps notifications for the same monitor grouped together. open_url opens the affected monitor when you tap the notification, as long as the device can reach your Uptime Kuma instance.

Customize up and down alerts

For up and down events, Uptime Kuma exposes heartbeatJSON.status. It is 1 when the monitor is up and 0 when it is down.

JSON
{
  "title": "{{ monitorJSON.name }}",
  "message": "{% if heartbeatJSON.status == 1 %}Back up and responding.{% else %}Down and needs attention. {{ msg }}{% endif %}",
  "thread_id": "uptime-kuma-{{ monitorJSON.id }}",
  "open_url": "https://uptime.example.com/dashboard/{{ monitorJSON.id }}"
}

If you want to show Uptime Kuma’s icon in the notification, add icon_url. Read Custom icons to learn more.

Test it

Use Uptime Kuma’s Test action to confirm that a push arrives. Test notifications may not include the same monitor and heartbeat data as a real state change, so the text can look different from a live alert.

After saving the notification, enable it on the monitors that should send alerts. For the full list of supported brrr payload fields, continue to Docs.

If you want to experiment with payloads first, the Send test notification section is the quickest place to start.