VoiceBot Exchange

Cette page d'aide s'applique à Desktop Studio. Ces informations sont aussi 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. en libre-service avec des scripts vocaux. Cette Action est utilisée dans une boucle dans le script. Un script doit contenir au moins deux actions VoiceBot Exchange . Votre agent virtuel doit prendre en charge cette Action.

L'Voicebot Exchange action est destinée aux agents virtuels complexes ou lorsque vous devez personnaliser le comportement de l'agent virtuel d'un tour de parole à l'autre. Elle surveille la conversation entre le contact et l'agent virtuel, tour par tour. Elle envoie chaque énoncé transcrit à l'agent virtuel. L'agent virtuel analyse l'énoncé pour en déterminer l'intention 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 poursuit le script.

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

En double-cliquant sur cette Action, vous ouvrez Virtual Agent Hub, où vous pouvez gérer tous vos agents virtuels.

Dépendances

  • Un script doit contenir au moins deux actions Échange voicebot reliées dans une 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 (comme un appel à une base de données ou à une API externe) est déterminée dans la propriété nextPromptBehaviors. Vous pouvez également configurer la boucle conversationnelle pour qu'elle se termine lorsque l'interaction est terminée ou si le contact est transféré à un agent en direct.
  • Si vous incluez une charge utile personnalisée avec les agents virtuels Google Dialogflow ES ou Google Dialogflow CX, suivez les meilleures pratiques et directives relatives à la charge utile personnalisée. Les directives 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 à l'ancienne avec des lignes courbes indiquant le son qui en sort.

Téléphone

Comparaison d’actions similaires

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

  • Textbot Exchange : Cette action est utilisée pour des interactions complexes avec l’agent virtuel. Elle 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 : Cette action est utilisée pour des interactions complexes avec l’agent virtuel. Elle permet d’inclure des paramètres d’échange et de personnaliser divers aspects de la conversation entre le contact et l’agent virtuel.
  • 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. À l’heure actuelle, l’agent virtuel pris en charge est Uniquement 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 plus de détails sur la configuration.

D’autres fournisseurs d’agents virtuels peuvent être pris en charge, mais nécessitent des intégrations personnalisées. Cela comprend 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 Extrait avec un code personnalisé.

Propriété

Description

Caption

Entrez une courte phrase qui identifie de façon unique cette action dans le script. La légende apparaît sur le canevas du script sous l’icône de l’action. La valeur par défaut est le nom de l’action.

virtualAgentID Le nom de l'agent virtuel sélectionné dans Virtual Agent Hub. Lorsque vous attribuez une application d'agent virtuel à une action Studio dans Virtual Agent Hub, cela remplit automatiquement cette propriété. 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 variables dans cette propriété.
customPayload

Configurez cette propriété uniquement si vous devez transmettre des données de charge utile personnalisée à l'agent virtuel. L'objet de charge utile personnalisée est rempli à partir du script Studio. Vous pouvez l'utiliser pour transmettre des informations telles que le nom du contact provenant 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. Vous devez définir l'objet de charge utile personnalisée dans une action Snippet. L'objet doit être converti en JSON, soit dans l'Extrait, 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 les données que l'agent virtuel renvoie au script. Utilisez plutôt la variable customPayloadVarName (out).

nextPromptSequence

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

nextPromptBehaviors

Précise la configuration et le comportement de la prochaine invite dans une conversation. Définissez les comportements que vous souhaitez voir en utilisant une action Extrait action et en suivant l'exemple d'Extrait de code Default Next Prompt Behaviors ou Next Prompt Behaviors. Cet exemple décrit les propriétés que vous pouvez utiliser pour configurer le bruit de confort, la collecte DTMF et l'autorisation pour le contact de parler par-dessus l'audio pendant sa lecture (intervention).

Configurez la propriété nextPromptBehavior avec le nom de l'objet que vous avez utilisé dans le code de l'extrait. Cela transmet des paramètres à cette propriété et à son action. Par exemple, en utilisant l'exemple d'extrait Next Prompt Behavior, vous devez entrer {nextPromptBehaviorsOutjson} pour cette propriété. Vous devez configurer cette propriété uniquement si vous utilisez cette action pour permettre à un agent virtuel texte de gérer les interactions vocales.

botSessionState

Configurez-la avec la variable qui contient unique l'identifiant de la Conversation entre le contact et l'agent virtuel. Il est automatiquement attribué par le fournisseur de l'agent virtuel. L'identifiant empêche la création d'une {12}nouvelle session{13} à chaque échange de la Conversation et aide l'agent virtuel à maintenir le contexte entre les échanges.

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 cette Action. Enfin, le script transmet l'identifiant de la propriété botSessionStateVarName (out) de l'échange 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

Entrée une intention spécifique par nom pour que l'agent virtuel y réponde, plutôt que de laisser l'agent virtuel interpréter la saisie utilisateur recueillie. Un cas d'utilisation courant pour cela consiste à obtenir le message de bienvenue initial de l'agent virtuel. Welcome est la chaîne standard pour les salutations initiales.

Propriétés de sortie

Ces propriétés contiennent des variables qui conservent 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 des données JSON personnalisées de l'agent virtuel vers le script. Utilisez cette Variable lorsque vous voulez que le script traite des données que l'agent virtuel fournit. Peut contenir des données d'exécution.

Si vous voulez 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 bot envoyé par le fournisseur d'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 correctement. Plus d'informations sur la façon de la configurer sont disponibles sur la page d'aide Bot Session State Snippet.

Conditions de la branche de résultat

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 emprunté si l'agent virtuel a déterminé que l'interaction devait se poursuivre et qu'elle est prête pour plus de saisie humaine de la part du contact. Invite pour le prochain tour 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 indique que la conversation est terminée et redonne le contrôle au script Studio pour transférer ou mettre fin à l’appel. Il peut y avoir des données d’exécution à traiter dans le résultat customPayload.
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 emprunté lorsqu'il n'y a pas de réponse de la part de l'utilisateur dans le délai spécifié dans l'extrait de Comportement Default ou Next Prompt.

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 Événement de délai d’attente. Pour Dialogflow CX, configurez le Gestionnaire d’Événement de délai d’attente. Si aucun événement n’est configuré, la valeur par défaut consiste à utiliser l’intention de repli par défaut telle qu’elle est configurée dans la console Dialogflow.

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

OnUserInputNotUnderstood

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

Code d’action SNIPPET requis

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

Meilleures pratiques pour la charge utile personnalisée avecGoogle Dialogflow CX

Lorsque vous utilisez cette action avecGoogle 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 intentionsClosed La signification ou le but derrière ce qu’un contact dit/tape ; ce que le contact veut communiquer ou accomplir. de Dialogflow comme le fait Dialogflow ES.
  • Vous pouvez transmettre des données personnalisées à Dialogflow CX à l'aide de paires clé-valeur JSON. Dans une Snippet action de 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 qui a la fonction asJSON() dans sa valeur. Vous pouvez trouver cette variable dans l'objet customPayload.
  • Dans l'action VoiceBOT STREAM action de votre script, configurez la propriété customPayload avec une variable qui a la fonction asJSON() dans sa valeur. Vous pouvez trouver cette variable dans l'objet customPayload.
  • Transmettez le customPayload JSON à l'agent virtuel à l'aide de la propriété Payload de QueryParameters. Consultez la documentation de 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 par QueryParameters sont reçues par un webhook dans Dialogflow CX. Vous pouvez écrire du code dans la console Dialogflow CX pour traiter les données transmises.
  • N'imbriquez pas 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. Assurez-vous d'être dans la console de l'agent virtuel que vous utilisez avec NiCE CXone. Associez ceci à votre script à l'aide de la variable customPayloadVarName (out) dans l'action VOICEBOT EXCHANGE ou TEXTBOT EXCHANGE Studio de votre script. Par exemple, vous pouvez utiliser ceci pour définir les comportements de la prochaine invite.
  • 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. Assurez-vous d'être dans la console de l'agent virtuel que vous utilisez avec NiCE CXone. Associez 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 à partir du 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 CX Dialogflow à 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 utilisés uniquement avec les agents virtuels Dialogflow CX. Pour obtenir un résultat similaire avec Dialogflow ES, utilisez des contextes.

  • Configurez les indices de contexte de la Parole et un ID de conversation personnalisé pour transférer la conversation à un agent virtuel Dialogflow CX 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 the maxPostEnergySilenceMSparamètre à l'action Next Prompt Behaviors ou Default Next Prompt BehaviorsSnippet.

Meilleures pratiques pour la charge utile personnalisée avecGoogle Dialogflow ES

Lorsque vous utilisez cette action avecGoogle 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 Snippet de votre script, créez un objet customPayload qui respecte le format décrit dans la documentation Google Dialogflow ESIcône indiquant que le lien renvoie à un site Web externe pour REST Resource :  projects.agent.sessions.context. L'aide en ligne de 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 contextes. Pour ce faire, incluez des paires clé-valeur JSON standard dans un objet de données dynamiques.
  • Les contextes de parole sont transmis dans la charge utile personnalisée dans le paramètre speech_contact. Vous pouvez voir le contenu de ce paramètre dans les traces Studio et les journaux d'application.
  • L’objet dynamique customPayload est transmis en tant que paramètre d’agent virtuel au format JSON, comme le montre l’exemple de script.
  • Configurez les indices de contexte de Parole dans l'extrait Custom Payload .

Conseils et astuces

Si la voix ne peut être entendue entre Virtual Agent Hub et l'agent virtuel, vérifiez la trace du script pour voir s'il y a une transcription. Si c'est le cas, l'agent virtuel Google Dialogflow doit être ajusté.

Exemple de script

Voici un exemple pour afficher comment cette action peut être utilisée dans des scripts. Il ne s’agit pas d’un texte complet. Des scripts supplémentaires peuvent être nécessaires.

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 Snippet Comportement d’invite suivante par défaut. La première action est la valeur par défaut de bienvenue, qui commence la première boucle scriptée, ou un « tour » conversationnel.

Un exemple de script qui utilise l’action VoicebotExchange.

Téléchargez ce script.

Exemple de script pour CustomPayload avecGoogle Dialogflow ES

Voici un exemple pour afficher comment cette action peut être utilisée dans des scripts. Il ne s’agit pas d’un texte complet. Des scripts supplémentaires peuvent être nécessaires.

Ce script est un exemple de la façon d'intégrer des charges utiles personnalisées avec les Google Dialogflow ES agents virtuels. Ce script utilise l'action Voicebot Exchange, mais il fonctionnera également si vous utilisez plutôt TEXTBOT EXCHaNGE.

An example script showing how to handle custom payload with Google Dialogflow CX.

Télécharger ce script.

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

Voici un exemple pour afficher comment cette action peut être utilisée dans des scripts. Il ne s’agit pas d’un texte complet. Des scripts supplémentaires peuvent être nécessaires.

Vous pouvez utiliser différents événements de délai d’attente à différents points de votre script. Par exemple, vous pourriez vouloir 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 façon possible d’y parvenir.

Dans ce script, les actions Snippet sont utilisées pour créer et incrémenter un compteur de dépassement de délai. Après le deuxième dépassement de délai, une action Snippet est utilisée pour définir un événement de délai d’attente différent. L’événement de délai d’attente de rechange est transmis de l’action Snippet à l’action voicebot par l’intermédiaire de la propriété automatedIntent .

Téléchargez ce script.