Skip to content
devtls

Alerts & webhooks

When a scheduled or manual scan finishes, devtls compares it with the previous one. If something you’d want to know about changed, it POSTs an event to your organization’s webhook.

In Settings, set the webhook URL. It must use https://. Only owners and admins can change it, and webhooks need a paid plan. Clear the field to stop alerts.

type Sent when
grade_changed the grade differs from the previous scan’s (from → to, with the new score)
became_unreachable the host answered last time and doesn’t now (error says why)
cert_expiring the certificate expires in less than 14 days (daysUntilExpiry)
{
"source": "devtls",
"timestamp": "2026-10-13T07:00:12.000Z",
"events": [
{
"type": "grade_changed",
"host": "example.com",
"port": 443,
"label": "prod",
"kind": "web",
"from": "A",
"to": "B",
"score": 72
}
]
}

One request can carry several events. The request has content-type: application/json. Delivery is best-effort: a failing webhook never holds up scans, and a missed event isn’t retried — the next scan compares against the latest state again.

The payload is plain JSON, so anything that accepts a webhook can take it: a small relay that reformats it for Slack or Discord, an automation tool, or your own endpoint.