Sally AI Webhook-Integration: Die vollständige 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 und wie funktioniert er?
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. Welche Voraussetzungen brauchst du?
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. Wie erstellst du eine Webhook-URL in deinem Tool?
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. Wie legst du einen Webhook in Sally an?
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.
- Wechsle zu "Integrationen".
- Klicke im passenden Bereich auf "Integration hinzufügen".
Sally unterscheidet zwischen persönlichen und unternehmensweiten Webhooks. Der Geltungsbereich hängt davon ab, wo du die Integration erstellst:
- "Deine persönlichen Integrationen": Der Webhook wird nur für Meetings des Benutzers ausgelöst, der ihn erstellt hat.
- "Integrationen (Unternehmen)": Der Webhook wird für alle Meetings im gesamten Unternehmenskonto ausgelöst.
Wähle den passenden Bereich, je nachdem ob der Webhook nur für dich persönlich oder für das gesamte Unternehmen gelten soll.
- 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.
-
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 Webhook speichern
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".
Nach erfolgreichem Speichern erscheint dein Webhook in der Integrationsliste.
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 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 | Beschreibung |
|---|---|---|
directoryId | string (GUID) | Eindeutige ID deiner Sally-Organisation. Dient zur Zuordnung, aus welchem Workspace der Webhook stammt. |
recordingSummaryId | string (GUID) | Eindeutige ID der erstellten Zusammenfassung. Kann genutzt werden, um Daten später erneut abzurufen oder zu matchen. |
languageCode | string | 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) | Datum und Uhrzeit des Meetings bzw. der Aufnahme. |
appointmentSubject | string | Titel oder Betreff des Meetings (aus dem Kalender oder manuell vergeben). |
attendees | Array | Liste aller Teilnehmer des Meetings. |
attendees[].name | string | Name des Teilnehmers. |
attendees[].email | string | E-Mail-Adresse des Teilnehmers. |
attendees[].invitationStatus | number | Numerischer Einladungsstatus des Teilnehmers. Der Wert zeigt an, wie die Person auf die Kalendereinladung reagiert hat. Mögliche Werte: 10 = Abgelehnt, 20 = Angenommen, 30 = Vorläufig zugesagt, 40 = Keine Antwort, 50 = Organisator, 100 = Unbekannt |
attendees[].attendenceStatus | number | Numerischer Teilnahme-Status des Teilnehmers. Mögliche Werte: 10 = Nicht teilgenommen, 20 = Teilgenommen, 100 = Unbekannt |
meetingUrl | string | Link zum Online-Meeting (Teams, Zoom, Webex etc.). |
meetingPlatform | string | Plattform, auf der das Meeting stattfand (webex, msteams, zoom, googlemeet). |
summary | string (Markdown) | Kompakte Hauptzusammenfassung des Meetings. |
combinedFullSummaryHTML | string (HTML) | Vollständige, formatierte Zusammenfassung in HTML, ideal für CRM, Ticketsysteme oder E-Mails. |
topics | Array | 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) | Startzeitpunkt des Themas in Sekunden (bezogen auf die Aufnahme). |
topics[].endTimeStamp | number (decimal) | Endzeitpunkt des Themas in Sekunden. |
decisions | Array | Alle im Meeting getroffenen Entscheidungen. |
decisions[].summary | string (Markdown) | Kurzbeschreibung der Entscheidung. |
decisions[].description | string (Markdown) | Detailbeschreibung der Entscheidung. |
decisions[].startTimeStamp | number (decimal) | Zeitpunkt, an dem die Entscheidung im Meeting erwähnt wurde. |
decisions[].endTimeStamp | number (decimal) | Zeitpunkt, an dem das Thema endete. |
tasks | Array | Von Sally erkannte Aufgaben/Aktionspunkte. |
tasks[].subject | string (Markdown) | Titel der Aufgabe. |
tasks[].description | string (Markdown) | Beschreibung oder Kontext. |
tasks[].responsiblePersonName | string | Zuständige Person für die Aufgabe. |
tasks[].responsiblePersonEmail | string | E-Mail der zuständigen Person. |
tasks[].dueDate | string (ISO-Datum) | 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 | Einwände oder Bedenken, die während des Meetings erwähnt wurden. |
objections[].objection | string (Markdown) | Formulierter Einwand. |
customInsights | Array | Ergebnisse deiner benutzerdefinierten Insights/Prompts. |
customInsights[].id | string (GUID) | Eindeutige ID des benutzerdefinierten Insight-Feldes. |
customInsights[].name | string | Name des Insight-Feldes. |
customInsights[].result | string (HTML) | Das vom Prompt generierte Ergebnis. |
meetingTypeItems | Array | 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 | Jede erkannte Passage des Transkripts, strukturiert nach Sprecher und Zeit. |
transcriptParts[].id | string (GUID) | Eindeutige ID des Transkriptabschnitts. |
transcriptParts[].speakerName | string | Name des Sprechers. |
transcriptParts[].startTimeStamp | number (decimal) | Startzeitpunkt der Passage in Sekunden. |
transcriptParts[].endTimeStamp | number (decimal) | Endzeitpunkt der Passage in Sekunden. |
transcriptParts[].text | string | Gesprochener Inhalt. |
transcriptParts[].emphases | string | Liste erkannter hervorgehobener Wörter innerhalb der Passage. Enthält ein Array von Objekten mit betontem Wort sowie Start- und Endzeitpunkt. Beispiel: [{“word”:”Ja”,”startTime”:104.89,”endTime”:104.89}] |
transcriptParts[].sortOrder | number (int) | Laufende Nummer zur Reihenfolge der Passage im Transkript. Aufsteigend sortiert: kleinere Zahlen = früher, größere = später. |
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.
- Wähle nun ein Meeting aus, das als Grundlage für den Verbindungstest verwendet wird.
- Klicke auf Testen.
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.
Dort siehst du eine Übersicht aller bisherigen Webhook-Ausführungen:
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, wie oft der Webhook für diesen Eintrag manuell erneut ausgeführt wurde. Du kannst fehlgeschlagene Webhooks jederzeit über die Logs manuell erneut ausführen. | 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. Du kannst den Webhook über die Logs manuell erneut ausführen
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.
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. Du kannst den Webhook über die Logs manuell erneut ausführen. |
| 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. Wie löst du einen Webhook manuell aus?
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.
- Klicke oben auf den Integrations-Button.
- Wähle Webhook manuell auslösen.
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. Was kann ich tun?
- Wie stelle ich die Sprache des Webhooks ein?
- Wie lange werden Webhook-Protokolle gespeichert?
- Kann ich mehrere Webhooks gleichzeitig verwenden?
- Was ist der Unterschied zwischen einem persönlichen und einem unternehmensweiten Webhook?
- Was passiert, wenn mein Zielsystem nicht erreichbar ist?
- Kann ich den Inhalt des Webhook-Bodys anpassen?
- Kann ich einen Webhook nachträglich bearbeiten?
- Wie teste ich meinen Webhook, ohne ein Meeting durchzuführen?
- Welche HTTP-Methode verwendet Sally für Webhooks?
- Kann ich einen Webhook vorübergehend deaktivieren, ohne ihn zu löschen?
- Werden Webhooks auch bei hochgeladenen Aufnahmen ausgelöst?
- Mein Zielsystem empfängt die Daten, verarbeitet sie aber nicht korrekt.
Mein Webhook sendet nichts. Was kann ich tun?
- Prüfe, ob das auslösende Ereignis (z. B. Zusammenfassung erstellt) tatsächlich eingetreten ist.
- Stelle sicher, dass der Webhook in den Integrationseinstellungen aktiviert ist.
- Öffne die Logs der Webhook-Integration und prüfe, ob ein Eintrag vorhanden ist. Falls ja, gibt der HTTP-Status Aufschluss über das Problem.
- Falls kein Logeintrag vorhanden ist, wurde der Webhook nicht ausgelöst. Prüfe, ob der Webhook dem richtigen Bereich zugeordnet ist (persönlich vs. unternehmensweit).
Wie stelle ich die Sprache des Webhooks ein?
Die Sprache legst du direkt im Webhook-Formular über das Feld "Sprache" fest. Öffne dazu Einstellungen > Integrationen, erstelle einen neuen Webhook oder bearbeite einen bestehenden und wähle im Dropdown die gewünschte Sprache aus.
Sally generiert die Inhalte im Webhook-Body (z. B. Zusammenfassung, Aufgaben, Entscheidungen) dann in der ausgewählten Sprache. Im JSON-Body wird die Sprache im Feld languageCode als BCP-47-Code mitgesendet (z. B. de-DE oder en-US).
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.
Kann ich mehrere Webhooks gleichzeitig verwenden?
Ja. Du kannst beliebig viele Webhooks anlegen, sowohl im persönlichen als auch im unternehmensweiten Bereich. Jeder Webhook kann eine eigene URL, eigene Authentifizierung und einen individuell konfigurierten Body haben. So kannst du z. B. gleichzeitig Daten an Zapier, Make und ein eigenes Backend senden.
Was ist der Unterschied zwischen einem persönlichen und einem unternehmensweiten Webhook?
- Persönlicher Webhook: Wird nur für Meetings des Benutzers ausgelöst, der den Webhook erstellt hat.
- Unternehmensweiter Webhook: Wird für alle Meetings im gesamten Unternehmenskonto ausgelöst, unabhängig davon, wer das Meeting durchgeführt hat.
Der Geltungsbereich wird beim Erstellen festgelegt, je nachdem ob du die Integration unter "Deine persönlichen Integrationen" oder unter "Integrationen (Unternehmen)" anlegst.
Was passiert, wenn mein Zielsystem nicht erreichbar ist?
Falls das Zielsystem beim Versand nicht erreichbar ist (z. B. 5xx-Fehler oder Timeout), wird der fehlgeschlagene Versuch im Log festgehalten. Du kannst den Webhook jederzeit über die Logs manuell erneut ausführen.
Kann ich den Inhalt des Webhook-Bodys anpassen?
Ja. Im Webhook-Formular findest du den Bereich "Individualisierung des HTTP-Bodys". Dort kannst du einzelne Kategorien wie Aufgaben, Zusammenfassung, Transkription, Entscheidungen, Einwände, benutzerdefinierte Einblicke und Meeting-Typ-Elemente gezielt aktivieren oder deaktivieren. So steuerst du exakt, welche Daten im Webhook-Body enthalten sind.
Kann ich einen Webhook nachträglich bearbeiten?
Ja. Öffne die Integrationsübersicht, klicke auf den gewünschten Webhook und passe die Einstellungen an (z. B. URL, Authentifizierung, Header, Body-Version oder Sprache). Die Änderungen gelten ab der nächsten Webhook-Ausführung.
Wie teste ich meinen Webhook, ohne ein Meeting durchzuführen?
Du hast zwei Möglichkeiten:
- Verbindungstest: Öffne den Webhook in den Integrationseinstellungen und klicke auf Testen. Wähle ein bestehendes Meeting als Grundlage. Sally sendet ein Test-Event an die konfigurierte URL.
- Log erneut ausführen: Gehe in die Logübersicht des Webhooks und klicke bei einem bestehenden Eintrag auf Erneut ausführen. So wird der exakt gleiche Payload nochmals gesendet.
Welche HTTP-Methode verwendet Sally für Webhooks?
Sally sendet Webhook-Daten immer als HTTP POST-Anfrage mit einem JSON-Body (Content-Type: application/json).
Kann ich einen Webhook vorübergehend deaktivieren, ohne ihn zu löschen?
Ja. Du kannst einen Webhook in den Integrationseinstellungen deaktivieren. Solange der Webhook deaktiviert ist, sendet Sally keine Daten an die konfigurierte URL. Du kannst ihn jederzeit wieder aktivieren, ohne die Konfiguration neu vornehmen zu müssen.
Werden Webhooks auch bei hochgeladenen Aufnahmen ausgelöst?
Ja. Webhooks werden immer dann ausgelöst, wenn das konfigurierte Ereignis eintritt, unabhängig davon, ob das Meeting live aufgezeichnet oder als Datei hochgeladen wurde. Sobald Sally die Zusammenfassung erstellt hat, wird der Webhook gesendet.
Mein Zielsystem empfängt die Daten, verarbeitet sie aber nicht korrekt. Woran liegt das?
Prüfe folgende Punkte:
- Öffne den Logeintrag und vergleiche den gesendeten Payload mit dem erwarteten Format deines Zielsystems.
- Stelle sicher, dass du die richtige HTTP-Body-Version ausgewählt hast.
- Achte darauf, dass Feldnamen und Datentypen mit der Erwartung des Zielsystems übereinstimmen. Einige Felder werden als Markdown oder HTML gesendet (siehe Feldbeschreibung).
- Falls dein Tool ein anderes Datumsformat erwartet, musst du das ISO-8601-Format (
2025-03-15T00:00:00.000Z) im Zielsystem entsprechend umwandeln.














