> ## Documentation Index
> Fetch the complete documentation index at: https://docs.spectate.net/llms.txt
> Use this file to discover all available pages before exploring further.

# Webhooks

> Send notifications to your own application or service.

## Setup

1. Go to [Integrations](https://app.spectate.net/integrations) and click on `Configure` in the Webhook card.
2. Enter the webhook URL, optionally custom headers, and click `Save`.
3. You can now send a test notification to make sure everything is working.

The test notification has the following payload:

```json theme={null}
{
  "title":"Test notification for Realify",
  "message":"200 OK - Test notification sent successfully"
}
```

## Payload

The payload is a JSON object with the following properties:

| Property                   | Description                                                                                                 |
| -------------------------- | ----------------------------------------------------------------------------------------------------------- |
| `check`                    | The type of check that was performed.<br />Possible values: `uptime`, `certificate`                         |
| `status`                   | The status of the check.<br />Possible values: `recovered`, `down`                                          |
| `incident`                 | The incident that was created.                                                                              |
| `incident.id`              | The ID of the incident.                                                                                     |
| `incident.started_at`      | The date and time the incident was created.                                                                 |
| `incident.resolved_at`     | The date and time the incident was resolved. Only provided in recovered notifications.                      |
| `incident.reason`          | The reason the incident was created.                                                                        |
| `incident.severity`        | The severity of the incident.<br />Possible values: `critical`, `high`, `medium`, `low`, `none`             |
| `monitor`                  | The monitor that was checked.                                                                               |
| `monitor.id`               | The ID of the monitor.                                                                                      |
| `monitor.label`            | The label of the monitor.                                                                                   |
| `monitor.url`              | The URL of the monitor.                                                                                     |
| `heartbeats`               | Array containing the heartbeats leading to the notification.                                                |
| `heartbeats.id`            | The ID of the heartbeat.                                                                                    |
| `heartbeats.protocol`      | The protocol of the heartbeat.<br />Possible values: `http`, `https`, `icmp`                                |
| `heartbeats.location`      | The location of the heartbeat.<br />Possible values: `ams`, `blr`, `fns`, `lon`, `nyc`, `sfo`, `sgp`, `syd` |
| `heartbeats.http_url`      | The URL of the heartbeat.                                                                                   |
| `heartbeats.response_time` | The response time of the heartbeat.                                                                         |
| `heartbeats.status_code`   | The status code of the heartbeat.                                                                           |
| `heartbeats.packet_loss`   | The packet loss of the heartbeat.                                                                           |
| `heartbeats.alive`         | Whether the heartbeat is alive.<br />Possible values: `true`, `false`                                       |

## Custom Headers

You can optionally add custom headers to the webhook request. This can be useful if you need to authenticate with your webhook service.
