Canal Webhook

Canal de Alerta Webhook

El canal webhook permite que LoadFocus envíe un HTTP POST con cuerpo JSON a cualquier URL que controles cuando una verificación monitorizada cambia de estado. Es el canal más flexible: cualquier cosa que acepte webhooks JSON entrantes — PagerDuty Events API, Opsgenie, Zapier, n8n, Make o tu propio servicio — puede recibir alertas de LoadFocus.

Crear un canal webhook

  1. Ve a Alert Settings y haz clic en + New Alert Channel.
  2. Elige Webhook.
  3. Asigna un nombre (se muestra en la lista de canales) y pega la URL HTTPS que recibirá el POST.
  4. Haz clic en Save Configuration, habilita el canal en cualquier verificación y elige qué eventos recibirá con los selectores de enrutamiento por canal.

Cuándo llama LoadFocus a tu webhook

LoadFocus hace POST a tu URL en estos eventos:

Eventovalor eventCuándo se dispara
Verificación fallidacheck.failedUna verificación pasa al estado fallido (assertion, error o timeout).
Verificación recuperadacheck.recoveredUna verificación antes fallida vuelve a pasar.
Verificación degradadacheck.degradedEl tiempo de respuesta supera el umbral de degradación sin fallar.
Caducidad SSLssl.expiry14, 7 y 3 días antes de que caduque un certificado HTTPS monitorizado, y el día de la caducidad.
PruebatestHaces clic en el botón Test junto al canal.

Cuáles de estos eventos llegan a un canal lo controlan los selectores Fail / Recover / Degraded / SSL bajo el canal en la página de edición de la verificación. Todos están habilitados por defecto.

Payload

El cuerpo del POST es application/json:

{
"source": "loadfocus",
"event": "check.failed",
"check": {
"id": "75be9e45e858177eea4a18bbdc765472",
"name": "Designerbox",
"url": "https://designerbox.ai"
},
"status": "failed",
"location": "us-east-1",
"timestamp": "2026-06-07T12:00:00.000Z"
}

Referencia de campos:

  • source — siempre loadfocus. Úsalo para reconocer el remitente.
  • event — uno de check.failed, check.recovered, check.degraded, ssl.expiry, test.
  • check.id / check.name / check.url — el monitor que disparó la alerta.
  • status — el estado de la verificación al enviar (failed, passed, degraded o null para SSL/test).
  • location — la región AWS desde la que se ejecutó la verificación.
  • timestamp — hora ISO-8601 UTC del evento.

Los eventos de caducidad SSL añaden un objeto details:

{
"source": "loadfocus",
"event": "ssl.expiry",
"check": { "id": "...", "name": "...", "url": "https://..." },
"status": null,
"location": null,
"timestamp": "2026-06-07T12:00:00.000Z",
"details": { "daysRemaining": 7, "validTo": "Aug 29 23:59:59 2026 GMT" }
}

Seguridad y requisitos

  • Solo HTTPS. Las URLs de webhook deben empezar por https://. Las URLs http se rechazan.
  • Las direcciones privadas se bloquean. Para evitar server-side request forgery, LoadFocus resuelve tu hostname y no llama a direcciones privadas, loopback, link-local o CGNAT (por ejemplo 10.0.0.0/8, 127.0.0.1, 169.254.0.0/16, 192.168.0.0/16). Tu endpoint debe ser accesible en la internet pública.
  • Sin redirecciones. LoadFocus no sigue redirecciones HTTP en las llamadas webhook — apunta el canal a la URL final.
  • Timeout. Cada llamada expira a los 10 segundos. No hay reintento automático, así que tu receptor debe aceptar y encolar el payload rápidamente.
  • Verifica que funciona. Usa el botón Test para enviar un evento test antes de depender del canal. Un servicio gratuito como webhook.site sirve para inspeccionar el payload exacto.

Ejemplos de integración

  • PagerDuty — apunta el canal a tu URL de integración Events API v2 y enruta solo check.failed (desactiva Recover/Degraded/SSL) para que abra incidentes en los fallos.
  • Opsgenie — usa una integración inbound API; mapea check.failed a crear-alerta y check.recovered a cerrar-alerta.
  • Zapier / Make / n8n — inicia un flujo con un trigger "Catch Hook" y ramifica según el campo event.
  • Tu propio servicio — acepta el POST, comprueba source === "loadfocus" y actúa según event.

Relacionado

  • Canales de Alerta — resumen de todos los tipos de canal y el enrutamiento de eventos por canal.