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

# Hyperping alert integration

> Send Hyperping monitor down and recovery notifications to Flashduty On-call through the Webhooks integration.

Use Hyperping's Webhooks integration to send monitor down (`check.down`) and recovery (`check.up`) notifications to Flashduty On-call. Each Hyperping monitor maps to one down alert: the alert triggers when the monitor goes down and recovers when the monitor is up again.

<div className="hide">
  ## In Flashduty On-call

  ***

  You can get the integration push URL in either of the following ways.

  ### Use a dedicated integration

  1. In the Flashduty console, go to **Channels** and open a channel
  2. Select **Configuration** → **Integrations** → **Private integration**, then click **Add an integration**
  3. Select **Hyperping** and click **Save**
  4. Open the new integration card and copy the **push URL**

  ### Use a shared integration

  1. In the Flashduty console, go to **Integration Center → Alert Events**
  2. Select **Hyperping** and enter an integration name
  3. Configure the default route and select a channel. You can add more rules under **Routes** after creation
  4. Click **Save** and copy the generated **push URL**
</div>

## In Hyperping

***

<Steps>
  <Step title="Connect the Webhooks integration">
    1. Sign in to Hyperping and open the [Integrations](https://app.hyperping.io/integrations) page
    2. Click **Connect** on the **Webhooks** card
    3. Paste the full Flashduty push URL as the webhook URL and save

    Webhooks are configured per project, not per monitor: once saved, down and recovery notifications for every monitor in the project go to this URL.
  </Step>

  <Step title="Verify the lifecycle">
    Hyperping recommends testing with a monitor that returns an error, such as a page that returns 404. Let a monitor actually go down and confirm Flashduty receives an active alert, then let it recover and confirm the same alert recovers.
  </Step>
</Steps>

The Webhook card on the Integrations page is marked Pro and needs the Pro plan or higher; during the free trial, clicking it redirects to the Billing page. If you cannot open the configuration, upgrade your plan first.

## Payload

***

Hyperping POSTs JSON. Flashduty parses it directly, with no template to configure:

| Field | Meaning | In Flashduty |
| :- | :- | :- |
| `event` | `check.down` or `check.up` | Trigger or recover the alert; label `event` |
| `check.monitorUuid` | Monitor ID | Alert Key; label `check_id` |
| `check.url` | Monitored URL | Alert title; label `resource` |
| `check.status` | HTTP status code returned | Label `status_code` |
| `check.downtime` | Downtime duration | Label `downtime` |
| `check.pings[]` | Per-location results (location, status code, status message) | Written to the description; the location list goes to label `locations` |

The alert title is the monitored URL; when the URL is empty it is `Hyperping monitor <monitor ID>`.

## Alert Key

***

The Alert Key is `check.monitorUuid`. In the Hyperping documentation, the `check.down` and `check.up` samples carry the same `monitorUuid`, so a monitor's down and recovery notifications land on one alert, and different monitors produce different alerts. Changing the URL, status code, time, or check location does not change the Alert Key.

If a request has no `check.monitorUuid`, Flashduty returns a parameter error, because the recovery could not be tied to its alert reliably. A notification whose `event` is neither `check.down` nor `check.up` (for example an event type Hyperping adds later) is ignored and acknowledged, and creates no alert.

## Status and severity

***

Hyperping notifications carry no severity, so a down is treated as Critical.

| Hyperping `event` | Flashduty status or severity |
| :- | :- |
| `check.down` | Critical |
| `check.up` | Recovery, with the original severity Critical |

A request whose `event` is empty or any other value is rejected, so that a request of unknown state never enters the wrong alert lifecycle.

## FAQ

***

<AccordionGroup>
  <Accordion title="Does the webhook test button create an alert?">
    Hyperping provides test buttons under the webhook URL field, and its documentation does not describe the test request body. If the test request carries `event` and `check.monitorUuid`, Flashduty handles it as a normal notification and creates an alert, which you close by hand. If those fields are missing, Flashduty returns a parameter error and Hyperping shows the delivery as failed; real notifications are not affected.
  </Accordion>

  <Accordion title="Do repeated down notifications create multiple alerts?">
    No. Notifications for the same monitor carry the same `monitorUuid` and merge into one alert.
  </Accordion>
</AccordionGroup>

## Troubleshooting

***

* **Hyperping shows a failed delivery**: confirm the webhook URL is the full push URL and includes `integration_key`
* **Flashduty returns a parameter error**: confirm the request is a Hyperping JSON notification and that `event` and `check.monitorUuid` are not empty
* **The alert does not recover**: confirm the recovery is sent to the same webhook; the recovery and the down notification must carry the same `monitorUuid`

For field details, see the Hyperping documentation [Webhooks](https://hyperping.com/docs/integrations/webhooks).
