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 traite les interactions avec les clients à la place d’un agent en chair et en os. en libre-service avec des scripts vocaux. Cette action est utilisée en 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 est destinée aux agents virtuels complexes ou lorsque vous devez personnaliser le comportement de l’agent virtuel d’un tour à l’autre. Elle surveille la conversation entre le contact et l’agent virtuel au fur et à mesure. Elle envoie chaque énoncéFermé Ce qu’un contact dit ou tape. à l’agent virtuel. L’agent virtuel analyse l’énoncé en fonction de l’intentionFermé La signification ou le but derrière ce qu’un contact dit/tape ; ce que le contact veut communiquer ou accomplir et du contexte et 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 les options intervention ou aucune entrée, un script supplémentaire est requis.

Un double-clic sur cette action ouvre Concentrateur d’agents virtuels, où vous pouvez gérer tous vos agents virtuels.

Dépendances

  • Un script doit contenir au moins deux actions VoiceBot Exchange relié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’un appel à une base de données ou à une API externe) qui 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 chair et en os.
  • Si vous incluez des charges utiles personnalisées dans les agents virtuels Google Dialogflow ES ou Google Dialogflow CX, suivez les meilleures pratiques et les lignes directrices relatives aux charges utiles personnalisées.  Les lignes directrices 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 semblables, mais avec quelques différences essentielles :

  • Textbot Exchange : Cette action est utilisée pour les interactions complexes avec les agents virtuels. 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 les interactions complexes avec les agents virtuels. Elle 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 d’affecter un agent virtuel à cette action, vous devez ajouter et configurer une application pour l’agent virtuel dans Concentrateur d’agents virtuels. Vous n’avez besoin que d’une application pour chaque agent virtuel que vous utilisez. Vous pouvez attribuer la même application à plusieurs actions d’agents virtuels 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.

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 un code personnalisé.

Propriété

Description

Caption

Saisissez une courte phrase qui identifie de manière unique cette action dans le script. La légende apparaît dans le canevas de script sous l’icône d’action. The default is the action name.

virtualAgentID Le nom de l’agent virtuel sélectionné dans Concentrateur d’agents virtuels. Lorsque vous affectez une application d’agent virtuel à une action Studio dans Concentrateur d’agents virtuels, cette propriété est automatiquement renseignée. Le nom est le nom utilisé dans le champ Virtual Agent (Bot) Name de l’application Concentrateur d’agents virtuels.
customPayload

Ne configurez cette propriété que si vous devez transmettre des données personnalisées à 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 à partir d’un CRMFermé Systèmes tiers qui gèrent des éléments tels que les contacts, les informations de vente, les détails de l’assistance et les historiques de cas. et les utiliser dans un message de bienvenue.

Saisissez 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 de code, 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 pour le 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 Snippet et configurer 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 Snippet actionet en suivant l’exemple d’extrait de code Comportements de l’invite suivante par défaut ou Comportements de l’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 l’extrait de code. Cela permet de transmettre des paramètres à cette propriété et à son action. Par exemple, si vous utilisez l’exemple d’extrait de code Comportements de l’invite suivante, vous devez saisir {nextPromptBehaviorsOutjson} pour cette propriété. Vous ne devez configurer cette propriété que si vous utilisez cette action pour permettre à un agent virtuel textuel de gérer les interactions vocales.

botSessionState

Le fournisseur d’agents virtuels attribue un identifiant unique à chaque conversation entre un contact et un agent virtuel. L’identifiant permet d’éviter la création d’une nouvelle session à chaque tour de conversation. 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. Il transmet ensuite l’identifiant à la propriété botSessionState.

Cette propriété doit être configurée correctement pour que votre agent virtuel fonctionne correctement. De plus amples informations sur la manière de la configurer sont disponibles sur la page d’aide de l’extrait de code État de la session du bot.

automatedIntent

Saisissez une intention spécifique par son nom pour que l’agent virtuel y réponde, plutôt que de laisser l’agent virtuel interpréter les données collectées par l’utilisateur. Un cas d’utilisation courant est l’obtention du 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 contiennent les données renvoyées par l’exécution de l’action. Elles sont disponibles pour référence et 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 la session du bot 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 correctement. Plus d’informations sur la configuration sont disponibles sur la page d’aide de l’extrait de code État de la session du bot.

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 Chemin emprunté à moins que le script ne remplisse une condition exigeant qu’il prenne l’une des autres branches. Elle est également prise 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 qu’il est prêt à recevoir davantage d’informations de la part du contact. Invite au prochain tour de la conversation.

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

OnUserInputTimeout

Chemin emprunté lorsque l’utilisateur ne répond pas dans le délai spécifié dans l’extrait de code Comportement de l’invite (soit l’extrait de code Comportement de l’invite par défaut, soit l’extrait de code Comportement de l’invite suivante).

Pour Google Dialogflow, vous pouvez configurer l’événement que vous souhaitez voir se produire dans l’application Concentrateur d’agents virtuels Dialogflow. Pour Dialogflow ES, configurez le champ Timeout Event . Pour Dialogflow CX, configurez 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 le Dialogflow console.

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 contact expire.

Code d’action SNIPPET requis

Une ou plusieurs propriétés de cette action nécessitent une Snippet 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 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 action 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 ou Conversation de votre script, configurez la propriété customPayload avec une variable qui a la fonction asJSON() dans sa valeur. Vous trouverez cette variable dans l’objet customPayload.
  • Transmettez JSON customPayload à l’agent virtuel en utilisant la propriété Payload de QueryParameters. Consultez la documentation Google concernant les paramètres QueryParameters Un carré avec une flèche pointant du centre vers le coin supérieur droit. 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 le 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 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 que vous êtes dans la console de l’agent virtuel que vous utilisez avec CXone. Mappez cela dans votre script en utilisant la variable customPayloadVarName (out) dans l’action voix ou clavardage 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 ne peuvent être utilisés que dans le webhook externe. Si vous souhaitez définir des paramètres à utiliser en dehors du webhook externe, définissez-les 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 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 ne sont utilisés qu’avec les agents virtuels Dialogflow CX. Pour obtenir un résultat similaire avec Dialogflow ES, utilisez des contextes.

  • Les indices de contexte vocal peuvent être transmis avec une charge utile personnalisée 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. pour l’indice que vous voulez 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 endant qu’il parle, ajoutez le paramètre maxPostEnergySilenceMS à l’action Next Prompt Behaviors ou Default Next Prompt Behaviors Snippet.

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 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 nécessaires, mais ils aident l’agent virtuel à faire correspondre un énoncéFermé Ce qu’un contact dit ou tape. à une intention.
  • Dans une action Snippet de votre script, créez un objet customPayload qui suit le format décrit dans la documentation Google Dialogflow ES Icône indiquant que le lien renvoie à 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 à customPayload sans contexte. Pour ce faire, incluez des paires clé-valeur JSON standards dans un objet de données dynamiques.
  • Les contextes vocaux sont transmis dans la charge utile personnalisée dans le paramètre speech_contact. Le contenu de ce paramètre est visible dans les traces Studio et les journaux de l’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.
  • Les indices de contexte vocal peuvent être transmis avec une charge utile personnalisée 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. pour l’indice que vous voulez 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		

Conseils et astuces

Si vous n’entendez pas la voix entre Concentrateur d’agents virtuels 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

Cet exemple montre comment cette action peut être utilisée dans les 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 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 texte complet. Des scripts supplémentaires peuvent être nécessaires.

Ce script est un exemple de la manière d’intégrer des charges utiles personnalisées aux 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 traiter 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 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épassement de délai 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 délai d’expiration. Après le deuxième délai d’expiration, une action Snippet est utilisée pour définir un événement de délai d’expiration différent. Le dépassement de délai alternatif est transmis de l’action Snippet à l’action voicebot par l’intermédiaire de la propriété automatedIntent .

Télécharger ce script.