> For the complete documentation index, see [llms.txt](https://docs.pagerly.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.pagerly.io/incidents-and-alerting/integrations/checkly.md).

# Checkly

### Create the integration in Pagerly

1\. Navigate to <https://workspace.pagerly.io/inbound> and click **"Add Inbound Integration"**.

2\. Set a display name, select the team this integration belongs to, choose the integration below, and click **"Add Integration"**.

3\. Copy the generated webhook URL - you will paste it into the tool in the next section.

### Configure Checkly

1\. In Checkly go to **Alerts → Alert channels** and add a **Webhook** channel.

2\. Set **Method** to `POST` and paste the Pagerly webhook URL.

3\. Paste this into the **Body**:

```json
{
  "check_id": "{{CHECK_ID}}",
  "check_name": "{{CHECK_NAME}}",
  "check_type": "{{CHECK_TYPE}}",
  "alert_title": "{{ALERT_TITLE}}",
  "alert_type": "{{ALERT_TYPE}}",
  "link": "{{RESULT_LINK}}",
  "run_location": "{{RUN_LOCATION}}",
  "started_at": "{{STARTED_AT}}",
  "response_time": "{{RESPONSE_TIME}}"
}
```

4\. Subscribe the checks or groups that should page, and save.

### Notes

* The `{{CHECK_ID}}` form is a Checkly **variable**; the JSON key Pagerly reads is the lowercase `check_id` on the left. Keep the keys exactly as above.
* **Deduplication** uses `check_id`, so a flapping check updates one incident.
* **Severity** comes from `alert_type`: `ALERT_FAILURE` maps to SEV 1, `ALERT_DEGRADED` to SEV 2.
* **Resolution**: `ALERT_RECOVERY` and `ALERT_DEGRADED_RECOVERY` resolve the incident.
