VoiceBot Exchange

Integriert einen virtuellen Self-Service-Virtual AgentGeschlossen Eine Softwareanwendung, die Kundeninteraktionen anstelle eines Live-Mitarbeiters abwickelt. mit Sprachskripten. Diese Aktion wird in einer Schleife im Skript verwendet. Ein Skript muss mindestens zwei VoiceBot Exchange -Aktionen enthalten. Ihr virtueller Agent muss diese Aktion unterstützen.

Die Voicebot Exchange -Aktion ist für komplexe virtuelle Agenten vorgesehen oder für Situationen, in denen das Verhalten des virtuellen Agenten von Runde zu Runde angepasst werden muss. Sie überwacht das Gespräch zwischen dem Kontakt und dem virtuellen Agenten Runde für Runde. Jede ÄußerungGeschlossen Was ein Kontakt sagt oder tippt. wird an den virtuellen Agenten gesendet. Der virtuelle Agent analysiert die Äußerung hinsichtlich AbsichtGeschlossen Die Bedeutung oder der Zweck hinter dem, was ein Kontakt sagt/tippt; was der Kontakt mitteilen oder erreichen möchte und Kontext und bestimmt die passende Antwort. Die Aktion gibt die Antwort des virtuellen Agenten an den Kontakt weiter. Wenn das Gespräch beendet ist, fährt die Aktion mit dem Skript fort.

Dies ist die bevorzugte Aktion zur Verwendung mit virtuellen Sprachagenten. Wenn Sie "barge in" oder "no input“ konfigurieren möchten, ist zusätzliches Scripting erforderlich. Wenn Sie eine SIPGeschlossen Protokoll zur Signalisierung und Steuerung von Multimedia-Kommunikationssitzungen wie Sprach- und Videoanrufen.-Rückkanalverbindung verwenden, müssen Sie die Voicebot Conversation-Aktion verwenden.

Wenn Sie auf diese Aktion doppelklicken, wird Hub für virtuelle Agenten geöffnet, wo Sie alle Ihre virtuellen Agenten verwalten können.

Dependencies

  • Ein Skript muss mindestens zwei VoiceBot Exchange -Aktionen enthalten, die in einer Schleife verbunden sind.
  • Damit Sie diese Aktion verwenden können, muss Ihr virtueller Agent die Anpassung von einzelnen Gesprächsrunden unterstützen.
  • Eine Gesprächsrunde wird folgendermaßen definiert:

    1. Die Kontaktäußerung, die an den virtuellen Agenten gesendet wird.
    2. Der virtuelle Agent verarbeitet die Äußerung und definiert alle benutzerdefinierten Nutzdaten.
    3. Die Antwort geht zurück an den Kontakt.
    4. Etwaige zusätzliche Aktionen, die in der Eigenschaft nextPromptBehaviors festgelegt sind (z. B. ein Datenbank- oder externer API-Aufruf). Sie können die Gesprächsschleife auch so konfigurieren, dass sie beendet wird, wenn die Interaktion abgeschlossen wurde oder wenn der Kontakt an einen Live-Agenten weitergeleitet wird.
  • Wenn Sie eine eigene Payload in virtuelle Agenten von Google Dialogflow ES oder Google Dialogflow CX aufnehmen, folgen Sie den Empfehlungen und Richtlinien für die eigene Payload.  Sie finden die Richtlinien für CX und ES auf dieser Seite.

Supported Script Types

The icon for the Phone script type - an old-style phone handset with curved lines indicating sound coming out of it.

Telefon

Comparison of Similar Actions

Die folgenden Aktionen haben ähnliche Funktionen, aber mit einigen wichtigen Unterschieden:

  • Textbot Conversation: This action is only suitable for very simple virtual agents. It doesn't allow for customization of the virtual agent's behavior from turn to turn. It's not currently supported in CXone.
  • Textbot Exchange: Diese action wird für komplexe Interaktionen mit virtuellen Agenten verwendet. Sie ermöglicht Ihnen, Exchange-Parameter einzubeziehen und verschiedene Aspekte des Gesprächs zwischen dem Kontakt und dem virtuellen Agenten anzupassen.
  • Voicebot Conversation: Diese action eignet sich nur für sehr einfache virtuelle Agenten. Das Verhalten des virtuellen Agenten von Runde zu Runde kann nicht angepasst werden. Wenn Sie eine SIP-Rückkanalverbindung verwenden möchten und diese von Ihrem virtuellen Agenten unterstützt wird, müssen Sie Voicebot Conversation verwenden.
  • Voicebot Exchange: Diese action wird für komplexe Interaktionen mit virtuellen Agenten verwendet. Sie ermöglicht Ihnen, Exchange-Parameter einzubeziehen und verschiedene Aspekte des Gesprächs zwischen dem Kontakt und dem virtuellen Agenten anzupassen.

Supported Virtual Agents

Diese Aktion unterstützt die folgenden virtuellen Agenten:

Bevor Sie dieser Aktion einen virtuellen Agenten zuweisen können, müssen Sie in Hub für virtuelle Agenten eine App für den virtuellen Agenten hinzufügen und konfigurieren. Sie benötigen nur eine App für jeden virtuellen Agenten, den Sie verwenden. Sie können dieselbe App mehreren Aktionen für virtuelle Agenten in Ihren Skripten zuweisen. Informationen zur Konfiguration finden Sie auf der Hilfeseite für Ihren Anbieter von virtuellen Agenten.

Input Properties

Diese Eigenschaften definieren Daten, die von der Aktion bei der Ausführung verwendet werden.

Eine oder mehrere Eigenschaften dieser Aktion erfordern eine Snippet-Aktion mit benutzerdefiniertem Code.

Eigenschaft

Beschreibung

Caption

Geben Sie eine kurze Phrase ein, mit der diese Aktion im Skript eindeutig identifiziert wird. Die Beschriftung wird im Skript-Arbeitsbereich unter dem Symbol der Aktion angezeigt. The default is the action name.

virtualAgentID Der Name des in Hub für virtuelle Agenten ausgewählten virtuellen Agenten. Wenn Sie eine virtuelle Agenten-App einer Studio-Aktion in Hub für virtuelle Agenten zuweisen, wird diese Eigenschaft automatisch ausgefüllt. Der Name ist der Name, der im Feld Virtual Agent (Bot) Name in der Hub für virtuelle Agenten -App verwendet wird.
customPayload

Konfigurieren Sie diese Eigenschaft nur, wenn Sie benutzerdefinierte Nutzlastdaten zum virtuellen Agenten weitergeben müssen. Das benutzerdefinierte Nutzlast-Objekt wird vom Studio-Skript ausgefüllt. Sie können es verwenden, um Informationen wie den Namen des Kontakts aus einem CRMGeschlossen Systeme von Drittanbietern, die z. B. Kontakte, Vertriebsinformationen, Supportdetails und Fallgeschichten verwalten. zu übergeben, die in einer Willkommensnachricht verwendet werden sollen.

Geben Sie den Namen des JSON-Objekts ein, das Daten vom Skript zum virtuellen Agenten weitergibt. Sie müssen das benutzerdefinierte Nutzlast-Objekt in einer Snippet-Aktion definieren. Das Objekt muss in das JSON-Format umgewandelt werden, entweder im Snippet oder in der customPayload-Eigenschaft.

Anforderungen für spezifische Anbieter virtueller Agenten:

Verwenden Sie diese Eigenschaft nicht, wenn Sie Daten verarbeiten müssen, die der virtuelle Agent an das Skript zurückgibt. Verwenden Sie stattdessen die Variable customPayloadVarName (out).

nextPromptSequence

Die vom virtuellen Agenten empfangene Antwort, die für den Kontakt wiedergegeben wird. Konfigurieren Sie diese Eigenschaft mit der Variablen, die in nextPromptSequenceVarName (out) mit der Funktion asJSON() angegeben ist. Sie können auch den Inhalt von nextPromptSequenceVarName (out) in einer Snippet-Aktion in das JSON-Format konvertieren und diese Eigenschaft mit der Variablen konfigurieren, die den JSON-Code enthält.

nextPromptBehaviors

Gibt die Konfiguration und das Verhalten der nächsten Eingabeaufforderung in einem Gespräch an. Definieren Sie die gewünschten Verhaltensweisen mit einer Snippetaction- und folgen Sie dem Snippet-Beispiel Standardverhalten der nächsten Aufforderung oder Verhalten der nächsten Aufforderung. In diesem Beispiel werden Eigenschaften beschrieben, mit denen Sie Komfortgeräusche, DTMF-Erfassung und das Sprechen des Kontakts während der Audiowiedergabe (Barge) konfigurieren können.

Konfigurieren Sie die Eigenschaft nextPromptBehavior mit dem Namen des Objekts, das Sie im Snippet-Code verwendet haben. Dadurch werden die Einstellungen an diese Eigenschaft und ihre Aktion weitergegeben. Wenn Sie das Snippet-Beispiel für "Verhalten der nächsten Aufforderung" verwenden, geben Sie für diese Eigenschaft {nextPromptBehaviorsOutjson} ein. Sie müssen diese Eigenschaft nur konfigurieren, wenn Sie mithilfe dieser Aktion einen virtuellen Agenten, der Text verarbeitet, zur Handhabung von Sprachinteraktionen einrichten.

botSessionState

Der Anbieter des virtuellen Agenten weist jedem Gespräch zwischen einem Kontakt und einem virtuellen Agenten eine eindeutige ID zu. Die Kennung verhindert, dass für das Gespräch jedes Mal eine neue Sitzung erstellt wird. Der Anbieter erstellt die ID beim Beginn des Gesprächs und übergibt sie mit der ersten Antwort an das Skript. Das Skript speichert die ID in der Variablen, die in der Eigenschaft botSessionStateVarName (out) dieser Aktion angegeben ist. Anschließend übergibt es die ID an die Eigenschaft botSessionState.

Diese Eigenschaft muss korrekt konfiguriert werden, damit Ihr virtueller Agent ordnungsgemäß funktioniert. Weitere Informationen zur Konfiguration finden Sie auf der Hilfeseite zum Snippet für den Bot-Sitzungsstatus.

automatedIntent

Geben Sie namentlich eine bestimmte Absicht ein, auf die der virtuelle Agent antworten soll, anstatt den virtuellen Agenten die gesammelten Benutzereingaben interpretieren zu lassen. Ein häufiger Anwendungsfall hierfür ist das Auslösen der ersten Willkommensnachricht vom virtuellen Agenten. Welcome ist der Standardstring für die erste Begrüßung.

Output Properties

Diese Eigenschaften enthalten Variablen mit Daten, die bei der Ausführung der Aktion zurückgegeben werden. Sie stehen zu Referenzzwecken und zur Verwendung nach Abschluss der Aktion zur Verfügung.

Eigenschaft

Beschreibung

nextPromptBehaviorsVarName (out)

Definiert das Verhalten, mit dem der Benutzer bei der nächsten Gesprächsrunde aufgefordert wird.

nextPromptSequenceVarName (out)

Enthält die Antwort vom virtuellen Agenten und übergibt sie an die Eigenschaft nextPromptSequence.

customPayloadVarName (out)

Gibt benutzerdefinierte JSON-Daten vom virtuellen Agenten an das Skript zurück. Verwenden Sie diese Variable, wenn das Skript Daten verarbeiten soll, die der virtuelle Agent bereitstellt. Kann Erfüllungsdaten enthalten.

Wenn Sie Daten an den virtuellen Agenten übergeben möchten, verwenden Sie die Eigenschaft customPayload.

errorDetailsVarName (out)

Veranlasst die Fehlerabsichtssequenz; kann zu einer Übertragung an einen Live-Agenten führen.

intentInfoVarName (out)

Eine Variable, die Details vom virtuellen Agenten enthält, die die aktuelle Benutzerabsicht anzeigen.

botSessionStateVarName (out)

Enthält die Variable, in der das Skript die ID für den Bot-Sitzungsstatus speichert, die vom Anbieter des virtuellen Agenten bereitgestellt wird. Der Inhalt der Variablen wird an die botSessionState-Eigenschaft übergeben.

Diese Eigenschaft muss korrekt konfiguriert werden, damit Ihr virtueller Agent ordnungsgemäß funktioniert. Weitere Informationen zur Konfiguration finden Sie auf der Hilfeseite zum Snippet für den Bot-Sitzungsstatus.

Result Branch Conditions

Mit Bedingungen für Ergebnisverzweigungen können Sie in Ihrem Skript Verzweigungen erstellen, die für unterschiedliche Ergebnisse bei der Ausführung einer Aktion vorgesehen sind.

Bedingung

Beschreibung

Default Genommener Pfad, außer das Skript erfüllt eine Bedingung, die es erfordert, einer der anderen Verzweigungen zu folgen. Dieser Pfad wird auch genommen, wenn die anderen Verzweigungen der Aktion nicht definiert sind.
OnPromptAndCollectNextResponse

Genommener Pfad, wenn der virtuelle Agent bestimmt hat, dass die Interaktion fortgesetzt werden soll und bereit für weitere menschliche Eingaben des Kontakts ist. Fordert zur nächsten Runde im Gespräch auf.

OnError Genommener Pfad, wenn ein unerwartetes Problem auftritt (wie z. B. schlechte Konnektivität, Syntaxfehler und so weiter). Die Variable _ERR muss mit einer zusammengefassten Erläuterung des Problems ausgefüllt werden.
OnReturnControlToScript Path taken if the virtual agent indicated that the conversation finished and gives control back to the Studio script to transfer or end the call. There may be fulfillment data to be processed in the customPayload result.
OnDTMFBreakout

Pfad, der genommen wurde, wenn eine DTMFGeschlossen Signaltöne, die erzeugt werden, wenn ein Benutzer eine Taste auf seiner Telefontastatur drückt oder antippt.-Regel im Skript erfüllt wurde.

OnUserInputTimeout

Pfad, der eingeschlagen wird, wenn es in der vom Aufforderungsverhalten-Snippet angegebenen Zeit keine Antwort vom Benutzer gibt (entweder das "Standard- oder das "Verhalten der nächsten Aufforderung"-Snippet).

Für Google Dialogflow können Sie das gewünschte Ereignis in der App Hub für virtuelle Agenten Dialogflow konfigurieren. Für Dialogflow ES konfigurieren Sie das Feld Timeout Event . Für Dialogflow CX konfigurieren Sie den Timeout Event Handler. Wenn kein Ereignis konfiguriert ist, wird standardmäßig der in der Konsole Dialogflow konfigurierte Standard-Fallback-Intent verwendet.

Wenn Sie möchten, können Sie diese Verzweigung so konfigurieren, dass er an verschiedenen Stellen in Ihrem Skript unterschiedliche Ereignisse verwendet.

OnUserInputNotUnderstood

Genommener Pfad, wenn der virtuelle Agent die Antwort des Kontakts nicht versteht oder wenn beim Kontakt eine Zeitüberschreitung auftritt.

Required SNIPPET Action Code

Eine oder mehrere Eigenschaften dieser Aktion erfordern eine Snippetaction- mit dem folgenden benutzerdefinierten Code:

Best Practices for Custom Payload with Google Dialogflow CX

When using this action with Google Dialogflow CX follow these best practices for integrating custom payloads:

  • Dialogflow CX verwendet keine Kontexte, um Daten an Dialogflow intentsGeschlossen Die Bedeutung oder der Zweck hinter dem, was ein Kontakt sagt/tippt; was der Kontakt mitteilen oder erreichen möchte zu übergeben, wie es DialogflowES tut.
  • Sie können benutzerdefinierte Daten unter Verwendung von JSON-Schlüssel-Wert-Paaren an Dialogflow CX übergeben. Erstellen Sie in einer Snippet action-Aktion in Ihrem Skript ein dynamisches customPayload-Objekt und fügen Sie ihm die Schlüssel-Wert-Paare hinzu. Beispielsweise:

    DYNAMIC customPayload
    customPayload.ani = ani
    customPayload.contactID = contactId
    customPayload.masterContactId = masterId
    customPayloadJSON = "{customPayload.asJSON()}"	
  • Konfigurieren Sie in der Exchange- oder Conversation-Aktion in Ihrem Skript die customPayload-Eigenschaft mit einer Variablen, die die asJSON()-Funktion in ihrem Wert enthält. Sie finden diese Variable im customPayload-Objekt.
  • Übergeben Sie customPayload-JSON mit der Payload-Eigenschaft von QueryParameters an den virtuellen Agenten. Lesen Sie die Google-Dokumentation zu Abfrageparametern Ein Kästchen mit einem Pfeil, der von der Mitte aus nach oben rechts weist. für Google Dialogflow CX.
  • Die über QueryParameters übergebenen Daten werden von einem Webhook in Dialogflow CX empfangen. Sie können Code in der Dialogflow CX-Konsole schreiben, um die übergebenen Daten zu verarbeiten.
  • Verschachteln Sie kein Objekt in dem customPayload-Objekt. Verschachtelte Objekte werden als buchstäbliche Zeichenfolgen gesendet.
  • Um eigene Daten von Ihrem virtuellen Dialogflow CX-Agenten an das Skript zurückzugeben, verwenden Sie das Feld Benutzerdefinierte Nutzdaten in der Dialogflow CX-Konsole. Stellen Sie sicher, dass Sie sich in der Konsole für den virtuellen Agenten befinden, den Sie mit CXone verwenden. Ordnen Sie dies Ihrem Skript zu, indem Sie die Variable customPayloadVarName (out) in der voice- oder chat-Studio-Aktion in Ihrem Skript verwenden. Damit können Sie zum Beispiel das Verhalten der nächsten Eingabeaufforderung festlegen.
  • Parameter, die mithilfe von customPayload festgelegt werden, können nur im externen Webhook verwendet werden. Wenn Sie Parameter festlegen möchten, die außerhalb des externen Webhook verwendet werden sollen, legen Sie sie in einer Snippet-Aktion mit dem session_params-Feld fest. Beispielsweise:

    {
    	"session_params":
    	{ 
    		"name": "Winnie Le Pooh"
    		"job": "Food critic"
    		"location": "Hundred Acre Wood"
    	}
    }

    Greifen Sie mit der folgenden Syntax auf die Sitzungsparameter in der Absicht des Dialogflow CX-Agenten zu:

    $session.params.name = Winnie Le Pooh

    $session.params.job = Food critic

    $session.params.location = 100 Acre Wood

    Sitzungsparameter werden nur mit virtuellen Dialogflow CX-Agenten verwendet. Verwenden Sie Kontexte, um ein ähnliches Ergebnis mit Dialogflow ES zu erzielen.

  • Hinweise zum Sprachkontext können mit der eigenen Payload im Parameter speechContexts weitergegeben werden. Der Wert von speechContexts.phrases muss ein Google Klassen-Token Ein Kästchen mit einem Pfeil, der von der Mitte aus nach oben rechts weist. für den Hinweis sein, den Sie geben möchten. Das Token muss der Sprache und dem Gebietsschema Ihrer Kontakte entsprechen. Beispielsweise:

    DYNAMIC customPayload
    customPayload.speechContexts.phrases="$OOV_CLASS_ALPHANUMERIC_SEQUENCE"
    customPayload.speechContexts.boost=10		
  • Um festzulegen, wie lange der virtuelle Agent wartet, wenn der Kontakt beim Sprechen eine Pause macht, fügen Sie der Next Prompt Behaviors- oder Default Next Prompt Behaviors Snippet-Aktion den maxPostEnergySilenceMS Parameter hinzu.

Best Practices for Custom Payload with Google Dialogflow ES

When using this action with Google Dialogflow ES, follow these best practices for integrating custom payloads:

  • CustomPayload wird verwendet, um den Kontext für eine AbsichtGeschlossen Die Bedeutung oder der Zweck hinter dem, was ein Kontakt sagt/tippt; was der Kontakt mitteilen oder erreichen möchte zu übergeben. Der Kontext hilft dem virtuellen Agenten, die Absicht des Benutzers zu verstehen. Kontexte sind nicht erforderlich, aber sie helfen dem virtuellen Agenten, eine ÄußerungGeschlossen Was ein Kontakt sagt oder tippt. einer Absicht zuzuordnen.
  • Erstellen Sie in einer Snippet -Aktion in Ihrem Skript ein customPayload-Objekt mit dem Format gemäß Google Dialogflow ES-Dokumentation Symbol, das angibt, dass der Link zu einer externen Website geht für die REST-Ressource: projects.agent.sessions.context. Die Onlinehilfe für Studio enthält weitere Informationen über dynamische Datenobjekte.
  • Sie können auch benutzerdefinierte Daten mit customPayload ohne Kontexte übergeben. Fügen Sie dazu standardmäßige JSON-Schlüssel-Wert-Paare in ein dynamisches Objekt ein.
  • Sprachkontexte werden in eigener Payload zum speech_contact-Parameter hinzugefügt. Sie können die Inhalte dieses Parameters in Studio-Traces und Anwendungsprotokollen sehen.
  • Das dynamische customPayload-Objekt wird als Parameter für den virtuellen Agenten in Form von JSON übergeben, wie im Beispielskript gezeigt.
  • Hinweise zum Sprachkontext können mit der eigenen Payload im Parameter speechContexts weitergegeben werden. Der Wert von speechContexts.phrases muss ein Google Klassen-Token Ein Kästchen mit einem Pfeil, der von der Mitte aus nach oben rechts weist. für den Hinweis sein, den Sie geben möchten. Das Token muss der Sprache und dem Gebietsschema Ihrer Kontakte entsprechen. Beispielsweise:

    DYNAMIC customPayload
    customPayload.speechContexts.phrases="$OOV_CLASS_ALPHANUMERIC_SEQUENCE"
    customPayload.speechContexts.boost=10		

Tips and Tricks

Wenn kein Sprachaudio zwischen Hub für virtuelle Agenten und dem virtuellen Agenten zu hören ist, überprüfen Sie im Skript-Trace, ob ein Transkript vorhanden ist. Ist dies der Fall, muss der virtuelle Agent von Google Dialogflow angepasst werden.

Script Example

Bei diesem Beispiel handelt es sich nicht um ein vollständiges Skript. Zur Verwendung dieser Aktion muss das Skript vervollständigt werden.

VoiceBot Exchange actions must be used in a loop. This means that you must use at least two in a script. The first action initiates the call to the virtual agent's API and must be preceded by the Default Next Prompt Behavior Snippet action. The first action is the Welcome Default, which begins the first scripted loop, or one conversational 'turn'.

An example of a script that uses the VoicebotExchange action.

Download this script.

Example Script for CustomPayload with Google Dialogflow ES

Bei diesem Beispiel handelt es sich nicht um ein vollständiges Skript. Zur Verwendung dieser Aktion muss das Skript vervollständigt werden.

Dieses Skript ist ein Beispiel für die Integration eigener Payloads in virtuelle Agenten von Google Dialogflow ES. Dieses Skript verwendet die Voicebot Exchange-Aktion, funktioniert aber auch bei Verwendung von TEXTBOT EXCHaNGE.

Ein Beispielskript, das den Umgang mit benutzerdefinierten Nutzdaten mit Google Dialogflow CX veranschaulicht.

Laden Sie dieses Skript herunter.

Example Script for Alternate Timeout Events

Bei diesem Beispiel handelt es sich nicht um ein vollständiges Skript. Zur Verwendung dieser Aktion muss das Skript vervollständigt werden.

Sie können verschiedene Timeout-Ereignisse an verschiedenen Stellen in Ihrem Skript verwenden. Beispielsweise können Sie beim ersten und beim zweiten Auslösen der UserInputTimeout -Eigenschaft unterschiedliche Zeitüberschreitungsereignisse verwenden. Dieses Beispielskript zeigt einen möglichen Weg, dies zu erreichen.

In diesem Skript werden Snippet -Aktionen zum Erstellen und Erhöhen eines Zeitüberschreitungszählers verwendet. Nach der zweiten Zeitüberschreitung wird eine Snippet -Aktion verwendet, um ein anderes Zeitüberschreitungsereignis zu setzen. Das alternative Zeitüberschreitungsereignis wird über die automatedIntent -Eigenschaft von der Snippet -Aktion an die Voicebot-Aktion übergeben.

Laden Sie dieses Skript herunter.