VoiceBot Exchange

Cette page d'aide concerne Desktop Studio. Ces informations sont également disponibles pour Studio.

Intègre un agent virtuelClosed Une application logicielle qui traite les interactions avec les clients à la place d’un agent humain en direct. de libre-service avec des scripts vocaux. Cette Action est utilisée dans une boucle dans le script. Un script doit contenir au moins deux Échange voicebot actions. Votre agent virtuel doit prendre en charge cette action.

Le Voicebot Exchange action est destiné aux agents virtuels complexes ou lorsque vous devez personnaliser le comportement de l'agent virtuel d'un tour à l'autre. Il surveille la conversation entre le contact et l'agent virtuel, tour par tour. Il envoie chaque énoncéClosed Ce qu’un contact dit ou tape. transcrit à l'agent virtuel. L’agent virtuel analyse l’énoncé pour identifier l’intentionClosed La signification ou le but derrière ce qu’un contact dit/tape ; ce que le contact veut communiquer ou accomplir. et le contexte, puis détermine la réponse à donner. L’action transmet la réponse de l’agent virtuel au contact. Lorsque la conversation est terminée, l'action continue le script.

Si vous souhaitez configurer l'intervention ou l'absence de saisie, un script supplémentaire est requis.

Un double-clic sur cette action ouvre le Virtual Agent Hub, où vous pouvez gérer tous vos agents virtuels.

Dépendances

  • Un script doit contenir au moins deux Échange voicebot actions connectées en boucle.
  • Pour utiliser cette action, votre agent virtuel doit prendre en charge la personnalisation des conversations tour par tour.
  • Un tour de conversation est défini comme suit :

    1. L'énoncé de contact est envoyé à l'agent virtuel.
    2. L'agent virtuel traite l'énoncé et définit toute information de charge utile personnalisée.
    3. La réponse revenant au contact.
    4. Toute action supplémentaire à entreprendre (telle qu'une base de données ou un Appel API externe) qui est déterminée dans la propriété nextPromptBehaviors. Vous pouvez également configurer la boucle conversationnelle afin de quitter lorsque l'interaction est terminée ou le si le contact est transféré à un agent humain.
  • Si vous incluez des charges utiles personnalisées au moyen d’agents virtuels Google Dialogflow ES ou Google Dialogflow CX, suivez les meilleures pratiques et les consignes relatives aux charges utiles personnalisées.Les consignes pour CX et ES sont fournies sur cette page.

Types de scripts pris en charge

L'icône du type de script Téléphone - un combiné téléphonique de style ancien avec des lignes courbes indiquant que le son en sort.

Téléphone

Comparaison d'actions similaires

Les actions suivantes ont des fonctions similaires, mais avec quelques différences clés :

  • Textbot Exchange : Ceci est utilisée pour les interactions complexes avec l'agent virtuel. Elle vous permet d'inclure des paramètres d'échange et de personnaliser divers aspects de la conversation entre le contact et l’agent virtuel.
  • Voicebot Exchange: This action is used for complex virtual agent interactions. It allows you to include exchange parameters and to customize various aspects of the conversation between contact and virtual agent.
  • VOICEBOT STREAM : Cette action prend en charge la diffusion audio en temps réel entre NiCE CXone et le fournisseur d'agent virtuel. Elle ne prend pas en charge la personnalisation de la conversation entre les tours de parole. Actuellement, le seul agent virtuel pris en charge est Google Dialogflow CX VoiceStream.

Agents virtuels pris en charge

Cette action prend en charge les agents virtuels suivants :

Avant de pouvoir attribuer un agent virtuel à cette action, vous devez ajouter et configurer une application pour l'agent virtuel dans Virtual Agent Hub. Vous n'avez besoin que d'une seule application pour chaque agent virtuel que vous utilisez. Vous pouvez attribuer la même application à plusieurs actions d'agent virtuel dans vos Scripts. Reportez-vous à la page d'aide du fournisseur d'agent virtuel que vous utilisez pour obtenir des détails sur la configuration.

D'autres fournisseurs d'agent virtuel peuvent être pris en charge, mais nécessitent des intégrations personnalisées. Celles-ci comprennent les intégrations DEVone et points de terminaison personnalisés. Les intégrations personnalisées ne sont pas configurées à l'aide de Virtual Agent Hub.

Propriétés d'entrée

Ces propriétés définissent les données que l'action utilise lors de son exécution.

Une ou plusieurs propriétés de cette action nécessitent une action Snippet avec code personnalisé.

Propriété

Description

Caption

Entrez une courte phrase qui identifie cette action dans le script de manière unique. La légende est affichée sur le canevas de script sous l’icône de l’action. La valeur par défaut est le nom de l’action.

virtualAgentID Nom de l'agent virtuel sélectionné dans le Virtual Agent Hub. Lorsque vous attribuez une application d'agent virtuel à une action Studio dans Virtual Agent Hub, cette propriété est automatiquement renseignée. Le nom est la valeur utilisée dans le champ Virtual Agent (Bot) Name de l'application Virtual Agent Hub. Vous pouvez utiliser la substitution de variable dans cette propriété.
customPayload

Ne configurez cette propriété que si vous devez transmettre des données de charge personnalisées à l'agent virtuel. L'objet de charge personnalisé est rempli à partir du script Studio. Vous pouvez l'utiliser pour transmettre des informations telles que le nom du contact, issu d’un CRMClosed systèmes tiers qui gèrent des éléments tels que les contacts, les informations de vente, les détails de soutien et les historiques de cas. à utiliser dans un message de bienvenue.

Entrez le nom de l'objet JSON qui transmet les données du script à l'agent virtuel. You devez définir l'objet charge utile personnalisée dans une action Snippet.L'objet doit être converti en JSON, soit dans le snippet, soit dans la propriété customPayload.

Exigences pour les fournisseurs d'agents virtuels spécifiques :

N'utilisez pas cette propriété si vous devez traiter des données que l’agent virtuel renvoie au script. Utilisez plutôt la variable customPayloadVarName (sortie).

nextPromptSequence

La réponse reçue de l'agent virtuel qui sera jouée pour le contact. Configurez cette propriété avec la variable spécifiée dans nextPromptSequenceVarName (out) avec la fonction asJSON(). Vous pouvez également convert le contenu de nextPromptSequenceVarName (out) en JSON dans une action Extrait et configurez cette propriété avec la variable qui contient le JSON.

nextPromptBehaviors

Spécifie la configuration et le comportement de la prochaine invite dans une conversation. Définissez les comportements que vous souhaitez voir à l'aide d'un Snippet action et en suivant le Comportements de Prompt suivant par défaut ou Comportements du Prompt suivant exemple d'Extrait.Cet exemple décrit les propriétés que vous pouvez utiliser pour configurer le bruit de confort, la collecte DTMF, et permettre au contact de parler pendant la lecture de l'audio (intervention).

Configure the nextPromptBehavior property with the name of the object you used in the snippet code. This passes settings to this property and its action. For example, using the Next Prompt Behavior snippet example, you would enter {nextPromptBehaviorsOutjson} for this property. You only need to configure this property if using this action to enable a text virtual agent to handle voice interactions.

botSessionState

Configure with the variable that holds the unique identifier for the conversation between the contact and the virtual agent. It is automatically assigned by the virtual agent provider. The identifier prevents a new session from being created with every turn in the conversation and helps the virtual agent maintain context between turns.

Le fournisseur crée l'identifiant au début de la conversation et le transmet au script avec la première réponse. Le script stocke l'identifiant dans la variable nommée dans la propriété botSessionStateVarName (out) de l'Action ExchangeLe fournisseur crée l'identifiant au début de la conversation et le transmet au script avec la première réponse. Le script stocke l'identifiant dans la variable nommée dans la propriété botSessionStateVarName (out) de cette Action. Enfin, le script transmet l'identifiant de la propriété botSessionStateVarName (out) du tour précédent à la propriété botSessionState.

Vos scripts ne doivent jamais écrire dans cette propriété ou sa variable. Votre script doit être configuré correctement pour utiliser l'identifiant d'état de session du bot.

automatedIntent

Entrez une intention spécifique par nom à laquelle l’agent virtuel doit répondre, plutôt que de laisser l’agent virtuel interpréter les entrées utilisateur collectées. Un cas d'usage courant pour cela consiste à obtenir le message Welcome initial de l'agent virtuel. Accueillir est la chaîne standard pour les salutations initiales.

Propriétés de sortie

Ces propriétés contiennent des variables qui stockent les données renvoyées par l'exécution de l'action. Elles sont disponibles à des fins de référence et d’utilisation lorsque l'action est terminée.

Propriété

Description

nextPromptBehaviorsVarName (out)

Définit les comportements pour inviter l'utilisateur au prochain tour de conversation.

nextPromptSequenceVarName (out)

Retient la réponse de l'agent virtuel et la transmet à la propriété nextPromptSequence.

customPayloadVarName (out)

Renvoie les données JSON personnalisées de l'agent virtuel au script. Utilisez cette variable lorsque vous souhaitez que le script traite les données fournies par l’agent virtuel Peut contenir des données d'exécution.

Si vous souhaitez fournir des données à l'agent virtuel, utilisez la propriété customPayload.

errorDetailsVarName (out)

Invite la séquence d'intention d'erreur ; peut conduire à un transfert vers un agent en direct.

intentInfoVarName (out)

Une variable qui contient les détails de l’agent virtuel indiquant l'intention actuelle de l'utilisateur.

botSessionStateVarName (out)

Contient la variable dans laquelle le script stocke l’identifiant d’état de session du robot envoyé par le fournisseur de l'agent virtuel. Le contenu de la variable est transmis à la propriété botSessionState.

Cette propriété doit être configurée correctement pour que votre agent virtuel fonctionne comme prévu. Plus d'informations sur comment le configurer est disponible sur la page d'aide Extrait d'état de session de bot.

Conditions de branche résultantes

Les conditions de branche de résultat vous permettent de créer des branches dans votre script afin de gérer différents résultats lors de l'exécution d'une action.

Condition

Description

Default Path taken unless the script meets a condition that requires it to take one of the other branches. It is also taken if the action's other branches are not defined.
OnPromptAndCollectNextResponse

Chemin suivi si l'agent virtuel a déterminé que l'interaction doit se poursuivre et est prêt à recevoir davantage de saisie humaine du contact. demande le tour suivant de la conversation.

OnError Path taken when there is an unexpected problem (for example, poor connectivity, syntax errors, and so forth). The _ERR variable should be populated with a condensed explanation of the problem.
OnReturnControlToScript Chemin emprunté si l’agent virtuel a indiqué que la conversation était terminée et redonne le contrôle au script Studio afin de transférer ou terminer l'appel. Le résultat de customPayload peut contenir des données d'exécution à traiter.
OnDTMFBreakout

Chemin emprunté lorsqu'une règle DTMFClosed Tonalités de signalisation générées lorsqu’un contact appuie sur une touche du clavier téléphonique. dans le script a été respectée.

OnUserInputTimeout

Chemin suivi lorsqu'il n'y a pas de réponse de l'utilisateur dans le délai spécifié dans l'extrait Comportement du Prompt par défaut ou dans l'extrait comportement du Prompt suivant.

Pour Google Dialogflow, vous pouvez configurer l'événement que vous souhaitez voir se produire dans l'application Virtual Agent Hub Dialogflow. Pour Dialogflow ES, configurez le champ Timeout Event . Pour DialogflowCX, configurez le Gestionnaire d'événements de délai d'attente. Si aucun Événement n'est configuré, la valeur par défaut consiste à utiliser l'intention de secours par défaut telle que configurée dans la console Dialogflow.

Si vous le souhaitez, vous pouvez configurer cette branche pour utiliser différents événements à différents moments de votre script.

OnUserInputNotUnderstood

Chemin emprunté lorsque l’agent virtuel ne comprend pas la réponse du contact ou lorsque le délai d’attente du contact expire.

Code d'action SNIPPET requis

Une ou plusieurs des propriétés de cette Action nécessitent une Snippet action avec le code personnalisé suivant :

Meilleures pratiques pour la charge utile personnalisée avec Google Dialogflow CX

Lorsque vous utilisez cette action avec Google Dialogflow CX suivez ces bonnes pratiques pour intégrer des charges utiles personnalisées :

  • Dialogflow CX n'utilise pas de contextes pour transmettre des données aux Dialogflow intentionsClosed La signification ou le but derrière ce qu’un contact dit/tape ; ce que le contact veut communiquer ou accomplir., comme le fait Dialogflow ES.
  • Vous pouvez transmettre des données personnalisées à Dialogflow CX à l'aide de paires clé-valeur JSON. Dans un Extrait Action dans votre script, créez un objet customPayload dynamique et ajoutez-y les paires clé-valeur. Par exemple :

    DYNAMIC customPayload
    customPayload.ani = ani
    customPayload.contactID = contactId
    customPayload.masterContactId = masterId
    customPayloadJSON = "{customPayload.asJSON()}"	
  • Dans l'action Exchange de votre script, configurez la propriété customPayload avec une variable possédant la fonction asJSON() dans sa valeur. Vous trouverez cette variable dans l’objet customPayload.
  • Dans le VoiceBOT STREAM action dans votre script, configurez la propriété customPayload avec une variable qui possède la fonction asJSON() dans sa valeur. Vous trouverez cette variable dans l’objet customPayload.
  • Transmettez le JSON customPayload à l'agent virtuel à l'aide de la propriété Payload de QueryParameters. Consultez la documentation Google sur QueryParameters A square with an arrow pointing from the center out from the top right corner. pour Google Dialogflow CX.
  • Les données transmises via QueryParameters sont reçues par un webhook dans Dialogflow CX.Vous pouvez écrire du code dans la Dialogflow Console CX pour gérer les données transmises.
  • Ne pas imbriquer un objet dans l'objet customPayload. Les objets imbriqués sont envoyés sous forme de chaînes littérales.
  • Pour transmettre des données personnalisées de votre agent virtuel Dialogflow CX au script, utilisez le champ Charge utile personnalisée dans la console Dialogflow CX.Vérifiez que vous vous trouvez dans la console de l’agent virtuel que vous utilisez avec NiCE CXone. Associez-la à votre script en utilisant la variable customPayloadVarName (out) dans l'action VOICEBOT EXCHANGE ou TEXTBOT EXCHANGE Studio de votre script. Par exemple, vous pouvez utiliser cette fonctionnalité pour définir le prochaine invite.
  • Pour transmettre des données personnalisées de votre agent virtuel Dialogflow CX vers le script, utilisez le champ Charge utile personnalisée dans la console Dialogflow CX.Vérifiez que vous vous trouvez dans la console de l’agent virtuel que vous utilisez avec NiCE CXone. Mappez ceci à votre script à l'aide de la variable customPayloadVarName (out) dans l'action VOICEBOT STREAM de votre script.
  • Pour transmettre des données personnalisées à Dialogflow CX depuis le script, utilisez session_params dans l'objet customPayload dans une action Snippet. Par exemple :

    DYNAMIC customPayload
    customPayload.session_params.name = "Winnie le Pooh" 
    customPayload.session_params.job = "Food critic" 
    customPayload.session_params.location = "Hundred Acre Wood"	

    Accédez aux paramètres de session dans l’intention de l’agent Dialogflow CX à l’aide de la syntaxe suivante :

    $session.params.name = Winnie Le Pooh
    $session.params.job = Food critic
    $session.params.location = 100 Acre Wood 

    Les paramètres de session sont uniquement utilisés avec les agents virtuels Dialogflow CX. Pour obtenir un résultat similaire avec Dialogflow ES, utilisez les contextes.

  • Configurez les indices de contexte de parole et un ID de conversation personnalisé pour transférer la conversation vers un agent virtuel CX Dialogflow différent dans l'extrait Charge utile personnalisée .

  • Pour configurer la durée pendant laquelle l'agent virtuel attend lorsque le contact fait une pause en parlant, ajoutez le paramètre maxPostEnergySilenceMS à l'action Extrait Next Prompt Behaviors ou Default Next Prompt Behaviors.

Meilleures pratiques pour la charge utile personnalisée avec Google Dialogflow ES

Lorsque vous utilisez cette action avec Google Dialogflow ES, suivez ces bonnes pratiques pour intégrer des charges utiles personnalisées :

  • CustomPayload est utilisé pour transmettre le contexte d'une intentionClosed La signification ou le but derrière ce qu’un contact dit/tape ; ce que le contact veut communiquer ou accomplir.. Le Contexte aide l'agent virtuel à comprendre l'intention de l'utilisateur. Les Contextes ne sont pas obligatoires, mais ils aident l'agent virtuel à faire correspondre un énoncéClosed Ce qu’un contact dit ou tape. à une intention.
  • Dans une action Extrait de votre script, créez un objet customPayload qui respecte le format décrit dans la documentation Google Dialogflow ES Icône indiquant que le lien va vers un site web externe pour REST Resource : projects.agent.sessions.context. L'aide en ligne Studio fournit des informations supplémentaires sur les objets de données dynamiques.
  • Vous pouvez également transmettre des données personnalisées avec customPayload sans contexte. Pour ce faire, incluez des paires clé-valeur JSON standard dans un objet données dynamiques.
  • Les contextes de parole sont transmis dans la charge utile personnalisée dans le paramètre speech_contact. Vous pouvez afficher le contenu de ce paramètre dans les traces Studio et les journaux d’application.
  • L’objet dynamique customPayload est transféré en tant que paramètre d'agent virtuel au format JSON, comme indiqué dans l’exemple de script.
  • Configurez les indices de contexte de parole dans l'extrait Charge utile personnalisée .

Trucs et astuces

Si aucun son de voix n’est entendu entre Virtual Agent Hub et l’agent virtuel, vérifiez la trace du script pour voir s’il existe une transcription. S’il y a bien une transcription, l’agent virtuel Google Dialogflow doit être ajusté.

Exemple de script

Cet exemple montre comment cette action peut être utilisée dans les scripts. Il ne s'agit pas d'un script complet. Un script supplémentaire peut être nécessaire.

Les actions VoiceBot Exchange doivent être utilisées dans une boucle. Cela signifie que vous devez en utiliser au moins deux dans un script. La première action lance l'appel à l'API de l'agent virtuel et doit être précédée de l’action Default Next Prompt Behavior Snippet. La première action est la valeur par défaut de bienvenue, qui commence la première boucle scriptée, ou un «tour» de conversation.

Un exemple de script qui utilise l'action VoicebotExchange.

Téléchargez ce scénario.

Exemple de script pour CustomPayload avecGoogle Dialogflow ES

Cet exemple montre comment cette action peut être utilisée dans les scripts. Il ne s'agit pas d'un script complet. Un script supplémentaire peut être nécessaire.

Ce script illustre comment intégrer des charges utiles personnalisées dans des agents virtuels Google Dialogflow ES. Ce script utilise l'action Voicebot Exchange, mais il fonctionnera également si vous utilisez TEXTBOT EXCHaNGE à la place.

``` Un exemple de script montrant comment gérer une charge utile personnalisée avec Google Dialogflow CX. ```

Télécharger ce script.

Exemple de script pour les événements de temporisation alternatifs

Cet exemple montre comment cette action peut être utilisée dans les scripts. Il ne s'agit pas d'un script complet. Un script supplémentaire peut être nécessaire.

Vous pouvez utiliser différents événements de délai d'attente à différents points de votre script. Par exemple, vous souhaiterez peut-être utiliser des événements de délai d'attente différents la première et la deuxième fois que la propriété UserInputTimeout est déclenchée. Cet exemple de script montre une manière possible d'y parvenir.

Dans ce sccript, les actions Snippet sont utilisées pour créer et incrémenter un compteur de temporisation. Après le deuxième temps mort, une actionSnippet est utilisée pour définir un événement de temporisation différent. L'événement de délai d'attente alternatif est transmis de l'action Extrait à l'action voicebot via la propriété automatedIntent .

Télécharger ce script.