VoiceBot Exchange

Intègre un agent virtuelFermé 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 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.

Il s’agit de l’action préférée pour les agents virtuels vocaux. Si vous souhaitez configurer les options intervention ou aucune entrée, un script supplémentaire est requis. Si vous utilisez une connexion secrète SIPFermé Protocole utilisé pour signaler et contrôler les sessions de communication multimédia telles que les appels vocaux et vidéo., vous devez utiliser l’action Voicebot Conversation.

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

Dependencies

  • 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.

Supported Script Types

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

Téléphone

Comparison of Similar Actions

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

  • 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 : 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 Conversation : Cette action ne convient qu’aux agents virtuels très simples. Elle ne permet pas de personnaliser le comportement de l’agent virtuel d’un tour à l’autre. Si vous souhaitez utiliser une connexion SIP secrète et que votre agent virtuel la prend en charge, vous devez utiliser Voicebot Conversation.
  • 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.

Supported Virtual Agents

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’agents virtuels que vous utilisez pour les détails de configuration.

Input Properties

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.

Output Properties

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.

Result Branch Conditions

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 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

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.

Required SNIPPET Action Code

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

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 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 SECRET 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 SECRET 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.

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 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 SECRET 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		

Tips and Tricks

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 SECRET Dialogflow doit être ajusté.

Script Example

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 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

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.

Example Script for Alternate Timeout Events

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.