Zum Inhalt

Anruferkontext abfragen

Mit Pre Processing kann dein Agent vor dem Gespräch nachsehen, wer anruft und ob bereits ein Anliegen vorliegt. Die Abfrage kann zum Beispiel anhand der Rufnummer einen Kundennamen aus deinem CRM abrufen. Brauchst du zuerst Angaben aus dem Gespräch, verwende ein API-Tool.

Abfrage konfigurieren

Öffne Pre Processing und wähle oder erstelle das passende Profil. Aktiviere die Abfrage und konfiguriere:

Einstellung Zweck
Ziel-URL Externer Abfrage-Endpunkt
Timeout Maximale Wartezeit der Anfrage
Authentifizierung Unterstützte gespeicherte Zugangsdaten oder OAuth-Konfiguration
Query-Parameter und Header Anfragewerte einschließlich verfügbarer Variablen
Antwortverarbeitung Gesamte Antwort, JSON-Felder oder JEXL-Skript

Die Abfrage sendet eine HTTP-GET-Anfrage. Es gibt keinen Request-Body. Für die Nummernsuche kann der Query-Parameter phone den Wert {caller_phone_number} nutzen. Verwende nur angebotene Variablen und berücksichtige eine fehlende Anrufernummer.

Benötigte Felder auswählen

Reduziere eine große Antwort auf wenige Felder, beispielsweise:

Antwortpfad Gespeicherter Schlüssel
$.customer.name name
$.customer.tier tier
$.ticket.status ticket_status

Mit Antwort-Mapping und JEXL-Skripten wählst du die Felder aus, die dein Agent benötigt.

Ergebnis im Prompt nutzen

Anruferabfrage:
{pre_call_context}

Nutze relevanten Kontext, um bekannte Angaben nicht doppelt zu erfragen.
Bestätige wichtige Angaben mit dem Anrufer. Fehlt brauchbarer Kontext,
fahre mit den Standardfragen fort. Gib keine fremden Kontodaten preis.

Füge {pre_call_context} an der gewünschten Stelle im Systemprompt ein. Soll der Agent den Anrufer bereits mit Namen begrüßen, richte zusätzlich eine personalisierte Begrüßung ein.

Einzelne Felder mit Punktnotation verwenden

Du kannst einzelne Werte aus dem gespeicherten Abfrageergebnis einsetzen. Ein Punkt führt zur nächsten Ebene eines Objekts. Mit [0] wählst du den ersten Eintrag einer Liste, mit [1] den zweiten.

Angenommen, das verarbeitete Ergebnis enthält:

{
  "customer": {"id": "K-1042", "name": "Alex"},
  "orders": [{"id": "B-204", "status": "open"}],
  "vip": true
}
Platzhalter Eingesetzter Wert
{pre_call_context.customer.name} Alex
{pre_call_context.customer.id} K-1042
{pre_call_context.orders[0].status} open
{pre_call_context.vip} true
{pre_call_context} Das gesamte Abfrageergebnis

Du kannst diese Feldzugriffe im Agent-Prompt, im Zusammenfassungs-Prompt und in der personalisierten Begrüßung verwenden.

Entscheidend ist die Struktur nach der Antwortverarbeitung. Wenn du $.customer.name beim Mapping unter name speicherst, verwendest du anschließend {pre_call_context.name}. Der ursprüngliche Pfad customer.name ist dann nicht mehr vorhanden. Verwende für eigene Ausgabenamen einfache Bezeichnungen wie customer_name ohne Leerzeichen oder Bindestriche.

Ein Feldpfad muss auf einen Text, eine Zahl oder einen Wahrheitswert zeigen. Fehlende Felder, null, ganze Objekte und ganze Listen ergeben bei einem Feldzugriff eine leere Stelle. Im Prompt legst du fest, wie der Agent damit umgeht. In der personalisierten Begrüßung führt ein fehlender Wert zur Standardbegrüßung.

Vor der Zuweisung testen

Nutze Test senden mit Testwerten. Prüfe Anfrage, Rohantwort, verarbeiteten Kontext und gegebenenfalls die Begrüßungsvorschau. Der Test sendet eine echte Abfrage. Nutze für reine Änderungen an der Antwortverarbeitung die Transformationsvorschau.

Teste bekannte und unbekannte Anrufer, fehlende Felder und Timeout. Speichere die vorgesehene Profilzuweisung und prüfe einen neuen eingehenden Anruf. Das Gespräch muss auch ohne Abfrageergebnis funktionieren.