VoiceBot Exchange

Integreert een virtuele agentGesloten Een softwareapplicatie die klantinteracties afhandelt in plaats van een live (menselijke) agent. voor selfservice met spraakscripts. Deze actie wordt gebruikt in een loop in het script. Een script moet minimaal twee VoiceBot Exchange -acties bevatten. Uw virtuele agent moet deze actie ondersteunen.

De Voicebot Exchange -actie is bedoeld voor complexe virtuele agents of voor situaties waarin u het gedrag van de virtuele agent van beurt tot beurt wilt aanpassen. Deze monitort de conversatie tussen het contact en de virtuele agent van beurt tot beurt. Dit stuurt elke uitingGesloten Iets wat een contact zegt of typt. naar de virtuele agent. De virtuele agent analyseert de intentieGesloten De betekenis of de bedoeling van wat een klant zegt of typt; datgene wat de klant wil communiceren of bereiken. en context van de uiting en bepaalt welk antwoord er moet worden gegeven. De actie geeft vervolgens de reactie van de virtuele agent door aan het contact. Wanneer de conversatie is voltooid, gaat de actie verder met het script.

Dit heeft de voorkeur voor gebruik met virtuele agents voor spraak. Als u Spraakonderbreking of Geen invoer wilt configureren, moet u aanvullende scriptacties maken. Als u een SIPGesloten Een protocol voor het signaleren en besturen van multimedia-communicatiesessies zoals telefoon- en videogesprekken. backchannel-verbinding wilt gebruiken, moet u de Voicebot Conversation-actie gebruiken.

Door op deze actie te dubbelklikken, opent u Virtual Agent Hub, waarmee u al uw virtuele agents kunt beheren.

Dependencies

  • Een script moet minstens twee VoiceBot Exchange -acties bevatten die verbonden zijn in een loop.
  • Om deze actie te gebruiken, moet uw virtuele agent aanpassing van conversaties beurt-voor-beurt ondersteunen.
  • Een conversatiebeurt wordt gedefinieerd als:

    1. De uiting van het contact wordt naar de virtuele agent gestuurd.
    2. De virtuele agent verwerkt de uiting en stelt eventuele aangepaste payload-informatie in.
    3. Het antwoord wordt naar het contact gestuurd.
    4. Eventuele aanvullende acties die moeten worden uitgevoerd (zoals een database of een externe API-oproep), zoals is bepaald in de eigenschap nextPromptBehaviors. U kunt ook bepalen of de conversatielus moet worden afgesloten na voltooiing van de interactie of nadat het contact is doorgeschakeld naar een live agent.
  • Als u een aangepaste payload opneemt met Google Dialogflow ES of Google Dialogflow CX virtuele agents, volgt u de beste praktijken en richtlijnen voor de aangepaste payload.  De richtlijnen voor CX en ES worden geleverd op deze pagina.

Supported Script Types

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

Telefoon

Comparison of Similar Actions

De volgende acties hebben vergelijkbare functies, maar met enkele belangrijke verschillen:

  • 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: deze action wordt gebruikt voor complexe virtuele agentinteracties. Met die actie kunt u parameters uitwisselen en verschillende aspecten van de conversatie tussen het contact en de virtuele agent aanpassen..
  • Voicebot Conversation: deze action is alleen geschikt voor zeer eenvoudige virtuele agents. Met die actie kan het gedrag van de virtuele agent van beurt tot beurt worden aangepast. Als u een SIP backchannel-verbinding wilt gebruiken en uw virtuele agents deze ondersteunen, moet u Voicebot Conversation gebruiken.
  • Voicebot Exchange: deze action wordt gebruikt voor complexe virtuele agentinteracties. Met die actie kunt u parameters uitwisselen en verschillende aspecten van de conversatie tussen het contact en de virtuele agent aanpassen..

Supported Virtual Agents

Deze actie ondersteunt de volgende virtuele agents:

Voordat u een virtuele agent aan deze actie kunt toewijzen, moet u een app toevoegen en configureren voor de virtuele agent in Virtual Agent Hub. U hebt slechts één app nodig voor elke virtuele agent die u gebruikt. U kunt dezelfde app toewijzen aan meerdere acties van de virtuele agent in uw script. Raadpleeg de helppagina voor de provider van de virtuele agent voor meer informatie over de configuratie.

Input Properties

Deze eigenschappen definiëren gegevens die de actie gebruikt bij het uitvoeren.

Voor een of meer van de eigenschappen van deze actie is een Snippet-actie met aangepaste code.

Vertakking

Beschrijving

Caption

Voer een korte woordgroep in die deze actie in het script uniek identificeert. Het bijschrift verschijnt op het scriptcanvas onder het actiepictogram. The default is the action name.

virtualAgentID De naam van de virtuele agent die is geselecteerd in de Virtual Agent Hub. Wanneer u een virtuele agent-app toewijst aan een Studio-actie in Virtual Agent Hub, vult deze automatisch deze eigenschap. De naam is de naam die wordt gebruikt in het veld Virtual Agent (Bot) Name in de app Virtual Agent Hub.
customPayload

Configureer deze eigenschap alleen wanneer u aangepaste payloaddata aan de virtuele agent moet doorgeven. Het aangepaste payloadobject wordt gevuld via het Studio-script. U kunt dit gebruiken om informatie door te geven, zoals de naam van het contact in een CRM-systeemGesloten Klantrelatiebeheer: externe systemen voor het beheren van contacten, verkoopkansen, supportdetails en cases., zodat die kan worden gebruikt in het welkomstbericht.

Voer de naam van het JSON-object in dat data van het script doorgeeft aan de virtuele agent. U moet het aangepaste payloadobject definiëren in een Snippet-actie. Het object moet worden geconverteerd naar JSON, ofwel in het fragment ofwel in de customPayload-eigenschap.

Vereisten voor specifieke virtuele agent-providers:

Gebruik deze eigenschap niet als u gegevens wilt verwerken die de virtuele agent retourneert naar het script. Gebruik in plaats daarvan de variabele customPayloadVarName (out).

nextPromptSequence

De respons ontvangen van de virtuele agent die voor het contact wordt afgespeeld. Configureer deze eigenschap met de variabele die is opgegeven in nextPromptSequenceVarName (out) met de functie asJSON(). U kunt ook de inhoud van nextPromptSequenceVarName (out) converteren naar JSON in een Snippet-actie en deze eigenschap configureren met de variabele die de JSON bevat.

nextPromptBehaviors

Bepaalt de configuratie en het gedrag van de volgende prompt in een conversatie. Definieer de gedragingen die u wilt zien met een Snippet action en volg het voorbeeld van het fragment Standaardgedragingen volgende prompt of Volgende promptgedragingen. Dit voorbeeld beschrijft eigenschappen die u kunt gebruiken om comfortgeluid, DTMF-detectie en spraakonderbreking (barge-in) te configureren.

Configureer de nextPromptBehavior-eigenschap met de naam van het object dat u in de fragmentcode hebt gebruikt. Deze geeft de instellingen door aan deze eigenschap en de bijbehorende actie. Door bijvoorbeeld het voorbeeld van het fragment Volgende promptgedragingen te gebruiken, zou u {nextPromptBehaviorsOutjson} invoeren voor deze eigenschap. U hoeft deze eigenschap alleen te configureren als u deze actie gebruikt om een tekstgebaseerde virtuele agent in te schakelen voor het behandelen van spraakinteracties.

botSessionState

De virtuele agentprovider wijst een unieke id toe aan elke conversatie tussen een contact en een virtuele agent. Deze identificatiecode voorkomt dat er voor elke beurt in de conversatie een nieuwe sessie wordt aangemaakt. De provider maakt de identificatie aan wanneer de conversatie begint en geeft deze door aan het script met het eerste antwoord. Het script slaat de id op in de variabele die is vermeld in de botSessionStateVarName (out)-eigenschap van deze actie. De id wordt vervolgens doorgegeven aan de eigenschap botSessionState.

Deze eigenschap moet correct zijn geconfigureerd voor een correcte werking van uw virtuele agent. Meer informatie over het configureren ervan is beschikbaar op de helppagina van het fragment Botsessiestatus.

automatedIntent

Voer de naam van een specifieke intentie in waarop de virtuele agent moet reageren, in plaats van dat de virtuele agent verzamelde gebruikersinvoer interpreteert. Een veelgebruikte toepassing hiervoor is het uitlokken van het eerste welkomstbericht van de virtuele agent. Welcome is de standaard string voor eerste begroetingen.

Output Properties

Deze eigenschappen bevatten variabelen die gegevens bevatten die worden geretourneerd na het uitvoeren van de actie. Ze zijn beschikbaar voor referentie en gebruik wanneer de actie wordt voltooid.

Vertakking

Beschrijving

nextPromptBehaviorsVarName (out)

Bepaalt het gedrag voor de prompt voor de gebruiker bij de volgende beurt in de conversatie.

nextPromptSequenceVarName (out)

Bevat de respons van de virtuele agent en geeft deze door aan de eigenschap nextPromptSequence.

customPayloadVarName (out)

Retourneert aangepaste JSON-gegevens van de virtuele agentbot naar het script. Gebruik deze variabele als het script gegevens moet verwerken die door de virtuele agent worden verstrekt. Kan fulfillment-data bevatten.

Als u gegevens aan de virtuele agent wilt doorgeven, gebruikt u de eigenschap customPayload.

errorDetailsVarName (out)

Triggert de intentiefout-vertakking; kan leiden tot doorschakeling naar een actieve agent.

intentInfoVarName (out)

Een variabele met details van de virtuele agent die de intentie van de huidige gebruiker aangeeft.

botSessionStateVarName (out)

Bevat de variabele waar het script de status-id van de botsessie die is verzonden door de provider van de virtuele agent, opslaat. De inhoud van de variabele wordt doorgegeven aan de eigenschap botSessionState.

Deze eigenschap moet correct zijn geconfigureerd voor een correcte werking van uw virtuele agent. Meer informatie over het configureren ervan is beschikbaar op de helppagina van het fragment Botsessiestatus.

Result Branch Conditions

Met Resultaatvertakkingsvoorwaarden kunt u vertakkingen maken in uw script om verschillende resultaten te behandelen wanneer de actie wordt uitgevoerd.

Voorwaarde

Beschrijving

Default Het pad dat altijd wordt gevolgd, behalve als het script voldoet aan een voorwaarde die vereist dat het een van de andere vertakkingen volgt. Dit pad wordt ook gevolgd als de andere vertakkingen van de actie niet zijn gedefinieerd.
OnPromptAndCollectNextResponse

Het pad dat wordt gevolgd als de virtuele agent heeft bepaald dat de interactie moet doorgaan en gereed is voor meer menselijke invoer van het contact. Vraagt om de volgende beurt in de conversatie.

OnError Het pad dat wordt gevolgd als er een onverwacht probleem is (bijvoorbeeld slechte verbinding of syntaxfouten). De _ERR-variabele moet een beknopte beschrijving van het probleem bevatten.
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

Het pad dat wordt gevolgd als is voldaan een DTMFGesloten Toetstonen die worden gegenereerd wanneer iemand op een toets van de telefoon drukt of tikt.-regel in het script.

OnUserInputTimeout

Het pad dat wordt gevolgd als de gebruiker niet reageert binnen de tijd die is ingesteld in de snippet Volgende promptgedrag (de snippet Standaard of Volgende promptgedrag).

Voor Google Dialogflow kunt u de gebeurtenis configureren die moet plaatsvinden in de Virtual Agent Hub Dialogflow-app. Voor Dialogflow ES configureert u het veld Timeout Event . Voor Dialogflow CX configureert u de Timeout Event Handler. Als er geen gebeurtenis is geconfigureerd, is de standaardinstelling om de Default Fallback Intent te gebruiken die is geconfigureerd in de Dialogflow-console.

Als u wilt, kunt u deze vertakking configureren om verschillende gebeurtenissen te gebruiken op verschillende punten in het script.

OnUserInputNotUnderstood

Het pad dat wordt gevolgd als de virtuele agent het antwoord van het contact niet begrijpt of als het contact een timeout krijgt.

Required SNIPPET Action Code

Voor een of meer van de eigenschappen van deze actie is een Snippet action met de volgende aangepaste 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 gebruikt geen contexten om gegevens door te geven aan Dialogflow-intentiesGesloten De betekenis of de bedoeling van wat een klant zegt of typt; datgene wat de klant wil communiceren of bereiken., in tegenstelling tot Dialogflow ES.
  • U kunt aangepaste gegevens aan Dialogflow CX doorgeven met behulp van JSON sleutel/waarde-paren. Maak een dynamisch customPayload-object in een Snippet-actionactie in uw script en voeg daar de sleutel/waardeparen aan toe. Voorbeeld:

    DYNAMIC customPayload
    customPayload.ani = ani
    customPayload.contactID = contactId
    customPayload.masterContactId = masterId
    customPayloadJSON = "{customPayload.asJSON()}"	
  • In de Exchange- of Conversation-actie in uw script configureert u de customPayload-eigenschap met een variabele waarvan de waarde de asJSON()-functie bevat. U vindt deze waarde in het customPayload-object.
  • Geef de customPayload-JSON door aan de virtuele agent via de Payload-eigenschap van QueryParameters. Zie de Google-documentatie over QueryParameters Een vierkant met een pijl die uit het midden naar de rechterbovenhoek wijst. voor Google Dialogflow CX.
  • Gegevens die via QueryParameters worden doorgegeven, worden ontvangen door een Webhook in Dialogflow CX. U kunt in de Dialogflow CX-console code schrijven om de doorgegeven gegevens te verwerken.
  • Nest geen objecten binnen het customPayload-object. Geneste objecten worden verzonden als letterlijke strings.
  • Om aangepaste gegevens van uw virtuele Dialogflow CX-agent te retourneren naar het script, gebruikt u het veld Aangepaste payload in de Dialogflow CX-console. Zorg dat u zich bevindt in de console voor de virtuele agent die u gebruikt met CXone. Wijs dit toe aan uw script met behulp van de variabele customPayloadVarName (out) in de spraak- of chat-actie Studio in uw script. U kunt dit bijvoorbeeld gebruiken om het gedrag van de volgende prompt in te stellen.
  • Parameters die zijn ingesteld met customPayload, kunnen alleen worden gebruikt in de externe webhook. Als u parameters wilt instellen om te gebruiken buiten de externe webhook om, stelt u deze in een Snippet-actie in met het veld session_params. Voorbeeld:

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

    U krijgt toegang tot de sessieparameters in de Dialogflow CX-agentintentie met behulp van de volgende syntax:

    $session.params.name = Winnie Le Pooh

    $session.params.job = Food critic

    $session.params.location = 100 Acre Wood

    Sessieparameters worden alleen gebruikt met virtuele Dialogflow CX-agents. U gebruikt contexten om een vergelijkbaar resultaat te bereiken met Dialogflow ES.

  • Spraakcontexthints kunnen doorgegeven worden met aangepaste payload in de parameter speechContexts. De waarde van speechContexts.phrases moet een Google-klassetoken Een vierkant met een pijl die uit het midden naar de rechterbovenhoek wijst. zijn voor de hint die u wilt geven. Het token moet overeenkomen met de taal en de landinstellingen van uw contacten. Voorbeeld:

    DYNAMIC customPayload
    customPayload.speechContexts.phrases="$OOV_CLASS_ALPHANUMERIC_SEQUENCE"
    customPayload.speechContexts.boost=10		
  • Voeg de parameter maxPostEnergySilenceMS toe aan de Snippet-actie Next Prompt Behaviors of Default Next Prompt Behaviors om te bepalen hoelang de virtuele agent moet wachten wanneer het contact stil is tijdens het gesprek.

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 wordt gebruikt om context door te geven voor een intentieGesloten De betekenis of de bedoeling van wat een klant zegt of typt; datgene wat de klant wil communiceren of bereiken.. De context helpt de virtuele agent om de intentie van de gebruiker te begrijpen. Contextgegevens zijn niet vereist, maar ze helpen de virtuele agent om een uitingGesloten Iets wat een contact zegt of typt. te koppelen aan een intentie.
  • Maak in een Snippet -actie in uw script een customPayload-object volgens de indeling die is beschreven in de Google Dialogflow ES-documentatie Pictogram dat een link naar een externe website aanduidt voor REST Resource: projects.agent.sessions.context. De online help voor Studio biedt extra informatie over dynamische gegevensobjecten.
  • U kunt ook aangepaste gegevens zonder contextgegevens doorgeven met customPayload. Voeg hiervoor standaard JSON sleutel/waarde-paren toe aan een dynamisch gegevensobject.
  • Spraakcontexten worden als aangepaste payload doorgegeven in de parameter speech_contact. U kunt de inhoud van deze parameter terugzien in Studio-traces en applicatielogs.
  • Het dynamische customPayload-object wordt als virtual-agentparameter doorgegeven met JSON-indeling, zoals in het voorbeeldscript.
  • Spraakcontexthints kunnen doorgegeven worden met aangepaste payload in de parameter speechContexts. De waarde van speechContexts.phrases moet een Google-klassetoken Een vierkant met een pijl die uit het midden naar de rechterbovenhoek wijst. zijn voor de hint die u wilt geven. Het token moet overeenkomen met de taal en de landinstellingen van uw contacten. Voorbeeld:

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

Tips and Tricks

Als spraak audio niet kan worden gehoord tussen Virtual Agent Hub en de virtuele agent, controleert u de script-trace om te zien of er een transcript is. Als die er is, moet de Google Dialogflow virtuele agent worden aangepast.

Script Example

Dit voorbeeld is geen volledig script. Er is extra scriptwerk vereist om deze actie te gebruiken.

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

Dit voorbeeld is geen volledig script. Er is extra scriptwerk vereist om deze actie te gebruiken.

Dit script is een voorbeeld voor het integreren van aangepaste payloads met virtuele Google Dialogflow ES-agents. Dit script gebruikt de actie Voicebot Exchange, maar het zal ook werken als u in plaats daarvan TEXTBOT EXCHaNGE gebruikt.

Een voorbeeldscript om uit te leggen hoe u aangepaste payloads kunt afhandelen met Google Dialogflow CX.

Download dit script.

Example Script for Alternate Timeout Events

Dit voorbeeld is geen volledig script. Er is extra scriptwerk vereist om deze actie te gebruiken.

U kunt verschillende time-outgebeurtenissen gebruiken op verschillende punten in uw script. U kunt bijvoorbeeld verschillende time-outgebeurtenissen gebruiken wanneer de UserInputTimeout -eigenschap voor de eerste keer en voor de tweede keer wordt getriggerd. Dit voorbeeldscript toont een mogelijke manier om dit te laten gebeuren.

In dit script worden Snippet -acties gebruikt om een time-out-teller te maken en te verhogen. Na de tweede time-out wordt een Snippet -actie gebruikt om een ander time-out event in te stellen. De alternatieve time-outgebeurtenis wordt vanuit de Snippet -actie doorgegeven aan de voicebot-actie via de automatedIntent eigenschap.

Download dit script.