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

Secret-Authentifizierung: Konfiguriere ein Secret, um deinen Webhook-Endpoint zu sichern:
  1. Secret hinzufügen (optional)
    • Setze einen Secret-Wert in der Webhook-Konfiguration
    • Das Secret wird als Query-Parameter in deine Webhook-URL eingefügt: ?secret=dein_secret
    • Nur Anfragen mit dem korrekten Secret triggern den Workflow
  2. Kein Secret (Standard)
    • Webhook ist öffentlich zugänglich
    • Jeder mit der URL kann ihn triggern
    • Gut für Tests und Low-Security-Anwendungsfälle
Best Practice: Verwende immer ein Secret für Produktions-Webhooks, um unbefugten Zugriff zu verhindern.

Wie es funktioniert

  1. Externes System sendet HTTP POST-Anfrage an Webhook-URL
  2. Webhook validiert Secret (falls über Query-Parameter konfiguriert)
  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 Secret
curl -X POST https://app.langdock.com/api/hooks/workflows/DEINE_WORKFLOW_ID \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'

# Mit Secret
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