Webhook Alerts
What the webhook channel does
A webhook alert channel sends an HTTP POST with a JSON body to a URL you control whenever one of your monitors changes state: a check fails, recovers, runs degraded, or an SSL certificate is about to expire. It is the most flexible channel, anything that accepts an inbound JSON webhook can consume it.
Payload shape
Each alert is delivered as a single JSON object:
{"source": "loadfocus","event": "check.failed","check": { "id": "...", "name": "...", "url": "..." },"status": "failed","location": "...","timestamp": "..."}
The event and status fields tell you what happened (for example check.failed, check.recovered), so your endpoint can branch on them, open or resolve an incident, post to a chat, or store the event.
Add the channel in LoadFocus
- Go to the Alert Channels page.
- Click New Alert Channel and choose Webhook in the channel list.
- Fill in the two fields:
- a name to recognise the channel later
- the endpoint URL that will receive the POST (must start with
https://)
- Click Save Configuration.
Right after the channel is created, LoadFocus sends a one-time confirmation POST to it, so you can verify your endpoint receives and parses the payload without triggering a real incident.
Works with any JSON webhook
The same channel drives many destinations:
- PagerDuty and Opsgenie inbound integrations (or use the dedicated PagerDuty and Opsgenie channels for native incident create and auto-resolve)
- Automation tools such as Zapier and n8n
- Your own service, to run custom logic on each event
Attach it to your checks
Creating the channel makes it available to your whole team. To route a specific monitor's alerts to your endpoint, select the channel in the check's notification settings, see Alert Channels on a check. Alert channels are shared across LoadFocus services, so load testing and page speed alerts can post to the same endpoint.
Troubleshooting
- No confirmation POST arrived: confirm the URL starts with
https://and is reachable from the public internet, and that your endpoint returns a2xxstatus. - Return a response quickly (under a few seconds) so the delivery is not treated as a timeout.
- Team members with a view-only role can see channels but cannot create or delete them.