# StatusCake

EvoHub receives StatusCake alerts through the **Webhook URL** of a contact group. A test going Down opens an EvoHub alert, and the test coming back Up resolves it. StatusCake sends a fixed form post on Down and Up, so there is no body to configure.

## Set it up

:::steps
### Create the integration
In EvoHub, go to **On-Call → Integrations → + Add Integration**, choose **Statuscake**, pick an **Escalation Policy** and click **Create Integration**. Copy the **Webhook URL**.
### Set the contact group webhook
In StatusCake, go to **Alerting → Contact Groups**, create or edit one, set **Webhook URL** to your webhook URL and the webhook method to **POST**.

```text
https://evohub.io/ingest/statuscake?key=YOUR_INTEGRATION_KEY
```
### Assign the contact group
Assign the contact group to the uptime tests that should page.
:::

## Turn on auto-resolve

Nothing extra is needed. StatusCake posts `Status=Up` when a test recovers, and EvoHub resolves the matching alert.

## What EvoHub reads

| EvoHub alert | Taken from |
| --- | --- |
| Title | "`Name` is Down", for example "Checkout is Down" (or "Statuscake: Monitor Down"). |
| Description | "`URL` is unreachable". |
| Labels | `url`, `ip`, `status_code` and `tags`, when sent. |
| Fingerprint | The test's `Name`; without it, its `URL`. |

Every Down alert is **critical**.

## Resolve and deduplication

- `Status=Down` opens an alert and `Status=Up` resolves the open alert for the same test. A post with any other status, or none, opens nothing.
- StatusCake's webhook carries no test ID, so EvoHub keys alerts by the test's name. Two tests with the same name share one alert, and renaming a test while it is down leaves its alert open — give tests unique names, and resolve a renamed test's alert in EvoHub.
- Another Down for a test whose alert is open is recorded as **Retriggered**.

## Troubleshooting

- **`401 INVALID_KEY`**: the URL's key is wrong or the integration is disabled. Copy the **Webhook URL** again from the integration.
- **Nothing arrives**: the contact group is not assigned to the test.
- **One alert for several tests**: the tests have the same name. Rename them so each is unique.

## Related

- [Integrations overview](https://docs.evohub.io/integrations-overview.md)
- [UptimeRobot](https://docs.evohub.io/uptimerobot.md)
- [Escalation policies](https://docs.evohub.io/escalation-policies.md)
