VoiceBot Exchange

This help page is for Desktop Studio. This information is also available for CXone Studio.

Intègre un agent virtuelFermé Une application logicielle qui gère 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 actions VoiceBot Exchange . Votre agent virtuel doit prendre en charge cette action.

L’action Voicebot Exchange est destinée aux agents virtuels complexes ou aux situations où vous devez personnaliser le comportement de l’agent virtuel d’une étape à l’autre. Elle surveille tour à tour la conversation entre le contact et l’agent virtuel. Elle envoie chaque énoncéFermé Ce qu'un contact dit ou tape. à l’agent virtuel. L’agent virtuel analyse l’énoncé pour identifier l’intentionFermé 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 la fonction Intervention ou Aucune saisie, des scripts supplémentaires sont nécessaires.

Double-cliquez sur cette action pour ouvrir le Virtual Agent Hub, où vous pouvez gérer tous vos agents virtuels.

Dépendances

  • Un script doit contenir au moins deux actions VoiceBot Exchange 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. Toutes les actions supplémentaires à entreprendre (telles qu'une base de données ou un appel d'API externe) qui sont déterminées 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

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

Téléphone

Comparaison d'actions similaires

Les actions suivantes ont des fonctions similaires, mais présentent quelques différences essentielles :

  • Textbot Exchange : cette action est destinée aux interactions d’agents virtuels complexes. 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 : cette action est destinée aux interactions d’agents virtuels complexes. 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.

Agents virtuels pris en charge

Cette action prend en charge les agents virtuels suivants :

Avant de pouvoir affecter 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 application pour chaque agent virtuel que vous utilisez. Vous pouvez assigner 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.

Propriétés d'entrée

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

Certaines des propriétés de cette action nécessitent une action Snippet avec du 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. The default is the action name.

virtualAgentID Nom de l'agent virtuel sélectionné dans le Virtual Agent Hub. Lorsque vous affectez une application d'agent virtuel à une action Studio dans Virtual Agent Hub, cette propriété est automatiquement remplie. Le nom est celui utilisé dans le champ Virtual Agent (Bot) Name dans l'application Virtual Agent Hub.
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 CRMFermé Systèmes tiers qui gèrent des éléments tels que les contacts, les informations sur les ventes, les détails de l'assistance 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 personnalisé 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. À la place, utilisez la variable customPayloadVarName (out).

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) et la fonction asJSON(). Vous pouvez aussi convertir le contenu de nextPromptSequenceVarName (out) en JSON dans une action Snippet 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'une action Snippet et en suivant l’exemple de snippet Comportements d'invite suivante par défaut ou Comportements d’invite suivante. Cet exemple décrit les propriétés que vous pouvez utiliser pour configurer le bruit de confort, la collecte DTMF et autoriser le contact à parler via l'audio pendant la lecture (insertion).

Configurez la propriété nextPromptBehavior avec le nom de l'objet que vous avez utilisé dans le code snippet. Cela permet de transmettre des paramètres à cette propriété et à son action. Par exemple, si vous utilisez l’exemple de snippet Comportements d’invite suivante, vous entrez {nextPromptBehaviorsOutjson} pour cette propriété. Vous devez uniquement configurer cette propriété si vous utilisez cette action pour activer un agent virtuel textuel pour traiter les interactions vocales..

botSessionState

Configurer avec la variable qui contient l'identifiant unique pour 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 nouvelle session à chaque tour de la conversation et aide l'agent virtuel à maintenir le contexte entre les tours.

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 passe 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 dans sa variable. Votre script doit être configuré correctement pour utiliser l'identifiant de l'état de session du robot.

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'utilisation courant consiste à obtenir le message de bienvenue initial depuis 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 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 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 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. Vous trouverez plus d’informations sur sa configuration sur la page d’aide du snippet État de session du robot.

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 Chemin parcouru sauf si le script remplit une condition qui l'oblige à emprunter l'une des autres branches. Il est également suivi si les autres branches de l’action ne sont pas définies.
OnPromptAndCollectNextResponse

Chemin emprunté si l’agent virtuel a déterminé que l'interaction doit se poursuivre et est prêt pour une intervention plus humaine depuis le contact. Demande le tour suivant de la conversation.

OnError Chemin emprunté en cas de problème inattendu (par exemple, mauvaise connectivité, erreurs de syntaxe, etc.). La variable _ERR doit être renseignée avec une explication condensée du problème.
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 DTMFFermé Tonalités de signalisation générées lorsqu'un utilisateur appuie ou appuie sur une touche de son clavier téléphonique. dans le script a été respectée.

OnUserInputTimeout

Chemin emprunté lorsqu'il n'y a pas de réponse de l'utilisateur dans le délai spécifié dans le snippet Comportement de l'invite (le snippet Comportement de l'inviteDefault ou Next).

Pour Google Dialogflow, vous pouvez configurer l'événement que vous souhaitez voir se produire dans la Virtual Agent Hub Dialogflow application. Pour Dialogflow ES, configurez le champ Timeout Event . Pour Dialogflow CX, configurez le Timeout Event Handler. 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

Certaines des propriétés de cette action nécessitent une  Snippet avec du code personnalisé.

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 DialogflowintentionsFermé La signification ou le but derrière ce qu'un contact dit/tape ; ce que le contact veut communiquer ou accomplir commeDialogflowES.
  • Vous pouvez transmettre des données personnalisées à Dialogflow CX utilisant des paires clé-valeur JSON. Dans une actionaction Snippet 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 ou Conversation de votre script, configurez la propriété customPayload avec la variable incluant la fonction asJSON()comme valeur. Vous trouverez cette variable dans l’objet customPayload.
  • Transférez le code JSON customPayload à l’agent virtuel en utilisant la propriété Payload de QueryParameters. Reportez-vous à la documentation Google concernant QueryParameters Un carré avec une flèche pointant du centre vers le coin supérieur droit. pour Google Dialogflow CX.
  • Les données transférées 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.
  • N’imbriquez pas d’objet dans l’objet customPayload. Les objets imbriqués sont envoyés sous forme de chaînes littérales.
  • Pour renvoyer des données personnalisées de votre agent virtuel Dialogflow CX dans votre script, utilisez le champ Charge utile personnalisée de la console Dialogflow CX. Vérifiez que vous vous trouvez dans la console de l’agent virtuel que vous utilisez avec CXone. Mappez ceci à votre script en utilisant la variable customPayloadVarName (out) dans l'action voix ou chat Studio de votre script. Par exemple, vous pouvez l'utiliser pour définir les comportements de l'invite suivante.
  • Les paramètres définis en utilisant customPayload peuvent uniquement être utilisés dans le webhook externe. Si vous souhaitez définir des paramètres à utiliser en dehors du webhook externe, faites-le dans une action Snippet avec le champ session_params. Par exemple :

    {
    	"session_params":
    	{ 
    		"name": "Winnie Le Pooh"
    		"job": "Food critic"
    		"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.

  • Les conseils de contexte vocal peuvent être transmis avec la charge utile dans le paramètre speechContexts. La valeur de speechContexts.phrases doit être un jeton de classe Google Un carré avec une flèche pointant du centre vers le coin supérieur droit. correspondant au conseil à donner. Le jeton doit correspondre à la langue et aux paramètres régionaux de vos contacts. Par exemple :

    DYNAMIC customPayload
    customPayload.speechContexts.phrases="$OOV_CLASS_ALPHANUMERIC_SEQUENCE"
    customPayload.speechContexts.boost=10		
  • pour configurer la durée d’attente de l’agent virtuel lorsque le contact fait une pause dans son énoncé, ajoutez le paramètre maxPostEnergySilenceMS à l’action Next Prompt Behaviors ou Default Next Prompt Behaviors Snippet.

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 transférer du contexte à une intentionFermé 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éFermé Ce qu'un contact dit ou tape. à une intention.
  • Dans une Snippet action de votre script, créez un objet customPayload qui suive le format défini dans la documentation de Google Dialogflow ES Icône indiquant que le lien va vers un site web externe pour la ressource REST : projects.agent.sessions.context. L’aide en ligne Studiofournit 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 de données dynamique.
  • Les contextes vocaux sont transmis dans la charge utile personnalisée avec 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.
  • Les conseils de contexte vocal peuvent être transmis avec la charge utile dans le paramètre speechContexts. La valeur de speechContexts.phrases doit être un jeton de classe Google Un carré avec une flèche pointant du centre vers le coin supérieur droit. correspondant au conseil à donner. Le jeton doit correspondre à la langue et aux paramètres régionaux de vos contacts. Par exemple :

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

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. Une rédaction de script supplémentaire peut être requise.

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. Une rédaction de script supplémentaire peut être requise.

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 peut aussi fonctionner avec l’action TEXTBOT EXCHaNGE.

Un exemple de script montrant comment traiter la 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. Une rédaction de script supplémentaire peut être requise.

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 script, les actions Snippet sont utilisées pour créer et incrémenter un compteur de temporisation. Après la deuxième temporisation, une action Snippet est utilisée pour définir un événement de temporisation différent. L'événement de délai d'attente alternatif est passé de l'action Snippet à l'action voicebot via la propriété automatedIntent .

Télécharger ce script.