Überblick
Dynamischer Kontext ermöglicht es dir, Kundendaten aus deinen externen APIs einmal, vor Beginn jedes Gesprächs abzurufen. Anstatt sich nur auf Kontaktdatensätze zu verlassen, können deine Agenten auf Kontostatus, Bestellhistorie, Support-Tickets und Geschäftskontext aus deinem CRM, Datenbanken und Backend-Systemen zugreifen.Dynamischer Kontext wird konfiguriert unter Agenteneinstellungen → Operationen → Dynamischer Kontext. Die zurückgegebenen JSON-Daten sind direkt als Variablen verfügbar (z.B.
{{ field_name }}) in der Begrüßung und den Anweisungen deines Agenten.Die Kontext-API wird einmal vor Gesprächsbeginn aufgerufen. Die Daten sind für das Rendern der Begrüßung und während des gesamten Gesprächs verfügbar. Sie werden während des Gesprächs nicht aktualisiert. Halte deinen Endpunkt schnell (<1s Antwortzeit) und gib nur für das Gespräch benötigte Daten zurück.
- HTTPS-Endpunkt
- JSON-Antwort unter 32 KB
- Antwortzeit unter 1 Sekunde (idealerweise)
- Authentifizierung über Bearer-Token, API-Schlüssel oder Basic Auth
Funktionsweise
Anforderungsablauf:Begrüßung gerendert
Begrüßung gerendert (verwendet Kontextvariablen, falls in Begrüßung referenziert)
Eingehende Anrufe
direction: "inbound" mit contact_number des Anrufers. Kundendaten im CRM nachschlagen.Ausgehende Anrufe
direction: "outbound" mit contact_number, die du anrufst. Kampagnenkontext abrufen.Web-Widget
medium: "web" mit optionaler external_id. Benutzer in deinem System identifizieren.Konfiguration
Zu Dynamischer Kontext navigieren
- Öffne deine Agenteneinstellungen
- Klicke auf die Navigationsgruppe Operationen (in der linken Seitenleiste)
- Wähle Dynamischer Kontext aus den Abschnitten
Endpunkt konfigurieren
Endpunkt-URL:
https://api.company.com/contextAuthentifizierung: Wähle Bearer-Token, Basic, API-Schlüssel oder KeineDie Anfrage enthält: agent_uuid, direction, agent_number, contact_number (und external_id für Web-Widget)Anforderungs- & Antwortformat
Was wir senden (POST-Anfrage)
agent_uuid(String, immer enthalten) - Die UUID des Agenten, der den Anruf bearbeitetdirection(String, immer enthalten) - “inbound” oder “outbound”agent_number(String, optional) - Die Telefonnummer, die der Agent verwendetcontact_number(String, optional) - Die Telefonnummer des Kundenexternal_id(String/Int, optional) - Nur für Web-Widget-Anrufe, falls von deiner Integration bereitgestellt
X-Agent-UUID,X-Agent-Number,X-Contact-Number,X-Direction,X-Medium(phone/web)X-Room-SID- Eindeutige Kennung für diese GesprächssitzungX-External-ID- Nur für Web-Widget-Anrufe
Typische Verwendung: Dein Endpunkt verwendet
contact_number oder external_id, um den Kunden in deinem CRM/deiner Datenbank nachzuschlagen und gibt dann relevante Kontodaten, Bestellhistorie, Tickets usw. zurück. Die agent_uuid kann verwendet werden, um Antworten pro Agent anzupassen, falls erforderlich.Was du zurückgeben (JSON-Antwort)
- Gültiges JSON-Format
- Unter 32 KB
- Nur notwendige Felder zurückgeben (hält Antwort schnell)
- Fehlende Daten elegant behandeln (null zurückgeben oder Felder weglassen)
Wie auf Variablen zugegriffen wird: Alle Top-Level-Schlüssel in deiner JSON-Antwort werden zu Template-Variablen. Wenn du
{"account": {"tier": "VIP"}} zurückgibst, greifst du darauf als {{ account.tier }} zu, nicht als {{ context.account.tier }}.Kontextvariablen verwenden
Alle zurückgegebenen Daten aus deiner API sind direkt als Top-Level-Variablen in der Begrüßung und den Anweisungen deines Agenten verfügbar. Zugriff auf Felder:Authentifizierung
Bearer-Token (Empfohlen)
API-Schlüssel (Header)
Basic Auth
Keine
Keine Authentifizierung (nur für interne/private Netzwerke).Beispiel-Anwendungsfall
Kundensupport mit vollständigem Kontext Szenario: Support-Agent benötigt vollständige Kundenübersicht vor Gesprächsbeginn. deine API gibt zurück:Best Practices
Antworten schnell halten
Antworten schnell halten
- Antwortzeit unter 1 Sekunde anstreben
- Häufig abgerufene Daten zwischenspeichern (5-10 Minuten TTL)
- Nur Felder zurückgeben, die du in Anweisungen verwenden
- Datenbankindizes auf Lookup-Feldern verwenden (contact_number, external_id oder deine internen Kunden-IDs)
Fehlende Daten elegant behandeln
Fehlende Daten elegant behandeln
| default("value")-Filter in Anweisungen verwenden- Null für fehlende Felder zurückgeben (nicht fehlschlagen)
- Mit Kontakten testen, die minimale Daten haben
Sensible Daten sichern
Sensible Daten sichern
- Gib keine Sozialversicherungsnummern, Kreditkarten, Passwörter zurück
- Nur HTTPS verwenden
- Authentifizierung implementieren (Bearer-Token empfohlen)
- Nur notwendige Felder zurückgeben (z.B. letzte 4 der Kontonummer, nicht vollständig)
- Zugriff für Audit-Trails protokollieren
Vor Produktion testen
Vor Produktion testen
- Verwende Anfrage testen-Modal mit echten Kundendaten
- Teste Grenzfälle (neuer Kunde, VIP, gesperrtes Konto)
- Überprüfe, ob Anweisungen fehlende Felder elegant behandeln
- Pilotiere mit kleinem Prozentsatz des Traffics vor vollständigem Rollout
Fehlerbehebung
401 Unauthorized
401 Unauthorized
Kontextvariablen leer
Kontextvariablen leer
- Verwende Anfrage testen, um zu überprüfen, ob Endpunkt antwortet
- Überprüfe, ob JSON-Struktur mit dem übereinstimmt, worauf du zugreifst
- Überprüfe, ob Dynamischer Kontext-Schalter EIN ist
- Verwende
| default("fallback")für fehlende Felder
Langsam oder Timeout
Langsam oder Timeout
- Datenbankindizes hinzufügen
- Caching implementieren
- Nur notwendige Felder zurückgeben
- Datenbankabfragen optimieren
- Netzwerklatenz zu deiner API prüfen
Falsche Daten zurückgegeben
Falsche Daten zurückgegeben
- Überprüfe Parameter im Anfrage testen-Modal
- Überprüfe, ob Template-Variablen korrekt aufgelöst werden:
{{ account.tier }} - Stelle sicher, dass Cache-Schlüssel Kundenkennung enthalten
- Teste mit bekanntem Kunden, um zu bestätigen, dass Daten übereinstimmen
Nächste Schritte
Begrüßung
Verwende Kontextvariablen, um die Begrüßung deines Agenten zu personalisieren
Anweisungen
Erfahre, wie du Kontextvariablen mit Jinja-Templating verwendest
Variablen & Dynamischer Inhalt
Templating-Syntax für dynamische Prompts meistern
Benutzerdefinierte API-Aktionen
Erstelle Aktionen, die während Gesprächen Kontextdaten verwenden