Wie Dynamic Context funktioniert
Profi Dynamic Context lässt dich Kundendaten aus deinen externen APIs einmalig vor jedem Gesprächsstart abrufen. Statt nur auf Kontaktdatensätze zu setzen, können deine Agenten auf Account-Status, Bestellhistorie, Support-Tickets und Geschäftskontext aus deinem Customer-Relationship-Management-(CRM)-System, aus Datenbanken und aus externen Systemen zugreifen. Du kannst außerdem Benutzerdefinierte Aktionen verwenden, um Daten während des Gesprächs abzurufen.Die Plattform ruft die Context-API einmal auf, bevor das Gespräch beginnt. Die Daten stehen für die Begrüßung und während des gesamten Gesprächs zur Verfügung. Sie werden während des Gesprächs nicht aktualisiert. Das harte Request-Timeout beträgt 30 Sekunden, aber du solltest den Endpunkt so auslegen, dass er in unter 1 Sekunde antwortet.
- HTTPS-Endpunkt
- Gültiges JSON-Objekt oder ein Array von Objekten, das zusammengeführt werden kann
- Kleine Antwort-Payload mit nur den Daten, die das Gespräch braucht
- Schnelle Antwortzeit; Ziel: unter 1 Sekunde
- Authentifizierung via Bearer Token, Basic Auth, Custom Header oder keine Authentifizierung
So funktioniert es
Request-Flow:Context-API aufgerufen
BEVOR das Gespräch beginnt: Das System sendet eine POST-Anfrage an deinen Endpunkt
Begrüßung gerendert
Die Plattform rendert die Begrüßung (unter Verwendung von Kontextvariablen, falls referenziert)
Inbound calls
direction: "inbound" mit der contact_number des Anrufers. Suche Kundendaten in deinem CRM.Outbound calls
direction: "outbound" mit der contact_number, die du anrufst. Hole Kampagnenkontext ab.Web widget
medium: "web" mit optionaler external_id. Identifiziere Nutzer in deinem System über das web widget.Konfiguration
Zu Dynamic Context navigieren
- Öffne deinen Agenten im Editor
- Klicke auf Anrufablauf
- Öffne unter Vor dem Anruf Dynamic Context
Endpunkt konfigurieren
Dieser Schritt wird normalerweise von einer technischen Teamkollegin oder einem technischen Teamkollegen erledigt.Endpoint-URL:
https://api.company.com/contextAuthentifizierung: Wähle Bearer Token, Basic Auth, Custom Header oder KeineDie Anfrage enthält: agent_uuid, direction, agent_number, contact_number (und external_id für Web-Widget)Testen
Speichere die Dynamic-Context-Einstellungen und nutze dann Test, um zu prüfen, ob der gespeicherte Endpunkt und die Authentifizierung korrekt antworten.
Request- und Response-Format
Request-Payload (POST-Request)
agent_uuid(string, immer enthalten) - Die UUID des Agents, 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 nutzt
contact_number oder external_id, um den Kunden in deinem CRM/Datenbank nachzuschlagen, und gibt dann relevante Account-Daten, Bestellhistorie, Tickets usw. zurück. agent_uuid kann verwendet werden, um Antworten bei Bedarf agentenspezifisch anzupassen.Was du zurückgibst (JSON-Response)
- Gültiges JSON-Objekt oder ein Array von Objekten, das zusammengeführt werden kann
- Halte die Antwort klein und fokussiere auf Felder, die der Agent braucht
- Gib nur notwendige Felder zurück (das hält die Antwort schnell)
- Gehe mit fehlenden Daten sauber um (gib
nullzurück oder lasse Felder weg)
Wie Variablen abgerufen werden: Alle Top-Level-Keys in deiner JSON-Response werden zu Template-Variablen. Wenn du
{"account": {"tier": "VIP"}} zurückgibst, rufst du es als {{ account.tier }} ab, nicht als {{ context.account.tier }}.Kontextvariablen verwenden
Alle von deiner API zurückgegebenen Daten stehen direkt als Top-Level-Variablen in der Begrüßung und im Prompt deines Agents zur Verfügung. Felder abrufen:Authentifizierung
Bearer Token (Empfohlen)
Benutzerdefinierter Header
Basic Auth
Keine Authentifizierung
Keine Authentifizierung (nur für interne/private Netzwerke).Beispiel-Anwendungsfall
Kundensupport mit vollständigem Kontext Szenario: Ein Support-Agent braucht eine vollständige Kundenansicht, bevor das Gespräch beginnt. Deine API gibt zurück:Best Practices
Antworten schnell halten
Antworten schnell halten
- Ziel: Antwortzeit unter 1 Sekunde
- Häufig abgerufene Daten cachen (TTL 5–10 Minuten)
- Nur Felder zurückgeben, die im Prompt verwendet werden
- Datenbankindizes auf Lookup-Felder setzen (contact_number, external_id oder interne Kunden-IDs)
Fehlende Daten sauber behandeln
Fehlende Daten sauber behandeln
| default("value")-Filter im Prompt verwendennullfür fehlende Felder zurückgeben (keinen Fehler werfen)- Mit Kontakten testen, die nur minimale Daten haben
Sensible Daten schützen
Sensible Daten schützen
- Keine Sozialversicherungsnummern, Kreditkarten oder Passwörter zurückgeben
- Nur HTTPS verwenden
- Authentifizierung implementieren (Bearer Token empfohlen)
- Nur notwendige Felder zurückgeben (z. B. letzte 4 Stellen der Kontonummer, nicht die vollständige)
- Zugriff für Audit-Trails protokollieren
Vor dem Produktivbetrieb testen
Vor dem Produktivbetrieb testen
- Test mit echten Kundendaten verwenden
- Edge Cases testen (neuer Kunde, VIP, gesperrtes Konto)
- Prüfen, ob dein Prompt fehlende Felder sauber behandelt
- Mit kleinem Traffic-Anteil pilotieren, bevor du vollständig ausrollst
Fehlerbehebung
401 Unauthorized
401 Unauthorized
Kontextvariablen leer
Kontextvariablen leer
- Test verwenden, um zu prüfen, ob der Endpunkt antwortet
- JSON-Struktur gegen die abgerufenen Felder prüfen
- Sicherstellen, dass der Dynamic-Context-Toggle eingeschaltet ist
| default("fallback")für fehlende Felder verwenden
Langsam oder Timeout
Langsam oder Timeout
- Datenbankindizes hinzufügen
- Caching implementieren
- Nur notwendige Felder zurückgeben
- Datenbankabfragen optimieren
- Netzwerklatenz zur API prüfen
Falsche Daten zurückgegeben
Falsche Daten zurückgegeben
- Parameter in Test prüfen
- Sicherstellen, dass Template-Variablen korrekt aufgelöst werden:
{{ account.tier }} - Prüfen, ob Cache-Keys die Kundenkennung enthalten
- Mit bekanntem Kunden testen, um zu bestätigen, dass die Daten übereinstimmen
Nächste Schritte
Begrüßungen
Kontextvariablen verwenden, um die Begrüßung des Agenten zu personalisieren
Prompt
Kontextvariablen im Prompt mit Jinja-Templating verwenden
Template-Syntax
Template-Syntax für dynamische Prompts meistern
Benutzerdefinierte Aktion
Tools erstellen, die Kontextdaten während des Gesprächs verwenden