Skip to content

Notification Channels Reference

Notifications in OpenStatus provide real-time alerts regarding changes in monitor status, such as recovery from an outage or detection of a new failure. By default, no notification channels are configured in a new workspace. Users must configure and enable specific channels to receive alerts.

Each notification channel requires specific configuration parameters to enable alert delivery.

Integrates with Slack to send alerts to a designated channel.

Configuration:

Sends alerts directly to a specified email address.

Configuration:

  • Email Address: (Required) The recipient’s email address.

Delivers alerts to a Discord channel via a webhook.

Configuration:

  • Webhook URL: (Required) A Discord webhook URL for the target channel. Example: https://discordapp.com/api/webhooks/123456789012345678/abcdefghijklmnopqrstuvwxyz1234567890

Sends notifications to a Google Chat space.

Configuration:

Sends alerts as SMS messages to a mobile phone number.

Configuration:

  • Phone Number: (Required) The recipient’s phone number in international format (e.g., +14155552671).

Note: SMS delivery can vary by country due to provider routing. Contact support if delivery issues are encountered. WhatsApp notifications may be an alternative.

Sends alerts as WhatsApp messages to a mobile phone number.

Configuration:

  • Phone Number: (Required) The recipient’s phone number in international format (e.g., +14155552671).

Delivers alerts to a specified Telegram chat.

Configuration:

  • Chat ID: (Required) The unique identifier for the Telegram chat. This typically requires manual retrieval; users can ask @raw_info_bot for their chat ID.

Bot ID: The official OpenStatus Telegram bot ID is @openstatushq_bot.

Sends HTTP POST requests to a custom endpoint with a JSON payload.

Configuration:

  • URL: (Required) The endpoint URL to which the webhook payload will be sent.
  • Headers: (Optional) Custom HTTP headers to include with the webhook request (key-value pairs).

Webhook notifications utilize specific JSON payloads for different monitor status changes.

Sent when a monitor recovers from a degraded or error state.

{
"monitor": {
"id": 1,
"name": "test",
"url": "http://openstat.us"
},
"cronTimestamp": 1744023705307,
"status": "recovered",
"statusCode": 200,
"latency": 1337
}

Payload Fields:

FieldTypeDescription
monitor.idnumberUnique identifier of the monitor.
monitor.namestringName of the monitor.
monitor.urlstringThe URL or URI being monitored.
cronTimestampnumberTimestamp of the check execution in milliseconds since epoch.
statusstringIndicates the monitor status: "recovered".
statusCodenumber(Optional) HTTP status code returned by the monitored service.
latencynumber(Optional) Time taken to complete the check in milliseconds.

Sent when a monitor enters an error or degraded state.

{
"monitor": {
"id": 1,
"name": "test",
"url": "http://openstat.us"
},
"cronTimestamp": 1744023705307,
"status": "error",
"errorMessage": "Connection refused"
}

Payload Fields:

FieldTypeDescription
monitor.idnumberUnique identifier of the monitor.
monitor.namestringName of the monitor.
monitor.urlstringThe URL or URI being monitored.
cronTimestampnumberTimestamp of the check execution in milliseconds since epoch.
statusstringIndicates the monitor status: "degraded" or "error".
errorMessagestring(Optional) A description of the error encountered during the check.

The validation schema for webhook payloads:

import { z } from "zod";
export const PayloadSchema = z.object({
monitor: z.object({
id: z.number(),
name: z.string(),
url: z.string(),
}),
cronTimestamp: z.number(),
status: z.enum(["degraded", "error", "recovered"]),
statusCode: z.number().optional(),
latency: z.number().optional(),
errorMessage: z.string().optional(),
});

Integrates with OpsGenie for incident management.

Configuration:

  • API Key: (Required) An API key obtained from your OpsGenie account.

Integrates with PagerDuty for incident alerting.

Configuration:

  • Integration Steps: (Required) Follow the specific integration steps provided within the PagerDuty workflow to set up this channel.

Sends notifications to an Ntfy topic.

Configuration:

  • Ntfy Topic: (Required) The topic name to which notifications will be published.
  • Custom Server URL: (Optional) The URL of a custom Ntfy server if not using the default.
  • Bearer Token: (Optional) An authentication token for accessing the Ntfy server.