Webhooks nach dem Anruf
Erhalten Sie über Webhooks eine Benachrichtigung, wenn Anrufe enden und die Analyse abgeschlossen ist.
Überblick
Webhooks nach dem Anruf ermöglichen es Ihnen, nach Abschluss der Analyse detaillierte Informationen über einen Anruf zu erhalten. Wenn diese Funktion aktiviert ist, sendet ElevenLabs eine POST-Anfrage mit umfassenden Anrufdaten an Ihren angegebenen Endpunkt.
ElevenLabs unterstützt drei Arten von Webhooks nach dem Anruf:
- Transkriptions-Webhooks (
post_call_transcription): Enthalten vollständige Gesprächsdaten einschließlich Transkripten, Analyseergebnissen und Metadaten - Audio-Webhooks (
post_call_audio): Enthalten minimale Daten mit Base64-kodiertem Audio des vollständigen Gesprächs - Webhooks bei fehlgeschlagener Anrufinitiierung (
call_initiation_failure): Enthalten Informationen über fehlgeschlagene Versuche zur Anrufinitiierung, einschließlich Fehlergründen und Metadaten
Webhooks nach dem Anruf aktivieren
Webhooks nach dem Anruf können für alle Agenten in Ihrem Workspace über die Einstellungsseite von ElevenAgents aktiviert werden.

Webhooks nach dem Anruf müssen einen Statuscode 200 zurückgeben, um als erfolgreich zu gelten. Webhooks, die wiederholt fehlschlagen, werden automatisch deaktiviert, wenn es 10 oder mehr aufeinanderfolgende Fehler gibt und die letzte erfolgreiche Zustellung mehr als 7 Tage zurückliegt oder noch nie eine erfolgreiche Zustellung erfolgt ist.
Webhooks nach dem Anruf können bei einem Fehler automatisch wiederholt werden. Siehe Webhook- Wiederholungen.
Authentifizierung
Der Listener muss alle eingehenden Webhooks validieren. Webhooks unterstützen derzeit die Authentifizierung über HMAC-Signaturen. So richten Sie die HMAC-Authentifizierung ein:
- Speichern Sie das beim Erstellen des Webhooks generierte gemeinsame Geheimnis sicher.
- Verifizieren Sie den Header ElevenLabs-Signature in Ihrem Endpunkt mithilfe des SDK.
Das JavaScript-SDK stellt constructEvent bereit, das Python-SDK construct_event mit rawBody, sig_header und secret (diese heißen in Python nicht payload / signature). Beide verifizieren die Signatur, validieren den Zeitstempel und parsen die JSON-Nutzlast.
Python
JavaScript
Beispiel für einen Webhook-Handler mit FastAPI:
IP-Allowlisting
Für zusätzliche Sicherheit können Sie die statischen ausgehenden IP-Adressen von ElevenLabs zu Ihrer Allowlist hinzufügen. Die vollständige Liste der IP-Adressen finden Sie unter IP-Allowlisting.
Die Kombination aus IP-Allowlisting und HMAC-Signaturvalidierung bietet mehrere Sicherheitsebenen.
Struktur der Webhook-Antwort
ElevenLabs sendet drei verschiedene Arten von Webhooks nach dem Anruf, jeweils mit unterschiedlichen Datenstrukturen:
Transkriptions-Webhooks (post_call_transcription)
Enthält umfassende Gesprächsdaten, einschließlich vollständiger Transkripte, Analyseergebnisse und Metadaten.
Felder auf oberster Ebene
Struktur des Datenobjekts
Das data-Objekt enthält:
Audio-Webhooks (post_call_audio)
Enthält minimale Daten sowie das vollständige Gesprächsaudio als Base64-codiertes MP3.
Felder auf oberster Ebene
Struktur des Datenobjekts
Das data-Objekt enthält nur:
Audio-Webhooks enthalten nur die drei oben aufgeführten Felder. Sie enthalten KEINE Transkriptdaten, Metadaten, Analyseergebnisse oder andere Gesprächsdetails.
Webhooks bei fehlgeschlagener Anrufinitiierung (call_initiation_failure)
Enthält Informationen über Versuche zur Initiierung von Telefonanrufen, einschließlich Fehlergründen und Metadaten des Telefonieanbieters.
Webhook-Ereignisse für fehlgeschlagene Anrufinitiierungen werden gesendet, wenn ein Anruf aufgrund von Verbindungsfehlern, einer Ablehnung durch den Benutzer oder weil der Benutzer nicht abnimmt, nicht initiiert werden kann. Wenn ein Anruf an die Mailbox geht oder von einem automatisierten Dienst angenommen wird, wird kein Webhook für eine fehlgeschlagene Anrufinitiierung gesendet, da der Anruf erfolgreich initiiert wurde.
Felder auf oberster Ebene
Struktur des Datenobjekts
Das data-Objekt enthält:
Struktur des Metadatenobjekts
Die Struktur des metadata-Objekts variiert je nachdem, ob der ausgehende Anruf über Twilio oder SIP-Trunking erfolgte. Das Objekt enthält ein type-Feld zur Unterscheidung beider Varianten sowie ein body-Feld mit anbieterspezifischen Details.
SIP-Metadaten (type: "sip"):
Das body-Objekt für SIP-Metadaten enthält:
Twilio-Metadaten (type: "twilio"):
Beispielhafte Webhook-Payloads
Beispiel für einen Transkriptions-Webhook
Beispiel für einen Audio-Webhook
Beispiele für Webhooks bei fehlgeschlagener Anrufinitiierung
Beispiel für Twilio-Metadaten
Beispiel für SIP-Metadaten
Zustellung von Audio-Webhooks
Audio-Webhooks werden getrennt von Transkriptions-Webhooks zugestellt und enthalten nur die wesentlichen Felder zur Identifizierung des Gesprächs sowie die Base64-codierten Audiodaten.
Audio-Webhooks können über den Umschalter “Send audio data” in Ihren Webhook- Einstellungen aktiviert oder deaktiviert werden. Diese Einstellung kann sowohl auf Workspace-Ebene (in den ElevenAgents-Einstellungen) als auch auf Agent-Ebene (in individuellen Webhook-Überschreibungen für Agenten) konfiguriert werden.
Streaming-Zustellung
Audio-Webhooks werden als gestreamte HTTP-Anfragen mit dem Header transfer-encoding: chunked zugestellt, um große Audiodateien effizient zu verarbeiten.
Audio-Webhooks verarbeiten
Da Audio-Webhooks über Chunked Transfer Encoding zugestellt werden, müssen Sie Streaming-Daten korrekt verarbeiten:
Audio-Webhooks können große Dateien sein. Stellen Sie daher sicher, dass Ihr Webhook-Endpunkt Streaming-Anfragen verarbeiten kann und über ausreichend Speicher- und Speicherkapazität verfügt. Das Audio wird im MP3-Format zugestellt.
Anwendungsfälle
Automatisierte Nachfassaktionen nach Anrufen
Webhooks nach Anrufen ermöglichen Ihnen, automatisierte Workflows zu erstellen, die unmittelbar nach Ende eines Anrufs ausgelöst werden. Hier sind einige praktische Anwendungen:
CRM-Integration
Aktualisieren Sie Ihr Customer-Relationship-Management-System mit Gesprächsdaten, sobald ein Anruf beendet ist:
Zustandsbehaftete Gespräche
Bewahren Sie Gesprächskontext über mehrere Interaktionen hinweg, indem Sie Zustände speichern und abrufen:
- Übergeben Sie beim Start eines Anrufs Ihre Benutzer-ID als dynamische Variable.
- Richten Sie nach Ende eines Anrufs Ihren Webhook-Endpunkt so ein, dass er Gesprächsdaten anhand der aus
dynamic_variablesextrahierten Benutzer-ID in Ihrer Datenbank speichert. - Wenn der Benutzer erneut anruft, können Sie diesen Kontext abrufen und ihn der neuen Unterhaltung als dynamische Variable {{previous_topics}} übergeben.
- Dadurch entsteht ein nahtloses Erlebnis, bei dem sich der Agent an vorherige Interaktionen „erinnert“.