Webhook verbinden (A–Z-Anleitung)
Mit Webhooks kann Sally Daten sofort an andere Tools senden, sobald etwas passiert - zum Beispiel eine Meeting-Zusammenfassung direkt an deine Automatisierungsplattform, sobald sie fertig ist.
In dieser Anleitung erklären wir Webhooks von Grund auf und zeigen dir ein vollständiges Beispiel.
Schnellnavigation
- Was ist ein Webhook (einfach erklärt)?
- Voraussetzungen
- Webhook-URL in deinem Tool erstellen
- Webhook in Sally anlegen
- JSON-Body & Feldbeschreibung des Webhooks
- Verbindung prüfen & Logs einsehen
- 6.1. Verbindung testen (der schnellste erste Check)
- 6.2. Logs verstehen: Was sie zeigen – und warum sie so wichtig sind
- 6.3. Wie du Logeinträge in Sally findest
- 6.4. Wie man einen Logeintrag richtig liest
- 6.5. Logs erneut ausführen (gezielt testen & debuggen)
- 6.6. Typische Fehlerursachen & schnelle Lösungen
- Webhook manuell auslösen
- FAQ & Fehlerbehebung
1. Was ist ein Webhook (einfach erklärt)?
Ein Webhook ist im Grunde eine Internetadresse (URL), die dir ein anderes Tool oder System bereitstellt (z. B. Zapier, Make, n8n, Power Automate oder dein eigenes Backend).
Immer wenn in Sally etwas Bestimmtes passiert – z. B. wenn eine Zusammenfassung erstellt wird – sendet Sally automatisch eine Nachricht an diese URL.
Vergleich:
- API (Application Programming Interface) = du fragst aktiv Daten bei einem anderen System an.
- Webhook = das System schickt dir automatisch Daten, wenn etwas passiert.
Typische Anwendungsfälle für Webhooks:
- Zusammenfassungen automatisch an eine Automatisierungsplattform senden.
- Aufgaben automatisch in deinem Workflow anlegen (z. B. in Zapier, Make, n8n oder Power Automate).
- Aktionen im eigenen Backend starten, sobald ein Meeting endet.
2. Voraussetzungen
Damit du Sally mit einem anderen Tool per Webhook verbinden kannst, benötigst du Folgendes:
-
Zugang zum Ziel-Tool, in das Sally Daten senden soll
Beispiel: Zapier, Make, n8n, Power Automate oder ein eigenes System.infoOhne Benutzerkonto im Ziel-Tool kannst du keine Verbindung einrichten.
-
Berechtigung zum Erstellen oder Kopieren einer Webhook-URL
Diese URL wird immer vom Ziel-Tool bereitgestellt.- In Tools wie Zapier, Make, n8n oder Power Automate findest du sie in den Workflow-Einstellungen.
- In einem eigenen System liefert sie in der Regel ein Entwickler.
infoPrüfe, ob deine Benutzerrolle (z. B. „Admin“ oder „Owner“) die Erstellung von Webhooks erlaubt. Wenn nicht, frage deinen Administrator oder Entwickler.
-
Sally-Konto mit Integrationsrechten
- Persönliche Webhooks: Kannst du jederzeit für dein eigenes Konto anlegen.
- Unternehmensweite Webhooks: Nur, wenn deine Rolle Berechtigungen für organisationweite Integrationen hat.
Die Webhook-URL kommt immer vom Ziel-Tool, nicht von Sally.
Ohne diese URL hat Sally keinen Ort, an den Daten gesendet werden können.
3. Webhook-URL in deinem Tool erstellen
Die Schritte unterscheiden sich je nach Tool, aber das Prinzip ist gleich:
- Öffne dein Ziel-Tool (z. B. Zapier, Make, n8n, Power Automate, eigenes System).
- Lege einen eingehenden Webhook an (oft auch „Listener URL“ oder „Endpoint“ genannt).
- Kopiere die generierte Webhook-URL.
Falls du unsicher bist: Suche in der Dokumentation deines Tools nach „Webhook erstellen“ + Toolname.
4. Webhook in Sally anlegen
Sobald du im Ziel-Tool (z. B. Zapier, Make, n8n oder einem eigenen Backend) eine Webhook-URL erstellt hast, kannst du diese nun in Sally hinterlegen. Die neue Webhook-Integration wurde überarbeitet und bietet dir deutlich mehr Kontrolle über Authentifizierung, Header und den Inhalt des Webhook-Bodys.
Schritt-für-Schritt-Anleitung
- Öffne die Einstellungen.
Einstellungen öffnen
- Wechsle zu „Integrationen“
- Wähle anschließend im Menü Integrationen und klicke im Bereich Deine persönlichen Integrationen auf Integration hinzufügen.
Neue Integration hinzufügen
- Wähle „Webhook V2“ aus und klicke auf Webhook erstellen.
Webhook V1 ist eine ältere Version. Bestehende Webhooks, die mit V1 erstellt wurden, bleiben weiterhin aktiv. Neue Webhooks werden automatisch mit Version V2 erstellt.
Webhook V2 auswählen
-
Fülle das Webhook-Formular aus.
Jetzt erscheint ein Formular, das aus fünf Bereichen besteht. Hier wird die Verbindung konfiguriert.
Name und allgemeine Angaben
Die folgende Tabelle zeigt dir alle Einstellungen, die du im Webhook-Formular findest – inklusive Erklärung, wofür jedes Feld gedacht ist und wann du es brauchst.
| Feld | Beschreibung |
|---|---|
| Name des Webhooks | Ein frei wählbarer Anzeigename für die Integration. Hilft dir, den Webhook später schnell zuzuordnen (z. B. „Webhook n8n – Leads“, „Zapier – Tasks“). |
| URL des Webhooks | Die vom Zielsystem bereitgestellte Endpoint-URL, an die Sally die Webhook-Daten sendet. Ohne diese URL kann der Webhook nicht ausgelöst werden. |
| Cookie (optional) | Optionales Feld für Systeme, die Sitzungs-Cookies statt API-Tokens verwenden. Moderne Tools wie Zapier, Make oder n8n benötigen kein Cookie. Wird nur in speziellen internen oder Legacy-Systemen genutzt. |
| Authentifizierungsmethode | Legt fest, wie sich Sally gegenüber dem Zielsystem authentifiziert. Mögliche Optionen: • Keine – Es wird kein Authorization-Header gesendet; ideal für offene Listener oder Test-Endpunkte. • Basic Auth – Sally sendet Nutzername + Passwort als Basic-Auth-Header; häufig bei internen APIs. • Roh (Raw) – Du gibst den gesamten Authorization-Header manuell ein (z. B. Bearer xyz123, ApiKey abc123). • Client-Zertifikat (PFX + Passwort) – Ermöglicht mTLS-Authentifizierung; nur erforderlich, wenn das Ziel explizit ein Client-Zertifikat verlangt. |
| Benutzerdefinierte Header (Custom Headers) | Erlaubt das Hinzufügen beliebiger zusätzlicher Header, z. B. x-api-key, x-tenant-id oder Signaturschlüssel. Wird genutzt, um Anfragen abzusichern oder Workflows zu steuern. |
| HTTP-Body Version | Bestimmt die Struktur des JSON-Bodys. Empfehlung: immer die neueste Version wählen, um die vollständigen und aktuellsten Daten zu erhalten. |
| Sprache | Legt fest, in welcher Sprache die Inhalte generiert werden. Sally nutzt BCP-47 basierend auf ISO 639-1. Es wird z. B. de-DE oder en-US gesendet. |
| Individualisierung des HTTP-Bodys | Legt fest, welche Inhalte Sally im Webhook-Body mitsendet. Jede Kategorie kann einzeln an- oder abgewählt werden. Folgende Elemente stehen zur Auswahl: • Aufgaben – Alle erkannten Tasks inklusive Verantwortlichen und Fälligkeitsdatum. • Benutzerdefinierte Einblicke – Ergebnisse der Custom-Insights (z. B. Checklisten oder individuelle Felder). • Einwände – Erkannte Objections aus dem Gespräch. • Entscheidungen – Alle im Meeting getroffenen Entscheidungen. • Kernpunkte – Wichtige Schlüsselthemen bzw. Hauptaussagen des Meetings. • Meetingtyp-spezifische Elemente – Inhalte, die aus dem gewählten Meetingtyp generiert werden (z. B. Fragenkatalog). • Transkription – Vollständige Transkriptteile inkl. Sprecher, Timecodes und Emphases. • Zusammenfassung – Die generierte Hauptzusammenfassung sowie HTML-Varianten. Durch das Aktivieren/Deaktivieren dieser Felder kannst du exakt steuern, wie umfangreich der Webhook-Body ausfallen soll. |
- Klicke nun auf "Erstellen".
Webhook speichern
Nach erfolgreichem Speichern erscheint dein Webhook in der Integrationsliste.
Der Webhook ist aktiv
5. JSON-Body & Feldbeschreibung des Webhooks
Während du deinen Webhook erstellst, zeigt dir Sally im Bereich „HTTP-Body“ automatisch ein vollständiges JSON-Beispiel an.
Dieses Beispiel repräsentiert genau die Struktur, die Sally später bei jeder Webhook-Auslösung an dein Zielsystem sendet.
Du kannst den JSON-Body bereits während der Einrichtung über den integrierten „Kopieren“-Button direkt übernehmen – z. B. für n8n, Make, Zapier oder zum Testen eines Endpunkts.
Der JSON
Der Body enthält alle erkannten Meeting-Daten, wie Teilnehmer, Themen, Entscheidungen, Aufgaben, Einwände, Meeting-Typ-Informationen und vollständige Transkript-Teile.
Unten findest du:
- den kompletten JSON-Body zum Kopieren
- eine detaillierte Erklärung aller Felder in Tabellenform
5.1. JSON-Beispiel (kopierbar)
{
"directoryId": "00000000-0000-0000-0000-000000000001",
"recordingSummaryId": "00000000-0000-0000-0000-000000000001",
"languageCode": "string",
"appointmentDate": "0000-01-01T00:00:00.000Z",
"appointmentSubject": "string",
"attendees": [
{
"name": "string",
"email": "string",
"invitationStatus": 0,
"attendenceStatus": 0
}
],
"meetingUrl": "string",
"meetingPlatform": "webex|msteams|zoom|googlemeet",
"summary": "string",
"combinedFullSummaryHTML": "string",
"topics": [
{
"summary": "string",
"description": "string",
"startTimeStamp": 0.0,
"endTimeStamp": 0.0
}
],
"decisions": [
{
"summary": "string",
"description": "string",
"startTimeStamp": 0.0,
"endTimeStamp": 0.0
}
],
"tasks": [
{
"subject": "string",
"description": "string",
"responsiblePersonName": "string",
"responsiblePersonEmail": "string",
"dueDate": "0000-01-01T00:00:00.000Z"
}
],
"objections": [
{
"objection": "string"
}
],
"customInsights": [
{
"id": "00000000-0000-0000-0000-000000000001",
"name": "string",
"result": "string"
}
],
"meetingTypeItems": [
{
"summary": "string",
"description": "string"
}
],
"transcriptParts": [
{
"id": "00000000-0000-0000-0000-000000000001",
"speakerName": "string",
"startTimeStamp": 0.0,
"endTimeStamp": 0.0,
"text": "string",
"emphases": "string",
"sortOrder": 0
}
]
}
5.2. Erklärung des JSON-Bodys (alle Felder)
| Feldname | Typ | Format | Beschreibung |
|---|---|---|---|
directoryId | string (GUID) | Plain | Eindeutige ID deiner Sally-Organisation. Dient zur Zuordnung, aus welchem Workspace der Webhook stammt. |
recordingSummaryId | string (GUID) | Plain | Eindeutige ID der erstellten Zusammenfassung. Kann genutzt werden, um Daten später erneut abzurufen oder zu matchen. |
languageCode | string | Plain | Sprache, in der die Zusammenfassung generiert wurde. Sally verwendet BCP-47 Sprachcodes auf Basis von ISO 639-1, z.B. de-DE, en-US, fr-FR. |
appointmentDate | string (ISO-Datum) | Plain | Datum und Uhrzeit des Meetings bzw. der Aufnahme. |
appointmentSubject | string | Plain | Titel oder Betreff des Meetings (aus dem Kalender oder manuell vergeben). |
attendees | Array | Plain | Liste aller Teilnehmer des Meetings. |
attendees[].name | string | Plain | Name des Teilnehmers. |
attendees[].email | string | Plain | E-Mail-Adresse des Teilnehmers. |
attendees[].invitationStatus | number | Plain | Numerischer Einladungsstatus des Teilnehmers. Der Wert zeigt an, wie die Person auf die Kalendereinladung reagiert hat. Mögliche Werte: 10 = Abgelehnt – Die Einladung wurde explizit abgelehnt. 20 = Angenommen – Die Einladung wurde bestätigt. 30 = Vorläufig zugesagt – Der Teilnehmer hat „Vielleicht“ ausgewählt. 40 = Keine Antwort – Es wurde nicht auf die Einladung reagiert. 50 = Organisator – Die Person ist der Ersteller/Organisator des Meetings. 100 = Unbekannt – Der Status konnte nicht bestimmt werden. |
attendees[].attendenceStatus | number | Plain | Numerischer Teilnahme-Status des Teilnehmers. Der Wert zeigt an, ob die Person tatsächlich am Meeting teilgenommen hat. Mögliche Werte: 10 = Nicht teilgenommen – Die Person war eingeladen, aber nicht im Meeting anwesend. 20 = Teilgenommen – Die Person war im Meeting anwesend. 100 = Unbekannt – Die tatsächliche Teilnahme konnte nicht ermittelt werden. |
meetingUrl | string | Plain | Link zum Online-Meeting (Teams, Zoom, Webex etc.). |
meetingPlatform | string | Plain | Plattform, auf der das Meeting stattfand (webex, msteams, zoom, googlemeet). |
summary | string | Markdown | Kompakte Hauptzusammenfassung des Meetings. |
combinedFullSummaryHTML | string (HTML) | HTML | Vollständige, formatierte Zusammenfassung in HTML – ideal für CRM, Ticketsysteme oder E-Mails. |
topics | Array | Plain | Vom System erkannte Themen/Abschnitte des Gesprächs. |
topics[].summary | string | Markdown | Kurzbeschreibung des Themas. |
topics[].description | string | Markdown | Detailliertere Beschreibung des Gesprächsabschnitts. |
topics[].startTimeStamp | number (decimal) | Plain | Startzeitpunkt des Themas in Sekunden (bezogen auf die Aufnahme). |
topics[].endTimeStamp | number (decimal) | Plain | Endzeitpunkt des Themas in Sekunden. |
decisions | Array | Plain | Alle im Meeting getroffenen Entscheidungen. |
decisions[].summary | string | Markdown | Kurzbeschreibung der Entscheidung. |
decisions[].description | string | Markdown | Detailbeschreibung der Entscheidung. |
decisions[].startTimeStamp | number (decimal) | Plain | Zeitpunkt, an dem die Entscheidung im Meeting erwähnt wurde. |
decisions[].endTimeStamp | number (decimal) | Plain | Zeitpunkt, an dem das Thema endete. |
tasks | Array | Plain | Von Sally erkannte Aufgaben/Aktionspunkte. |
tasks[].subject | string | Markdown | Titel der Aufgabe. |
tasks[].description | string | Markdown | Beschreibung oder Kontext. |
tasks[].responsiblePersonName | string | Plain | Zuständige Person für die Aufgabe. |
tasks[].responsiblePersonEmail | string | Plain | E-Mail der zuständigen Person. |
tasks[].dueDate | string (ISO-Datum) | Plain | Fälligkeitsdatum der Aufgabe im ISO-8601-Format. Wird nur gesetzt, wenn Sally ein Datum im Gespräch erkennt. Beispiel: 2025-03-15T00:00:00.000Z. |
objections | Array | Plain | Einwände oder Bedenken, die während des Meetings erwähnt wurden. |
objections[].objection | string | Markdown | Formulierter Einwand. |
customInsights | Array | Plain | Ergebnisse deiner benutzerdefinierten Insights/Prompts. |
customInsights[].id | string (GUID) | Plain | Eindeutige ID des benutzerdefinierten Insight-Feldes. |
customInsights[].name | string | Plain | Name des Insight-Feldes. |
customInsights[].result | string | HTML | Das vom Prompt generierte Ergebnis. |
meetingTypeItems | Array | Plain | Inhalte, die durch deinen Meeting-Typ generiert wurden (z. B. Fragen, Abschnitte, Checks). |
meetingTypeItems[].summary | string | HTML | Kurzbeschreibung des Items. |
meetingTypeItems[].description | string | HTML | Ausführliche Beschreibung des jeweiligen Meetingtyp-Elements. |
transcriptParts | Array | Plain | Jede erkannte Passage des Transkripts – strukturiert nach Sprecher und Zeit. |
transcriptParts[].id | string (GUID) | Plain | Eindeutige ID des Transkriptabschnitts. |
transcriptParts[].speakerName | string | Plain | Name des Sprechers. |
transcriptParts[].startTimeStamp | number (decimal) | Plain | Startzeitpunkt der Passage in Sekunden. |
transcriptParts[].endTimeStamp | number (decimal) | Plain | Endzeitpunkt der Passage in Sekunden. |
transcriptParts[].text | string | Plain | Gesprochener Inhalt. |
transcriptParts[].emphases | string | Plain | Liste erkannter hervorgehobener Wörter innerhalb der Passage. Das Feld enthält ein Array von Objekten, die jeweils das betonte Wort sowie Start- und Endzeitpunkt enthalten. Wenn keine Hervorhebungen erkannt wurden, ist das Array leer. Beispiel: [{"word":"Ja","startTime":104.89,"endTime":104.89},{"word":"nächste","startTime":105.09,"endTime":105.09},{"word":"Seite.","startTime":105.41,"endTime":105.41}] |
transcriptParts[].sortOrder | number (int) | Plain | Laufende Nummer, die die Reihenfolge der Passage im gesamten Transkript angibt. Die Werte sind aufsteigend sortiert: kleinere Zahlen stehen für früher Gesprochenes, größere Zahlen für später Gesprochenes. |
6. Verbindung prüfen & Logs einsehen
In diesem Abschnitt lernst du:
- wie du deine Webhook-Verbindung testest,
- was Logeinträge sind und was sie bedeuten,
- wo du die Logeinträge findest,
- wie du sie richtig interpretierst,
- wie du sie erneut ausführst
- und wie du Fehler gezielt behebst.
6.1. Verbindung testen (der schnellste erste Check)
Bevor du dich mit Logs beschäftigst, solltest du zuerst prüfen, ob deine Webhook-Verbindung grundsätzlich funktioniert.
So testest du die Verbindung in Sally:
- Gehe zu Integrationen.
- Öffne deine zuvor erstellte Webhook-Integration.
- Klicke auf Testen.
Webhook-Verbindung testen
- Wähle nun ein Meeting aus, das als Grundlage für den Verbindungstest verwendet wird.
- Klicke auf Testen.
Test-Meeting auswählen
Sally sendet dabei ein Test-Event an die konfigurierte Webhook-URL und zeigt dir direkt an, ob das Zielsystem die Anfrage akzeptiert hat.
Wenn du eine Test- oder Sandbox-URL deines Zielsystems verwendest (z. B. bei n8n, Zapier oder eigenen APIs), stelle sicher, dass dort der Testmodus aktiv ist. Viele Systeme ignorieren oder blockieren Test-Webhooks, wenn der Workflow nicht explizit auf „Listening / Test“ steht.
Der Verbindungstest ist ideal, um schnell zu prüfen:
- Ob die URL korrekt ist
- Ob das Zielsystem erreichbar ist
- Ob grundlegende Authentifizierung funktioniert
6.2. Logs verstehen: Was sie zeigen – und warum sie so wichtig sind
Sally protokolliert jede Webhook-Ausführung automatisch.
Diese Logeinträge kannst du jederzeit einsehen, analysieren und erneut ausführen.
Kurz gesagt: Logs zeigen dir exakt, was Sally wann an welches System geschickt hat – und wie das System darauf reagiert hat.
Konkret helfen dir die Logs bei:
- der Überprüfung, ob Events korrekt ausgelöst wurden,
- der Fehlersuche bei falschen URLs oder fehlenden Berechtigungen,
- der Kontrolle des gesendeten Inhalts (Payload),
- der Analyse von Antwortzeiten und Performance,
- der technischen Nachvollziehbarkeit (z. B. für Audits oder Supportfälle).
Zusätzlich kannst du jeden einzelnen Logeintrag erneut ausführen, ohne ein neues Meeting oder Event auszulösen. Das ist besonders hilfreich beim Debugging oder nach Konfigurationsänderungen im Zielsystem.
6.3. Wie du Logeinträge in Sally findest
So gelangst du zu den Logs deiner Webhook-Integration:
- Öffne Integrationen.
- Suche deine Webhook-Integration unter "Deine persönlichen Integrationen".
- Klicke auf Logs.
Logs einer Webhook-Integration öffnen
Dort siehst du eine Übersicht aller bisherigen Webhook-Ausführungen:
Alle Webhook-Anfragen im Überblick
Jeder Eintrag steht für einen konkreten Versandversuch von Sally an dein Zielsystem.
6.4. Wie man einen Logeintrag richtig liest
Ein einzelner Logeintrag enthält mehrere Informationen, die zusammen das vollständige Bild ergeben:
| Bezeichnung | Erklärung | Beispiel |
|---|---|---|
| Ausführungszeit | Zeitpunkt, zu dem Sally den Webhook ausgelöst und an das Zielsystem gesendet hat. Hilfreich, um Ereignisse zeitlich zuzuordnen (z. B. zu einem bestimmten Meeting oder Workflow-Schritt). | 12.01.2026, 10:01 |
| Ziel-Endpunkt (URL) | Die konkrete URL, an die der Webhook gesendet wurde. Wichtig bei der Unterscheidung zwischen Test-, Staging- und Produktiv-Umgebungen. | https://example.com/webhook |
| HTTP-Status | Antwortcode des Zielsystems auf die Webhook-Anfrage. Zeigt an, ob die Anfrage erfolgreich verarbeitet, abgelehnt oder fehlgeschlagen ist. | 202 Accepted |
| Latenz / Dauer | Zeitspanne zwischen dem Versand der Anfrage durch Sally und der Antwort des Zielsystems. Hohe Werte können auf Performance- oder Netzwerkprobleme hinweisen. | 850 ms |
| Event | Das konkrete Sally-Ereignis, das den Webhook ausgelöst hat, z. B. nach Abschluss eines Meetings oder nach Erstellung einer Zusammenfassung. | Meeting abgeschlossen |
| Retries | Gibt an, ob und wie oft Sally versucht hat, den Webhook nach einem fehlgeschlagenen Versand erneut zu senden. Relevant bei temporären Fehlern oder Timeouts. | 2 |
| Details zu Anfrage & Antwort | Technische Detailansicht mit vollständigen Informationen zur Anfrage und zur Antwort, inklusive Header, Payload und Response-Body. Zentral für tiefgehendes Debugging. |
- 2xx (Erfolg) → Das Zielsystem hat die Anfrage akzeptiert
- 4xx (Client-Fehler) → Meist Konfigurationsfehler (z. B.
401 Unauthorized,404 Not Found) - 5xx (Server-Fehler) → Zielsystem war temporär nicht erreichbar; Sally versucht es erneut
6.5. Logs erneut ausführen (gezielt testen & debuggen)
Das erneute Ausführen eines Logeintrags ist besonders nützlich, wenn:
- Du die Webhook-URL geändert hast
- Authentifizierung oder Header angepasst wurden
- Oder das Zielsystem zwischenzeitlich nicht erreichbar war
Beim erneuten Ausführen wird genau derselbe Webhook-Payload erneut an dein Zielsystem gesendet, der ursprünglich bei diesem Logeintrag verwendet wurde. Dabei wird kein neues Meeting gestartet und kein neues Ereignis in Sally ausgelöst – es handelt sich ausschließlich um einen erneuten Versand der bereits vorhandenen Daten.
So kannst du gezielt testen, ob Änderungen am Zielsystem (z. B. Webhook-URL, Authentifizierung oder Verarbeitung) jetzt korrekt funktionieren, ohne den gesamten Prozess erneut auszulösen.
So führst du einen Logeintrag erneut aus:
- Öffne die Logübersicht deiner Webhook-Integration.
- Suche den gewünschten Logeintrag.
- Klicke auf Erneut ausführen.
Einzelnen Logeintrag erneut ausführen
So kannst du Änderungen im Zielsystem sofort testen – schnell, gezielt und reproduzierbar.
6.6. Typische Fehlerursachen & schnelle Lösungen
| Problem | Typische Anzeichen | Schnelle Lösung |
|---|---|---|
| Falsche URL | Anfragen schlagen fehl oder erreichen den falschen Endpunkt | Vergleiche die im Log angezeigte Ziel-URL mit dem erwarteten Endpunkt. Achte besonders auf Tippfehler, fehlende Pfade oder veraltete Test-URLs. |
| Fehlende oder falsche Authentifizierung | 401 Unauthorized oder 403 Forbidden | Überprüfe API-Keys, Tokens und erforderliche Header im Zielsystem. |
| Payload passt nicht zum Zielsystem | Fehler trotz erfolgreicher Zustellung | Prüfe die im Log übertragenen Daten. Das Zielsystem erwartet möglicherweise ein anderes Format, andere Feldnamen oder eine andere Version. |
| Rate Limiting | 429 Too Many Requests | Reduziere die Anzahl der Webhook-Events oder nutze Queues bzw. Verzögerungen im Zielsystem. |
| Zielsystem nicht verfügbar | 5xx Serverfehler | Prüfe die Erreichbarkeit oder den Status des Zielsystems. Sally versucht diese Anfragen automatisch erneut. |
| Testmodus nicht aktiviert | Keine Reaktion z. B. in n8n | Stelle sicher, dass der Workflow im Zielsystem aktiv „zuhört“, wenn Test-URLs verwendet werden. |
7. Webhook manuell auslösen
Neben der automatischen Ausführung nach einem Meeting kannst du Webhooks in Sally auch manuell für einen einzelnen Termin auslösen. Das ist besonders hilfreich, wenn du einen Webhook gezielt erneut senden möchtest, ohne auf ein neues Event warten zu müssen.
So löst du einen Webhook manuell aus:
- Öffne den gewünschten Termin.
Webhook manuell über den Termin auslösen
- Klicke oben auf den Integrations-Button.
- Wähle Webhook manuell auslösen.
Manuell ausgelöster Webhook als Logeintrag
Was passiert beim manuellen Auslösen?
Beim manuellen Auslösen sendet Sally den Webhook erneut für genau diesen Termin an das konfigurierte Zielsystem.
Dabei gilt:
- Es wird kein neues Meeting erstellt.
- Es wird kein automatisches Event abgewartet.
- Es wird derselbe Datentyp (Payload) verwendet, der auch beim automatischen Versand genutzt wird.
Der manuell ausgelöste Webhook erscheint anschließend als eigener Eintrag in den Logs, inklusive:
- Ausführungszeit,
- Ziel-Endpunkt,
- HTTP-Status
- und vollständigen Anfrage- und Antwortdetails.
So kannst du gezielt:
- Änderungen im Zielsystem testen,
- fehlerhafte Übertragungen nachholen,
- oder Daten erneut synchronisieren, ohne das Meeting erneut durchführen zu müssen.
8. FAQ & Fehlerbehebung
Mein Webhook sendet nichts.
- Prüfe, ob das gewählte Ereignis wirklich eingetreten ist.
- Stelle sicher, dass der Webhook aktiviert ist.
- Sieh in den Logs nach.
Woher bekomme ich die Webhook-URL?
- Immer aus dem Ziel-Tool (z. B. Zapier, Make, n8n, Power Automate).
- Sally erzeugt diese URL nicht.
Welche Version sollte ich wählen?
- Immer Version 3 (Neueste), außer du hast bereits eine Integration mit älteren Versionen laufen.
Wie lange werden Webhook-Protokolle gespeichert?
- Webhook-Protokolle werden aus Sicherheits- und Nachverfolgbarkeitsgründen 90 Tage lang aufbewahrt und anschließend automatisch gelöscht. Eine manuelle Löschung ist nicht erforderlich.













