Skip to content

Notification

A notification is a channel that is used to send alerts when your monitor status changes. By default no notifications are created in your workspace.

Require a Slack incoming webhook

Require an email address

Require a discord webhook e.g. https://discordapp.com/api/webhooks/123456789012345678/abcdefghijklmnopqrstuvwxyz1234567890

Require a phone number (international format e.g. +14155552671)

Due to provider routing, SMS may not be delivered to all countries. Please contact support if you encounter any issues. Or use whatsapp notification instead.

Require a phone number (international format e.g. +14155552671)

Requires to know the chat id.

This integration is fully functional but accessing the chat id is not smooth yet. It requires manual effort to access your chat id. You can ask RawDataBot @raw_info_bot for your chat id.

The bot’s id is @openstatushq_bot to make sure you are getting the correct notifications.

Please

  • URL (require)
  • Headers (optional)
{
"monitor": {
"id": 1,
"name": "test",
"url": "http://openstat.us"
},
"cronTimestamp": 1744023705307,
"status": "recovered",
"statusCode": 200,
"latency": 1337
}

Fields Explanation:

  • monitor: Contains details about the monitor.
    • id: Unique identifier for the monitor.
    • name: Name of the monitor.
    • url: The URL being monitored.
  • cronTimestamp: The timestamp when the check was executed, in milliseconds since epoch.
  • status: Indicates the current status of the monitor (in this case, “recovered”).
  • statusCode: The HTTP status code returned by the monitored service.
  • latency: The time taken to complete the check, in milliseconds.
{
"monitor": {
"id": 1,
"name": "test",
"url": "http://openstat.us"
},
"cronTimestamp": 1744023705307,
"status": "error",
"errorMessage": "Connection refused"
}

Fields Explanation:

  • monitor: Contains details about the monitor.
    • id: Unique identifier for the monitor.
    • name: Name of the monitor.
    • url: The URL being monitored.
  • cronTimestamp: The timestamp when the check was executed, in milliseconds since epoch.
  • status: Indicates the current status of the monitor (in this case, “error”).
  • errorMessage: A description of the error encountered during the check.
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(),
});
  • API key from OpsGenie (required)

Follow the step in PagerDuty workflow

  • Ntfy topic (required)
  • Custom server url (optional)
  • bearer token (optional)