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.
Setting the webhook
Section titled “Setting the 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.
Events
Section titled “Events”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) |
Payload
Section titled “Payload”{ "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.
Sending it to chat
Section titled “Sending it to chat”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.