Les variables de copilote s’appliquent pendant une seule session utilisateur. Vous spécifiez quelles variables doivent être traitées comme des variables de copilote pour les distinguer des variables au niveau de la 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 de copilote dans un nœud Message ou un nœud Question, sélectionnez l’icône {x} pour voir les variables disponibles pour la 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 copilote, ou si vous avez plusieurs variables et une ramification de rubriques complexe.
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 voulez vous assurer que le copilote 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. Puisque votre copilote connaît déjà le nom d’un utilisateur, il peut saluer les clients par leur nom avant qu’ils ne commencent à saisir 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 copilote incorporé
Si vous incorporez votre copilote dans une simple page web, vous pouvez ajouter des variables et leurs définitions à l’URL du copilote. 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 du copilote 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 <script>
de la page où se trouve votre copilote, définissez les variables comme suit, en remplaçant variableName1
pour le nom de la variable sans le préfixe Global.
et variableDefinition1
pour la définition. 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 section <script>
, appelez le store
lorsque vous intégrez votre copilote, 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 copilote) :
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 de copilote s’appliquent pendant une seule session utilisateur. Vous spécifiez les variables traitées comme des variables de copilote pour les distinguer des variables au niveau de la rubrique.
Définir des variables de copilote
Après avoir défini une variable de copilote, celle-ci sera disponible pour toutes les rubriques.
Lorsque vous sélectionnez le bouton {x}
dans un nœud de message ou un nœud de question lorsque vous rédigez un message de copilote, vous verrez que la variable de copilote est disponible. Les variables sont triées par ordre alphabétique, vous constaterez donc que toutes les variables de copilote sont regroupées dans le menu des variables car elles commencent toutes par copilot.
.
Lorsque vous utilisez un nœud de condition, un nœud d’action de flux ou un nœud de compétence, vous pouvez également visualiser les variables de copilote qui y sont disponibles.
Réutiliser une variable dans les rubriques en la définissant comme variable de copilote
Sélectionnez une variable dans le canevas de création.
Dans le volet Propriétés de la variable, sous Utilisation, sélectionnez copilote (toutes les rubriques peuvent y accéder).
Le nom de la variable recevra une chaîne de préfixe copilot.
, pour la différencier des variables de niveau rubrique. Par exemple, la variable UserName
s’affiche maintenant sous le nom copilot.UserName
.
Note
Le nom d’une variable de copilote doit être unique sur toutes les rubriques. En cas de conflit, vous devrez renommer la variable avant d’enregistrer votre modification.
Gérer les variables de copilote
Après avoir créé une variable de copilote, vous pouvez voir où elle est définie en premier et quelles autres rubriques l’utilisent. Cela peut être utile si vous travaillez sur un nouveau copilote, ou si vous avez plusieurs variables et une ramification de rubriques complexe.
Accéder à la source de la définition d’une variable de copilote
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.
Il vous amène au nœud dans la rubrique où la variable de copilote a été créée.
Rechercher toutes les rubriques qui utilisent une variable de copilote
Sélectionnez une variable de copilote 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 d’une variable de copilote
Si une variable de copilote est déclenchée avant d’avoir été initialisée (ou « remplie »), le copilote déclenche automatiquement la partie de la rubrique où la variable de copilote est définie pour la première fois, même si c’est une autre rubrique, avant de revenir à la rubrique originale. Cela permet au copilote de remplir toutes les variables sans interrompre la conversation.
Par exemple, le client démarre la conversation sur la rubrique « Prise de rendez-vous », dans laquelle une variable de copilote copilot.UserName
est utilisée. Cependant, la variable copilot.UserName
est d’abord définie dans la rubrique « Bienvenue ».
Lorsque la conversation entre dans le vis de la rubrique « Prise de rendez-vous » où la variable copilot.UserName
est utilisée, le copilote bifurque en toute fluidité vers le nœud de question où copilot.UserName
a été défini pour la première fois.
Une fois que le client a répondu à la question, le copilote reprend la rubrique « Prise de rendez-vous ».
Comportement de la variable de copilote lors de l’implémentation des actions via les flux ou les compétences Power Automate
Parfois, vous pouvez utiliser un flux ou une compétence pour initialiser ou remplir une variable dans un copilote.
Cependant, lorsqu’un utilisateur interagit avec le copilote, la variable peut être remplie plus tôt dans la conversation, ou vous pouvez avoir déjà défini les variables 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.
Cycle de vie des variables de copilote et réinitialisation de sa valeur
Les variables de copilotes sont accessibles à partir de n’importe quelle rubrique, et la valeur attribuée à la variable de copilote persiste tout au long de la session.
La valeur n’est effacée que lorsque l’utilisateur du copilote est redirigé vers la rubrique système Recommencer, ou lorsque l’utilisateur déclenche directement cette rubrique (par exemple, en tapant Recommencer). Dans ce cas, toutes les variables du copilote seront réinitialisées et n’auront aucune valeur.
Définir la valeur d’une variable de copilote à partir de sources externes
Vous pouvez définir une variable de copilote à initialiser avec une source externe. Ainsi, le copilote peut démarrer la conversation avec un certain contexte.
Par exemple, un client affiche une conversation de copilote à partir de votre site web, et le site connaît déjà le nom du client. Vous laissez le copilote connaître le nom de l’utilisateur avant de commencer la conversation, et le copilote peut avoir une conversation plus intelligente avec le client sans avoir à demander à nouveau son nom.
Définir une variable de copilote à 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 votre copilote dans une simple page Web ou vous pouvez utiliser un bloc de code <script>
pour appeler et utiliser des variables par programmation.
Note
Le nom de la variable dans la chaîne de requête doit correspondre à celui de la variable de copilote, sans le préfixe copilot.
. Par exemple, une variable de copilote copilot.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 copilote intégré
Ajoutez les variables et leurs définitions à l’URL du copilote 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 <script>
de la page où se trouve votre copilote, définissez les variables comme suit, en remplaçant variableName1
pour le nom de la variable sans le préfixe copilot.
et variableDefinition1
pour la définition. 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 section <script>
, appelez le store
lors de l’intégration du copilote, 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 des variables de copilote
Lors de la suppression d’une variable de copilote 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 de copilote avant de pouvoir confirmer l’opération.
Les nœuds qui contiennent des références à la variable de copilote supprimée vous indiqueront qu’ils contiennent une variable inconnue.
Les rubriques dont les nœuds contiennent des références à des variables de copilote 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 du copilote, vous disposerez d’un ensemble de variables de copilote 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.