---
title: Webhooks
---

import { Callout } from 'fumadocs-ui/components/callout'
import { Tab, Tabs } from 'fumadocs-ui/components/tabs'
import { Image } from '@/components/ui/image'
import { Video } from '@/components/ui/video'

Webhooks ermöglichen externen Diensten die Ausführung von Workflows durch das Senden von HTTP-Anfragen an Ihren Workflow. Sim unterstützt zwei Ansätze für webhook-basierte Auslöser.

## Generischer Webhook-Auslöser

Der generische Webhook-Block erstellt einen flexiblen Endpunkt, der beliebige Payloads empfangen und Ihren Workflow auslösen kann:

<div className="flex justify-center">
  <Image
    src="/static/blocks/webhook-trigger.png"
    alt="Generische Webhook-Konfiguration"
    width={500}
    height={400}
    className="my-6"
  />
</div>

### Funktionsweise

1. **Generischen Webhook-Block hinzufügen** - Ziehen Sie den generischen Webhook-Block an den Anfang Ihres Workflows
2. **Payload konfigurieren** - Richten Sie die erwartete Payload-Struktur ein (optional)
3. **Webhook-URL erhalten** - Kopieren Sie den automatisch generierten eindeutigen Endpunkt
4. **Externe Integration** - Konfigurieren Sie Ihren externen Dienst, um POST-Anfragen an diese URL zu senden
5. **Workflow-Ausführung** - Jede Anfrage an die Webhook-URL löst den Workflow aus

### Funktionen

- **Flexible Payload**: Akzeptiert jede JSON-Payload-Struktur
- **Automatische Analyse**: Webhook-Daten werden automatisch analysiert und stehen nachfolgenden Blöcken zur Verfügung
- **Authentifizierung**: Optionale Bearer-Token- oder benutzerdefinierte Header-Authentifizierung
- **Rate-Limiting**: Eingebauter Schutz gegen Missbrauch
- **Deduplizierung**: Verhindert doppelte Ausführungen bei wiederholten Anfragen

<Callout type="info">
Der generische Webhook-Auslöser wird jedes Mal aktiviert, wenn die Webhook-URL eine Anfrage erhält, was ihn perfekt für Echtzeit-Integrationen macht.
</Callout>

## Auslösemodus für Service-Blöcke

Alternativ können Sie spezifische Service-Blöcke (wie Slack, GitHub usw.) im "Auslösemodus" verwenden, um speziellere Webhook-Endpunkte zu erstellen:

<div className="mx-auto w-full overflow-hidden rounded-lg">
  <Video src="slack-trigger.mp4" width={700} height={450} />
</div>

### Einrichten des Trigger-Modus

1. **Service-Block hinzufügen** - Wähle einen Service-Block (z.B. Slack, GitHub, Airtable)
2. **Trigger-Modus aktivieren** - Schalte "Als Trigger verwenden" in den Block-Einstellungen ein
3. **Service konfigurieren** - Richte Authentifizierung und Event-Filter für diesen Service ein
4. **Webhook-Registrierung** - Der Service registriert den Webhook automatisch bei der externen Plattform
5. **Ereignisbasierte Ausführung** - Workflow wird nur für bestimmte Ereignisse dieses Services ausgelöst

### Wann welcher Ansatz verwendet werden sollte

**Verwende Generic Webhook, wenn:**
- Du mit benutzerdefinierten Anwendungen oder Diensten integrierst
- Du maximale Flexibilität bei der Payload-Struktur benötigst
- Du mit Diensten arbeitest, die keine dedizierten Blöcke haben
- Du interne Integrationen erstellst

**Verwende den Trigger-Modus, wenn:**
- Du mit unterstützten Diensten arbeitest (Slack, GitHub, etc.)
- Du dienstspezifische Ereignisfilterung benötigst
- Du automatische Webhook-Registrierung benötigst
- Du strukturierte Datenverarbeitung für diesen Dienst wünschst

## Unterstützte Dienste für den Trigger-Modus

**Entwicklung & Projektmanagement**
- GitHub - Issues, PRs, Pushes, Releases, Workflow-Ausführungen
- Jira - Issue-Events, Arbeitsprotokolle
- Linear - Issues, Kommentare, Projekte, Zyklen, Labels

**Kommunikation**
- Slack - Nachrichten, Erwähnungen, Reaktionen
- Microsoft Teams - Chat-Nachrichten, Kanal-Benachrichtigungen
- Telegram - Bot-Nachrichten, Befehle
- WhatsApp - Messaging-Events

**E-Mail**
- Gmail - Neue E-Mails (Polling), Label-Änderungen
- Outlook - Neue E-Mails (Polling), Ordner-Events

**CRM & Vertrieb**
- HubSpot - Kontakte, Unternehmen, Deals, Tickets, Konversationen
- Stripe - Zahlungen, Abonnements, Kunden

**Formulare & Umfragen**
- Typeform - Formularübermittlungen
- Google Forms - Formularantworten
- Webflow - Sammlungselemente, Formularübermittlungen

**Sonstiges**
- Airtable - Datensatzänderungen
- Twilio Voice - Eingehende Anrufe, Anrufstatus

## Sicherheit und Best Practices

### Authentifizierungsoptionen

- **Bearer Tokens**: `Authorization: Bearer <token>` Header einfügen
- **Benutzerdefinierte Header**: Benutzerdefinierte Authentifizierungs-Header definieren

### Payload-Verarbeitung

- **Validierung**: Eingehende Payloads validieren, um fehlerhafte Daten zu vermeiden
- **Größenbeschränkungen**: Webhooks haben Payload-Größenbeschränkungen aus Sicherheitsgründen
- **Fehlerbehandlung**: Fehlermeldungen für ungültige Anfragen konfigurieren

### Webhooks testen

1. Tools wie Postman oder curl verwenden, um Webhook-Endpunkte zu testen
2. Workflow-Ausführungsprotokolle zur Fehlerbehebung überprüfen
3. Sicherstellen, dass die Payload-Struktur den Erwartungen entspricht
4. Authentifizierungs- und Fehlerszenarien testen

<Callout type="warning">
Validieren und bereinigen Sie immer eingehende Webhook-Daten, bevor Sie sie in Ihren Workflows verarbeiten.
</Callout>

## Häufige Anwendungsfälle

### Echtzeit-Benachrichtigungen
- Slack-Nachrichten, die automatisierte Antworten auslösen
- E-Mail-Benachrichtigungen für kritische Ereignisse

### CI/CD-Integration  
- GitHub-Pushes, die Deployment-Workflows auslösen
- Build-Status-Aktualisierungen
- Automatisierte Test-Pipelines

### Datensynchronisierung
- Airtable-Änderungen, die andere Systeme aktualisieren
- Formularübermittlungen, die Folgemaßnahmen auslösen
- E-Commerce-Auftragsverarbeitung

### Kundensupport
- Workflows zur Erstellung von Support-Tickets
- Automatisierte Eskalationsprozesse
- Multi-Channel-Kommunikationsrouting