Les variables agent s’appliquent pendant une seule session utilisateur. Vous spécifiez les variables qui doivent être traitées comme des variables agent pour les distinguer des variables de niveau rubrique.
Créer une variable globale
Vous créez une variable globale en changeant la portée d’une variable de rubrique.
Créez une variable ou utilisez le volet Variables pour ouvrir une variable existante.
Sur le volet Propriétés de la variable, sélectionnez Global (n’importe quelle rubrique peut y accéder).
Le nom de la variable reçoit le préfixe Global.
, pour la différencier des variables de niveau rubrique. Par exemple, la variable UserName
est affichée sous le nom Global.UserName
.
Enregistrez la rubrique.
Le nom d’une variable globale doit être unique dans toutes les rubriques. En cas de conflit, vous devrez renommer la variable avant d’enregistrer votre rubrique.
Utiliser des variables globales
Lorsque vous rédigez un message agent dans un nœud Message ou un nœud Question, #glsr_cfighdz cliquez sur l’icône {x} pour afficher les variables disponibles pour rubrique. Les variables globales s’affichent dans l’onglet Personnalisé, ainsi que les variables de rubrique. Les variables sont répertoriées dans l’ordre alphabétique.
Rechercher toutes les rubriques qui utilisent une variable globale
Vous pouvez voir où une variable globale est définie et quelles autres rubriques l’utilisent. Cela peut être utile si vous travaillez sur un nouveau agent, ou si vous avez plusieurs variables et des branches rubrique complexes.
Sélectionnez une variable globale dans le canevas de création ou ouvrez le volet Variables et sélectionnez une variable globale.
Dans le volet Propriétés de la variable, dans la section Référence, sélectionnez l’un des rubriques où la variable est utilisée pour accéder directement à cette rubrique et ce nœud.
Cycle de vie des variables globales
Par défaut, la valeur d’une variable globale persiste jusqu’à la fin de la session. Le nœud Effacer les valeurs de variable réinitialise les valeurs des variables globales et est utilisé dans la rubrique système Réinitialiser la conversation. Cette rubrique peut être déclenchée par la redirection ou lorsque l’utilisateur saisit une phrase de déclenchement telle que « Recommencer ». Dans ce cas, toutes les variables globales sont redéfinies.
Définir la valeur d’une variable globale à partir de sources externes
Si vous souhaitez vous assurer que le agent démarre une conversation avec un certain contexte, vous pouvez initialiser une variable globale avec une source externe. Supposons que votre site nécessite que les utilisateurs se connectent. Étant donné que votre agent connaît déjà le nom d’un utilisateur, il peut saluer les clients par leur nom avant qu’ils ne commencent à taper leur première question.
Sélectionnez une variable globale.
Dans le volet Propriétés de la variable, sélectionnez Les sources peuvent définir des valeurs.
Définir des variables globales dans un agent intégré
Si vous intégrez votre agent dans une page Web simple, vous pouvez ajouter des variables et leurs définitions à l’URL de agent. ... Ou bien, si vous souhaitez un peu plus de contrôle, vous pouvez utiliser un bloc de code <script>
pour appeler et utiliser les variables par programmation.
Le nom de la variable dans la chaîne de requête de l’URL doit correspondre au nom de la variable globale sans le préfixe Global.
. Par exemple, une variable globale Global.UserName
serait appelée UserName
dans la requête.
Les exemples qui suivent offrent une déclaration simple pour les variables. Dans un scénario de production, vous pouvez transmettre en tant que paramètre de requête ou définition de variable une autre variable qui a déjà stocké le nom de l’utilisateur (par exemple, si vous avez le nom d’utilisateur d’un script de connexion).
Ajoutez les variables et leurs définitions à l’URL de agent en tant que paramètres de chaîne de requête au format botURL?variableName1=variableDefinition1&variableName2=variableDefinition2
.
Par exemple :
Le nom du paramètre est insensible à la casse. username=Renata
fonctionnera également dans cet exemple.
Ajouter des variables globales à un canevas personnalisé
Vous pouvez également ajouter la variable à un canevas personnalisé.
Dans la section de la page où vous avez votre agent, définissez les variables comme suit, en remplaçant <script>
le nom de la variable sans le variableName1
préfixe et Global.
la définition. variableDefinition1
Séparez plusieurs variables par des virgules (,
).
const store = WebChat.createStore({}, ({ dispatch }) => next => action => {
if (action.type === 'DIRECT_LINE/CONNECT_FULFILLED') {
dispatch({
type: "WEB_CHAT/SEND_EVENT",
payload: {
name: "pvaSetContext",
value: {
"variableName1": "variableDefinition1",
"variableName2": "variableDefinition2"
}
},
});
}
return next(action);
});
Dans votre <script>
section, appelez le store
lorsque vous intégrez votre agent, comme dans l’exemple suivant où store
est appelé juste au-dessus de l’endroit où styleOptions
est appelé (vous devrez remplacer le BOT_ID
par l’ID de votre agent) :
const BOT_ID = "12345-5678";
const theURL = "https://powerva.microsoft.com/api/botmanagement/v1/directline/directlinetoken?botId=" + BOT_ID;
fetch(theURL)
.then(response => response.json())
.then(conversationInfo => {
window.WebChat.renderWebChat(
{
directLine: window.WebChat.createDirectLine({
token: conversationInfo.token,
}),
store,
styleOptions
},
document.getElementById('webchat')
);
})
.catch(err => console.error("An error occurred: " + err));
Les variables agent s’appliquent pendant une seule session utilisateur. Vous spécifiez les variables qui sont traitées comme des variables agent pour les distinguer des variables de niveau rubrique.
Définir des variables d’agent
Après avoir défini une variable agent, elle sera disponible pour tous les sujets.
Lorsque vous cliquez sur le bouton dans un nœud de message ou un nœud de question lorsque vous rédigez un message, vous verrez que la variable est disponible. {x}
Les variables sont triées par ordre alphabétique, vous constaterez donc que toutes les variables agent sont regroupées dans le menu des variables car elles commencent toutes par agent.
.
Lorsque vous utilisez un nœud de condition, un nœud d’action de flux ou un nœud compétence, vous verrez également des variables agent disponibles à cet endroit.
Réutiliser une variable dans plusieurs sujets en la définissant comme une variable agent
Sélectionnez une variable dans le canevas de création.
Dans le volet Propriétés des variables , sous Utilisation, Sélectionner agent (tout rubrique peut accéder).
Le nom de la variable recevra une chaîne de préfixe agent.
, pour le différencier des variables de niveau sujet. Par exemple, la variable UserName
est désormais affichée comme agent.UserName
.
Note
Le nom d’une variable agent doit être unique dans toutes les rubriques. En cas de conflit, vous devrez renommer la variable avant d’enregistrer votre modification.
Gérer les variables d’agent
Après avoir créé une variable agent, vous pouvez voir où elle est définie pour la première fois et quels autres sujets l’utilisent. Cela peut être utile si vous travaillez sur un nouveau agent, ou si vous avez plusieurs variables et des branches rubrique complexes.
Accéder à la source de la définition d’une variable agent
Sélectionnez une variable dans le canevas de création.
Dans le volet Propriétés des variables, sélectionnez Accéder à la source de données.
Cela vous amènera au nœud dans le rubrique où la variable agent a été créée.
Trouver tous les sujets utilisant une variable agent
Sélectionner toute variable agent dans le canevas de création.
Dans le volet Propriétés variables, dans la section Utilisée par, sélectionnez l’un des rubriques dans lesquelles la variable est utilisée pour accéder directement à cette rubrique et nœud.
Initialisation de la variable agent
Si une variable agent est déclenchée avant d’avoir été initialisée (ou "remplie"), agent déclenche automatiquement la partie de rubrique où la variable agent est définie en premier, même lorsqu’elle se trouve dans un rubrique différent, avant de revenir au rubrique d’origine. Cela permet au agent d’avoir toutes les variables renseignées sans interrompre la conversation.
Par exemple, le client démarre la conversation sur la "Prise de rendez-vous" rubrique, dans laquelle une variable agent agent.UserName
est utilisée. Cependant, la variable est d’abord définie dans le message "Bienvenue" rubrique. agent.UserName
Lorsque la conversation arrive au pointer dans la "Prise de rendez-vous" rubrique où agent.UserName
est référencé, le agent pivote de manière transparente vers le nœud de question où agent.UserName
est défini en premier.
Après que le client ait répondu à la question, le agent reprend la "Prise de rendez-vous" rubrique.
Comportement variable agent lors de l’implémentation d’actions via Power Automate flux ou compétences
Parfois, vous pouvez utiliser un flux ou compétence pour initialiser ou remplir une variable dans un agent.
Cependant, lorsqu’un utilisateur interagit avec le agent, la variable peut être renseignée à un pointer antérieur dans la conversation, ou vous pouvez avoir les variables sont déjà définies en externe.
Dans ce cas, le flux ou la compétence s’exécutera et remplira toujours la variable, en remplaçant tout ce qui était précédemment stocké dans la variable.
Agent cycle de vie des variables et réinitialisation de sa valeur
Les variables agent sont accessibles depuis n’importe quel rubrique, et la valeur attribuée à la variable agent persiste tout au long de la session .
La valeur n’est effacée que lorsque l’utilisateur agent est redirigé vers Recommencer rubrique, ou lorsque l’utilisateur déclenche directement ce rubrique (par exemple, en tapant Recommencer). Dans ce cas, toutes les variables agent seront réinitialisées et n’auront plus de valeurs.
Définir la valeur d’une variable d’agent à partir de sources externes
Vous pouvez définir une variable d’agent à initialiser avec une source externe. Ainsi, l’agent peut démarrer la conversation avec un certain contexte.
Par exemple, un client ouvre une discussion agent depuis votre site Web, et le site connaît déjà le nom du client. Vous indiquez au agent le nom de l’utilisateur avant de démarrer la conversation, et le agent peut avoir une conversation plus intelligente avec le client sans avoir à lui demander à nouveau son nom.
Définir la variable agent à partir d’une source externe
Sélectionnez une variable dans le canevas de création.
Dans le volet Propriétés des variables, dans la section Utilisation, cochez la case Les sources externes peuvent définir des valeurs.
Vous pouvez ajouter les variables et leurs définitions si vous intégrez simplement votre agent dans une page Web simple, ou vous pouvez utiliser un bloc de code pour appeler et utiliser des variables par programmation. ... <script>
Note
Le nom de la variable dans la chaîne de requête doit correspondre à celui de la variable agent, sans le préfixe agent.
. Par exemple, une variable agent agent.UserName
doit être rendue comme UserName=
.
Dans les exemples décrits ici, une simple déclaration est faite pour les variables. Dans un scénario de production, vous pouvez transmettre en tant que paramètre de requête ou définition de variable une autre variable qui a déjà stocké le nom de l’utilisateur (par exemple, si vous avez le nom d’utilisateur d’un script de connexion).
Pour ajouter la variable à un agent intégré
Ajoutez les variables et leurs définitions à l’URL de agent en tant que paramètres de chaîne de requête (au format botURL?variableName1=variableDefinition1&variableName2=variableDefinition2
), par exemple :
Le nom du paramètre est insensible à la casse. Ça signifie que username=Renata
fonctionnera également dans cet exemple.
Dans la section de la page où vous avez votre agent, définissez les variables comme suit, en remplaçant le nom de la variable sans le préfixe et la définition. <script>
variableName1
agent.
variableDefinition1
Séparez plusieurs variables par des virgules ,
.
const store = WebChat.createStore({}, ({ dispatch }) => next => action => {
if (action.type === 'DIRECT_LINE/CONNECT_FULFILLED') {
dispatch({
type: "WEB_CHAT/SEND_EVENT",
payload: {
name: "pvaSetContext",
value: {
"variableName1": "variableDefinition1",
"variableName2": "variableDefinition2"
}
},
});
}
return next(action);
});
Dans votre <script>
section, appelez le store
lorsque vous intégrez votre agent, comme dans l’exemple suivant où store
est appelé juste au-dessus de l’endroit où styleOptions
est appelé (vous devrez remplacer le BOT_ID
par votre ID) :
const BOT_ID = "12345-5678";
const theURL = "https://powerva.microsoft.com/api/botmanagement/v1/directline/directlinetoken?botId=" + BOT_ID;
fetch(theURL)
.then(response => response.json())
.then(conversationInfo => {
window.WebChat.renderWebChat(
{
directLine: window.WebChat.createDirectLine({
token: conversationInfo.token,
}),
store,
styleOptions
},
document.getElementById('webchat')
);
})
.catch(err => console.error("An error occurred: " + err));
Supprimer les variables agent
Lors de la suppression d’une variable agent utilisée dans d’autres rubriques, les références à cette variable dans les rubriques seront marquées comme Unknown
.
Vous recevrez un avertissement concernant la suppression de la variable agent avant de pouvoir confirmer l’opération.
Les nœuds qui contiennent des références à la variable agent supprimée vous indiqueront qu’ils contiennent une variable inconnue.
Les rubriques avec des nœuds contenant des références à des variables agent supprimées peuvent cesser de fonctionner. Assurez-vous de supprimer ou de corriger toutes les rubriques qui utilisaient la variable supprimée avant la publication.
En fonction de la configuration d’authentification de agent, vous disposerez d’un ensemble de variables agent associées au fournisseur d’authentification. Pour plus de détails sur l’ensemble de variables disponibles et comment les utiliser, consultez la rubrique de documentation Ajouter l’authentification de l’utilisateur final aux rubriques.