Zum Hauptinhalt springen
Webhook Trigger

Überblick

Der Webhook-Trigger stellt einen HTTP-Endpoint bereit, den externe Systeme aufrufen können, um deinen Workflow zu starten. Er ist die Brücke zwischen Langdock Workflows und jedem externen Service oder jeder Anwendung, die HTTP-Anfragen senden kann.
Am besten für: Echtzeit-Integrationen, externe System-Events, API-gesteuerte Workflows und Verbindung von Services ohne native Integrationen.

Wann du den Webhook-Trigger verwenden solltest

Perfekt für:
  • Empfangen von Events von externen Services (GitHub, Stripe, eigene Apps)
  • Echtzeit-Datenverarbeitung von externen Systemen
  • Erstellen benutzerdefinierter Integrationen
  • Verbinden von Services, die Webhooks unterstützen (einschließlich anderer Workflows)
  • API-gesteuerte Workflows, die von anderen Systemen initiiert werden
Nicht ideal für:
  • Benutzerbezogene Datenerfassung (verwende Formular-Trigger)
  • Geplante wiederkehrende Aufgaben (verwende geplanten Trigger)
  • Native Integrations-Events (verwende Integrations-Trigger)

Konfiguration

Basis-Einrichtung

Webhook Trigger Wenn du einen Webhook-Trigger hinzufügst, erhältst du automatisch:
  • Eindeutige Webhook-URL: Ein sicherer Endpoint zum Empfangen von Anfragen
  • Webhook-ID: Kennung für deinen Webhook

Sicherheitsoptionen

Mit der Einstellung Authentifizierungsmethode legst du fest, wie dein Webhook gesichert wird. Wenn du eine Methode auswählst, wird automatisch ein Secret generiert. Das Secret bleibt erhalten, wenn du zwischen Methoden wechselst – so geht dein konfigurierter Schlüssel nicht versehentlich verloren.
MethodeFunktionsweise
Keine AuthentifizierungDer Webhook ist öffentlich zugänglich – jeder mit der URL kann ihn triggern. Geeignet für Tests und Anwendungsfälle mit geringem Sicherheitsbedarf.
HeaderDas Secret wird über den HTTP-Header X-Webhook-Secret übermittelt. Die Webhook-URL bleibt dabei sauber; die UI zeigt einen curl-Beispielbefehl mit dem Header.
Query-ParameterDas Secret wird als ?secret=... an die URL angehängt. Dies ist das bisherige Verhalten und wird weiterhin vollständig unterstützt.
Wenn eine Authentifizierungsmethode ausgewählt ist, ist ein Secret erforderlich. Wird das Secret-Feld leer gelassen, erscheint eine Validierungswarnung. Best Practice: Verwende immer ein Secret für Produktions-Webhooks, um unbefugten Zugriff zu verhindern. Header-basierte Authentifizierung ist zu bevorzugen, da Secrets so nicht in Server-Logs oder dem Browser-Verlauf auftauchen.
Bestehende Webhooks mit einem Query-Parameter-Secret funktionieren weiterhin ohne Änderungen. Das Feld für die Authentifizierungsmethode ist optional – wenn es nicht gesetzt ist, bleibt das bisherige Verhalten automatisch erhalten.

Wie es funktioniert

  1. Externes System sendet HTTP POST-Anfrage an Webhook-URL
  2. Webhook validiert Secret (falls konfiguriert, über X-Webhook-Secret-Header oder ?secret=-Query-Parameter)
  3. Request-Payload wird geparst (JSON-Body und Query-Parameter)
  4. Workflow wird zur Ausführung eingereiht
  5. Webhook antwortet sofort mit 202 Accepted
  6. Workflow verarbeitet asynchron im Hintergrund
Webhooks verarbeiten immer asynchron. Der Webhook antwortet sofort mit 202 Accepted, während der Workflow im Hintergrund läuft.

Anfragen an deinen Webhook senden

Basis-Anfrage

# Ohne Authentifizierung
curl -X POST https://app.langdock.com/api/hooks/workflows/DEINE_WORKFLOW_ID \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'

# Header-Authentifizierung (empfohlen)
curl -X POST https://app.langdock.com/api/hooks/workflows/DEINE_WORKFLOW_ID \
  -H "Content-Type: application/json" \
  -H "X-Webhook-Secret: DEIN_SECRET" \
  -d '{"key": "value"}'

# Query-Parameter-Authentifizierung (bisheriges Verhalten)
curl -X POST "https://app.langdock.com/api/hooks/workflows/DEINE_WORKFLOW_ID?secret=DEIN_SECRET" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'

Beispiel-Anwendungsfälle

GitHub Webhook-Integration

Webhook-Trigger (GitHub Push-Events)
→ Agent: Analysiere Commit-Nachrichten
→ Condition: Prüfe, ob Dokumentation aktualisiert wurde
  → Ja: Regeneriere Docs
  → Nein: Fortfahren
→ Benachrichtigung: Sende Deployment-Status
GitHub Webhook-Konfiguration:
  • URL: Deine Webhook-URL
  • Events: Push, Pull Request
  • Content-Type: application/json

Stripe-Zahlungs-Webhook

Webhook-Trigger (Stripe Events)
→ Code: Validiere Stripe-Signatur
→ Condition: Prüfe Event-Typ
  → payment_succeeded: Aktualisiere Benutzer-Account
  → payment_failed: Sende Retry-Benachrichtigung
  → subscription_canceled: Deaktiviere Zugriff

Benutzerdefinierte Anwendungs-Integration

Webhook-Trigger
→ Code: Validiere und transformiere Daten
→ HTTP Request: Reichere Daten von externer API an
→ Agent: Analysiere und kategorisiere
→ Action: Erstelle Datensatz im CRM

Slack-Command-Integration

Webhook-Trigger (von Slack Slash-Command)
→ Agent: Verarbeite natürlichsprachlichen Befehl
→ HTTP Request: Führe Aktion in externem System aus
→ HTTP Response: Sende Ergebnis zurück zu Slack

Auf Webhook-Daten zugreifen

Webhook-Daten sind getrennt in body (JSON-Payload) und query (URL-Parameter):

Request-Body

Greife auf JSON-Payload-Felder zu:
{{trigger.output.body.user_id}}
{{trigger.output.body.event_type}}
{{trigger.output.body.data.amount}}

Query-Parameter

Greife auf URL-Query-Parameter zu:
{{trigger.output.query.param_name}}

Beispiel

Für eine Anfrage wie:
POST /api/hooks/workflows/abc123?source=github
Body: {"event": "push", "repo": "my-repo"}
Greife auf die Daten zu:
Source: {{trigger.output.query.source}}
Event: {{trigger.output.body.event}}
Repo: {{trigger.output.body.repo}}

Response-Codes

CodeBedeutungWann es passiert
202AcceptedWorkflow erfolgreich eingereiht
400Bad RequestUngültige Workflow-ID, Format oder Secret
404Not FoundWorkflow nicht gefunden
429Too Many RequestsRate-Limit oder Ausgabenlimit erreicht
500Server ErrorInterner Fehler bei Webhook-Verarbeitung

Nächste Schritte

Integrations-Trigger

Verwende native Integrations-Events

HTTP-Request-Node

Stelle Anfragen an externe APIs

Code-Node

Validiere und transformiere Webhook-Daten

Erste Schritte

Erstelle deinen ersten Workflow