mirror of
https://github.com/simstudioai/sim.git
synced 2026-02-03 03:04:57 -05:00
* improvement(response): removed nested response block output, add docs for webhook block, styling improvements for subblocks * remove outdated block docs * updated docs * remove outdated tests
149 lines
5.8 KiB
Plaintext
149 lines
5.8 KiB
Plaintext
---
|
|
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 |