Utiliser des variables
Vous pouvez utiliser des variables pour enregistrer les réponses des clients et réutiliser leur contenu plus tard dans la conversation.
Vous pouvez aussi utiliser des variables pour créer des expressions logiques qui dirigent dynamiquement le client vers différents chemins de conversation. Par exemple, enregistrez le nom d’un client dans une variable appelée « customerName » et l’agent peut s’adresser au client par son nom au fur et à mesure que la conversation se poursuit.
Les variables peuvent également être transmises dans d’autres rubriques et flux Power Automate.
Créer une variable
Tout nœud qui vous invite à sélectionner une variable comme sortie, telle que le nœud Question, crée automatiquement une variable de sortie de type approprié.
Astuce
Renommez les nœuds pour les identifier plus facilement. Sélectionnez le champ de nom du nœud pour mettre à jour le nom directement, ou sélectionnez l’icône Plus (…) du nœud et sélectionnez Renommer dans le menu. Vous pouvez également renommer des nœuds dans l’éditeur de code.
Il n’est pas possible de renommer les nœuds Déclencher et Aller à l’étape.
Les noms de nœud peuvent comporter jusqu’à 500 caractères.
Choisir une entité à utiliser
Les nœuds Question sont créés avec plusieurs options à choix multiples par défaut. Pour utiliser une entité prédéfinie ou personnalisée différente, cochez la case Identifier et choisissez le type d’informations que l’agent doit écouter.
Renommer une variable
Les variables reçoivent automatiquement un nom lors de leur création. Une pratique recommandée consiste à donner à vos variables des noms significatifs pour que leur objectif soit clair à toute autre personne qui doit maintenir votre agent.
Sélectionnez la variable pour l’ouvrir dans le volet Propriétés de la variable.
Sous Nom de la variable, entrez un nouveau nom pour votre variable.
Définir une variable
En règle générale, vous utilisez un nœud Question pour stocker l’entrée utilisateur dans une variable. Cependant, il peut arriver que vous souhaitiez définir la valeur d’une variable vous-même. Dans ces cas, utilisez un nœud Définir la valeur de la variable.
Sélectionnez Ajouter un nœud (+) pour ajouter un nœud, puis sélectionnez Gestion des variables>Définir une valeur de variable.
Sélectionnez la zone sous Définir la variable, puis sélectionnez Créer une variable.
Une variable est créée. Son type est inconnu jusqu’à ce que vous lui attribuiez une valeur.
Pour Valeur de fin, affectez une valeur en utilisant l’une des options suivantes :
- Saisissez une valeur littérale.
- Sélectionnez une variable existante du même type. Cette action définit votre variable sur la même valeur que la variable que vous sélectionnez.
- Utilisez une formule Power Fx. Les formules Power Fx sont utiles pour les types plus complexes, où les valeurs littérales ne peuvent pas être utilisées, comme les types Table et Enregistrement.
Note
Lors de la définition d’une variable de type chaîne, si vous rencontrez une incompatibilité entre Définir la variable et Valeur de destination, un message d’erreur et le bouton Corriger l’incompatibilité de type s’affichent. Sélectionnez le bouton pour permettre à Copilot Studio de générer automatiquement une formule Power Fx qui résout l’incompatibilité.
Utiliser des variables dans les nœuds d’action
Lorsque vous utilisez une variable dans un nœud d’action, si son type de base correspond à un type de paramètre spécifié pour un flux, ou pour une compétence Bot Framework, vous pouvez l’alimenter à ce paramètre. Le résultat des nœuds d’action génère de nouvelles variables.
Utiliser des valeurs littérales pour les entrées de variables
Dans les nœuds où vous pouvez définir une valeur pour les paramètres d’entrée, vous pouvez toujours entrer une valeur littérale au lieu de sélectionner une autre variable comme valeur.
Le nœud tente d’interpréter les valeurs littérales comme une chaîne, un nombre ou une valeur booléenne. Par exemple, 123 est interprété comme un nombre. Si vous voulez qu’il soit interprété plutôt comme une valeur de chaîne, vous pouvez entourer cette valeur de guillemets doubles, comme "123".
Pour certains scénarios (par exemple, les scénarios utilisant des types complexes), vous devrez peut-être utiliser une formule Power Fx pour définir un type spécifique.
Utiliser les variables d’environnement pour les secrets Azure Key Vault
Une variable d’environnement peut référencer un secret dans Key Vault. Les variables d’environnement secrètes sont un cas spécial de variables d’environnement avec des considérations uniques.
Pour créer une variable d’environnement secrète dans le portail Power Apps, vous devez configurer son Key Vault.
Pour autoriser Copilot Studio à lire ce Key Vault, vous devez effectuer les actions suivantes :
Attribuez le rôle
Key Vault Secrets User
à l’applicationMicrosoft Virtual Agents Service
.Pour autoriser tous les agents de l’environnement à accéder au secret, créez une balise
AllowedEnvironments
sur le secret et ajoutez les ID d’environnement autorisés séparés par des virgules.Pour autoriser uniquement des agents spécifiques de l’environnement à utiliser ce Key Vault, créez une balise
AllowedAgents
et mettez l’identifiant de l’agent au format{envId}/{schemaName}
. Pour plusieurs valeurs, séparez les valeurs avec des virgules.
Si vous atteignez le nombre maximum de caractères mais que vous avez encore besoin d’ajouter d’autres agents, ajoutez une autre balise avec un nom descriptif mais unique (par exemple : AllowedAgents2
).
La valeur secrète est mise en cache lors de l’exécution de la boîte de dialogue pendant cinq minutes. Les lectures ayant échoué sont mises en cache pendant 30 secondes.
Avertissement
En ajoutant le secret dans l’agent, vous pouvez exposer la valeur de ce secret à tous les utilisateurs qui peuvent modifier l’agent dans l’environnement, car ces utilisateurs peuvent modifier l’agent pour renvoyer la valeur dans le nœud SendMessage
.
Volet Variables
Le volet Variables vous permet d’afficher toutes les variables disponibles pour une rubrique, quels que soient les nœuds dans lesquels elles sont définies ou utilisées. Pour chaque variable, vous pouvez choisir si elle peut recevoir sa valeur d’autres rubriques, renvoyer sa valeur à d’autres rubriques, ou les deux. Vous pouvez également sélectionner une variable pour modifier ses propriétés dans le volet Propriétés de la variable.
Pour ouvrir le volet Variables, dans la barre de menus de la rubrique, sélectionnez Variables.
Volet des propriétés des variables
Dans le volet Propriétés des variables, vous pouvez renommer une variable, voir où une variable est utilisée ou convertir une variable en variable globale. Toutefois, vous ne pouvez pas convertir une variable globale en variable de rubrique. Vous pouvez également choisir si une variable de rubrique peut recevoir des valeurs ou transmettre sa valeur à d’autres rubriques.
Pour ouvrir le volet Propriétés de la variable, sélectionnez la variable souhaitée dans le volet Variables. Vous pouvez également ouvrir le volet Propriétés des variables en sélectionnant une variable dans un nœud.
Transmettre des variables d’une rubrique à une autre
Lorsque vous redirigez une rubrique vers une autre, vous pouvez transmettre les valeurs des variables de la rubrique d’origine à la rubrique de destination et également renvoyer des valeurs de la rubrique de destination à la rubrique d’origine. Passer des variables entre les rubriques est particulièrement utile lorsqu’une rubrique précédente a déjà recueilli des informations dont une rubrique ultérieure a besoin. Vos utilisateurs apprécieront de ne pas avoir à répondre à nouveau aux mêmes questions.
Recevoir des valeurs d’autres rubriques
Lorsqu’une rubrique définit une variable (par exemple, dans un nœud Question), l’agent pose à l’utilisateur la question pour compléter la valeur de la variable. Si l’agent a déjà acquis la valeur dans une rubrique précédente, il n’y a aucune raison de poser à nouveau la question. Dans ces cas, vous pouvez définir la variable comme Recevoir des valeurs d’autres rubriques. Lorsqu’une autre rubrique redirige vers cette rubrique, la valeur d’une variable ou une valeur littérale peut être transmise à cette variable, et la question peut être ignorée. L’expérience de l’utilisateur qui parle à l’agent est fluide.
Dans cet exemple, nous utilisons deux rubriques, Salutation et Conversation avec le client. Les deux rubriques demandent le nom du client. Cependant, si la rubrique Salutation s’exécute en premier, la rubrique Conversation avec le client ignore sa question. À la place, elle utilise la valeur de la variable transmise à partir de la rubrique Salutation.
Voici le flux de la rubrique Conversation avec le client :
Comme indiqué dans le volet de test, si cette rubrique est déclenchée en premier, elle demande à l’utilisateur : « Comment dois-je vous appeler ? » Elle stocke la valeur dans une variable de chaîne appelée customerName. La variable customerName est également définie pour obtenir sa valeur à partir d’autres rubriques. La rubrique se termine par le message suivant : « J’espère que vous passez une magnifique journée, customerName ! »
Voici le flux de la rubrique Salutation :
Comme indiqué dans le volet de test, si cette rubrique est déclenchée en premier, elle demande à l’utilisateur : « Comment vous appelez-vous ? » Elle stocke la valeur dans une variable de chaîne appelée customerName. La rubrique envoie le message suivant : « Enchanté de vous rencontrer, customerName ! » Elle redirige ensuite vers la rubrique Conversation avec le client, qui envoie le message : « J’espère que vous passez une magnifique journée, customerName ! » Notez toutefois que la rubrique Conversation avec le client a omis de demander à nouveau le nom de l’utilisateur. À la place, elle a utilisé la variable customerName transmise à partir de la rubrique Salutation.
Enfin, voici à nouveau cette deuxième conversation, cette fois-ci du point de vue de la rubrique Conversation avec le client :
Passons en revue les étapes pour configurer une rubrique pour recevoir des valeurs d’autres rubriques. Notre exemple de scénario utilise la rubrique prédéfinie Salutation comme rubrique source et une nouvelle rubrique Conversation avec le client comme rubrique de destination, mais les mêmes étapes fonctionnent pour toute rubrique qui doit utiliser une valeur d’une rubrique précédente lorsque cela est possible.
Configurer la rubrique de destination
La rubrique de destination désigne la rubrique de redirection, celle qui recevra les valeurs des autres rubriques. Dans notre exemple, il s’agit de Conversation avec le client.
Créez une rubrique et appelez-la « Conversation avec le client ».
Ajoutez des phrases déclencheurs telles que « parler avec moi », « discuter avec moi », « converser avec moi ».
Ajoutez un nœud Question et entrez « Comment dois-je vous appeler ? » pour le message.
Sous Identifier, sélectionnez l’entité prédéfinie Nom de la personne.
Sélectionnez le nom de la variable. Le volet Propriétés de la variable s’ouvre.
Remplacez le nom par défaut par « customerName », puis sélectionnez Recevoir des valeurs d’autres rubriques.
Ajoutez un nœud Message.
Dans la zone de message, entrez « J’espère que vous passez une magnifique journée, ».
Sélectionnez l’icône Insérer une variable ({x}), puis sélectionnez la variable customerName.
Sélectionnez l’espace après la variable et entrez « ! ».
Enregistrez la rubrique.
Configurer la rubrique source
La rubrique source est la rubrique qui effectue la redirection, celle qui fournit la valeur et la transmet à la rubrique de destination. Dans notre exemple, il s’agit de Salutation.
Accédez à la rubrique Salutation et supprimez les nœuds par défaut, à l’exception du nœud Déclencheur.
Ajoutez un nœud Question et entrez « Comment vous appelez-vous ? » pour le message.
Sous Identifier, sélectionnez l’entité prédéfinie Nom de la personne.
Remplacez le nom par défaut par « customerNameFromGreeting ».
Ajoutez un nœud Message.
Dans la zone de message, entrez « Enchanté de vous rencontrer, ».
Sélectionnez l’icône Insérer une variable ({x}), puis sélectionnez la variable customerNameFromGreeting.
Sélectionnez l’espace après la variable et entrez « ! ».
Ajoutez un nœud Redirection et sélectionnez la rubrique de destination Conversation avec le client.
Sélectionnez Ajouter une entrée, puis sélectionnez la variable dans la rubrique de destination à laquelle vous souhaitez transmettre une valeur.
Sélectionnez l’icône >, puis sélectionnez la variable dont vous souhaitez transmettre la valeur, customerNameFromGreeting, dans cet exemple.
Le nœud Redirection doit ressembler à ce qui suit :
Enregistrez la rubrique.
Renvoyer les valeurs aux rubriques d’origine
Lorsqu’une rubrique est redirigée et obtient une variable en posant une question ou à partir d’une action, cette variable peut être renvoyée à la rubrique d’origine. La variable fait également partie de la rubrique d’origine et peut être utilisée comme n’importe quelle autre variable. Les informations obtenues par l’agent sont ainsi disponibles dans toutes les rubriques, ce qui réduit le besoin de variables globales.
Cela correspond à l’exemple de la section précédente. Nous posons une nouvelle question dans la rubrique Conversation ave le client, puis nous renvoyons la réponse à la rubrique Salutation.
Configurer la rubrique source pour une variable renvoyée
Lorsque vous renvoyez une variable à une rubrique, la rubrique source est la rubrique qui fournit la valeur à transmettre à la rubrique d’origine. Dans cet exemple, la rubrique source est Conversation avec le client.
Accédez à la rubrique source.
Ajoutez un nœud Question et entrez « Dans quelle ville habitez-vous ? » pour le message.
Sous Identifier, sélectionnez l’entité prédéfinie Ville.
Sélectionnez la variable pour l’ouvrir dans le volet Propriétés des variables. Nommez-la « customerCity », puis sélectionnez Renvoyer les valeurs aux rubriques d'origine.
Ajoutez un nœud Message.
Sélectionnez l’icône Insérer une variable ({x}), puis sélectionnez la variable customerCity.
Après la variable dans la zone de message, entrez « doit être magnifique à cette période de l'année! ».
Enregistrez la rubrique.
Configurer la rubrique de destination pour une variable renvoyée
Lorsque vous renvoyez une variable à une rubrique, la rubrique de destination est celle qui reçoit les valeurs de la rubrique actuelle. Dans notre exemple, la rubrique de destination est Salutation.
Accédez à la rubrique de destination.
La variable que vous avez sélectionnée dans la rubrique source doit apparaître dans le nœud Redirection en tant que variable de sortie.
Enregistrez la rubrique.
Nœud Analyser la valeur
Le nœud Analyser la valeur vous permet de convertir une valeur d’un type en une valeur d’un autre type. Lors de l’ajout d’un nœud à une rubrique, sélectionnez l’icône Ajouter un nœud , pointez sur Gestion des variables, puis sélectionnez Analyser la valeur.
Les scénarios clés utilisant le nœud Analyser la valeur se concentrent sur la conversion de variables JSON brut ou de variables sans type (dont la valeur ou la structure n’est connue qu’au moment de l’exécution ; par exemple ChannelData) en types concrets.
Le processus démarre lorsqu’un flux est appelé, qui à son tour appelle une API. L’API renvoie alors un résultat. En règle générale, vous devez parser cette réponse et renvoyer une ou plusieurs variables primitives. Avec le nœud Analyser la valeur, vous pouvez envoyer le résultat complet de l’API sous forme de chaîne. Par exemple :
{
"Name": "Parker",
"Position": "Product manager",
"Company": "Contoso",
"FormerPositions": [{
"Position": "Customer service representative"
}
]
}
La variable de chaîne que vous avez maintenant peut être convertie en une variable d’enregistrement, avec une prise en charge complète d’IntelliSense dans Power Fx, en utilisant ce nouveau nœud. Un exemple utilisant des exemples de données aidera à illustrer ce processus.
Exemple d’utilisation du nœud Analyser la valeur
Ajoutez un nœud Analyser la valeur et sélectionnez la variable que vous souhaitez analyser.
Sélectionnez le type de données. Dans ce cas, choisissez À partir de l’exemple de données.
Sélectionnez Obtenir le schéma à partir de l’exemple JSON et entrez l’exemple JSON souhaité dans l’éditeur qui s’ouvre.
Enfin, spécifiez dans quelle variable vous souhaitez placer la valeur analysée. Habituellement, vous créez une nouvelle variable pour cela.
Notez que la variable de sortie est maintenant du type correct : Enregistrement.
En plus de l’analyse des chaînes JSON, une utilisation clé du nœud Analyser la valeur consiste à analyser UntypedObjects au moment de l’exécution. Le cas d’utilisation le plus courant est lorsque vous recevez un événement et que vous devez analyser la valeur de l’événement. Vous pouvez également analyser la propriété System.Activity.ChannelData, qui varie au moment de l’exécution selon le canal.
Si vous deviez analyser les informations d’un événement provenant de Teams, vous devrez utiliser la documentation pour développeurs Teams pour trouver un exemple de ce à quoi pourrait ressembler l’événement attendu, puis utiliser cet exemple comme exemple de données, comme indiqué précédemment dans cette section.