Dokumentation

Webhooks

Webhook-Versand, typische Einsätze und was du bei der Konfiguration beachten solltest.

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

  1. In Slack: Apps → "Incoming WebHooks" → "Add to Slack"
  2. Kanal wählen → Webhook-URL kopieren
  3. URL unter Account → Benachrichtigungen → Alert-Webhook-URL eintragen

Teams einrichten

  1. In Teams: Kanal → "..." → Connectors → "Incoming Webhook"
  2. Name vergeben → URL kopieren
  3. 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.

Weiterlesen