turbometrics kann bei Alerts einen HTTP-POST an eine URL deiner Wahl senden. Das funktioniert mit Slack, Teams, Discord, Zapier, Make und jedem anderen Tool das eingehende Webhooks unterstützt.
Slack einrichten
- In Slack: Apps → "Incoming WebHooks" → "Add to Slack"
- Kanal wählen → Webhook-URL kopieren
- URL unter Account → Benachrichtigungen → Alert-Webhook-URL eintragen
Teams einrichten
- In Teams: Kanal → "..." → Connectors → "Incoming Webhook"
- Name vergeben → URL kopieren
- URL unter Account → Benachrichtigungen eintragen
Verfügbare Ereignisse
| Ereignis | Wann |
|---|---|
alert.triggered |
Alert wird ausgelöst (Kritisch oder Warnung) |
alert.resolved |
Alert löst sich auf |
scan.completed |
Scan erfolgreich abgeschlossen |
Welche Ereignisse per Webhook gesendet werden, kannst du unter Account → Benachrichtigungen einzeln ein- oder ausschalten.
Payload-Struktur
alert.triggered / alert.resolved
turbometrics sendet bei jedem Alert ein JSON-Objekt:
{
"event": "alert.triggered",
"alert_id": 42,
"type": "score_drop",
"severity": "critical",
"title": "Score-Einbruch: example.com",
"message": "Score auf 54 gefallen (vorher: 78)",
"target_url": "https://example.com/",
"host": "example.com",
"region": "eu-central",
"scan_public_id": "01KN...",
"created_at": "2026-04-01T10:00:00+00:00"
}
Bei alert.resolved enthält der Payload zusätzlich "event": "alert.resolved" und "resolved_at".
scan.completed
{
"event": "scan.completed",
"url": "https://example.com/",
"score": 74,
"score_speed": 29,
"score_images": 73,
"score_caching": 96,
"score_tech": 90,
"lcp_ms": 2800,
"ttfb_ms": 141,
"cls": 0.001,
"tbt_ms": 1635,
"scan_url": "https://turbometrics.de/scan/01KN...",
"scanned_at": "2026-04-03T20:45:00+00:00"
}
Typischer Anwendungsfall: Scan-Ergebnisse automatisch in Google Sheets, Slack oder Notion weiterleiten.
Webhook-Authentifizierung
Damit dein Endpoint prüfen kann, ob ein eingehender Request wirklich von turbometrics stammt, kannst du unter Profil → Benachrichtigungen einen Authentifizierungs-Header hinterlegen.
turbometrics fügt diesen Header automatisch jedem ausgehenden Webhook-Request hinzu — für alle Ereignisse (Alerts, Recovery, Scan abgeschlossen).
Konfiguration:
| Feld | Beschreibung |
|---|---|
| Header-Name | Name des HTTP-Headers, z. B. X-Webhook-Secret oder Authorization |
| Header-Wert | Der Wert, den dein Endpoint erwartet |
Beispiel — gesendeter Request:
POST https://hooks.deine-domain.de/alert
Content-Type: application/json
X-Webhook-Secret: dein-geheimes-token
{ "event": "alert.triggered", ... }
Auf dem Empfänger prüfen (PHP-Beispiel):
$secret = $_SERVER['HTTP_X_WEBHOOK_SECRET'] ?? '';
if (!hash_equals('dein-geheimes-token', $secret)) {
http_response_code(401);
exit;
}
Der Header-Wert wird verschlüsselt gespeichert und verlässt turbometrics ausschließlich als HTTP-Header an deine konfigurierte Webhook-URL.
Hinweis: Header-Name leer lassen → Auth-Header wird entfernt. Wert-Feld leer lassen → bisheriger Wert bleibt unverändert erhalten.
Verfügbarkeit
Webhooks sind ab dem Pro-Plan verfügbar.