Utiliser des variables

Important

Les capacités et les fonctionnalités de Power Virtual Agents font maintenant partie de Microsoft Copilot Studio, suite à des investissements significatifs dans l’IA générative et des intégrations améliorées dans Microsoft Copilot.

Certains articles et captures d’écran peuvent faire référence à Power Virtual Agents pendant que nous mettons à jour la documentation et le contenu de la formation.

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 UserName et le copilote peut s’adresser au client par son nom pendant que la conversation se poursuit.

Les variables peuvent également être transmises dans d’autres rubriques et flux Power Automate.

Les variables peuvent exister dans trois niveaux ou portées :

  • Rubrique : les variables de rubrique ne peuvent être utilisées que dans les rubriques dans lesquelles elles sont créées. Il s’agit de la portée par défaut pour les variables que vous créez.
  • Les variables globales peuvent être utilisées dans toutes les rubriques. Vous pouvez modifier la portée d’une variable de rubrique pour en faire une variable globale.
  • Les variables système sont créées automatiquement avec votre copilote. Elles fournissent des informations plus contextuelles sur la conversation ou l’utilisateur. Elles sont disponibles dans toutes les rubriques.

Types de variable

Une variable est associée à un type de base. Le type détermine les valeurs que la variable peut contenir et les opérateurs que vous pouvez utiliser lors de la construction d’une expression logique avec la variable correspondante.

Type Description
String Séquence de caractères utilisés pour représenter du texte
Entier Valeur logique qui ne peut être que true ou false
Chiffre Tout nombre réel
Table Liste de valeurs, mais toutes les valeurs doivent être du même type
Enregistrer Collection de paires nom-valeur où les valeurs peuvent être de n’importe quel type
DateHeure Date, heure, jour de la semaine ou mois par rapport à un moment donné
Option Liste de valeurs de chaîne qui ont des synonymes associés
Vide Un espace réservé pour « aucune valeur » ou « valeur inconnue » ; pour plus d’informations, voir Vides dans Power Fx

Le type d’une variable est défini la première fois qu’une valeur est affectée. Après cela, le type de cette variable est fixe et des valeurs d’un autre type ne peuvent pas lui être affectées. Par exemple, le type Nombre est affecté à une variable avec la valeur de début 1. La tentative d’affectation de la valeur Chaîne"apples" entraînera une erreur.

Lorsque vous testez un copilote, une variable peut apparaître temporairement comme le type inconnu. Une valeur n’a pas encore été affectée à une variable inconnue.

L’ordre des variables est déterminé de haut en bas du canevas de création. Autrement dit, les nœuds en haut du canevas de création sont pris en compte avant les nœuds en bas. Lorsque vous créez des branches avec des nœuds Condition , les branches sont triées de gauche à droite. Autrement dit, les nœuds de la branche la plus à gauche sont considérés avant les nœuds de la branche la plus à droite.

Entités

Microsoft Copilot Studio utilise des entités pour comprendre et identifier un type spécifique d’information dans les réponses d’un utilisateur. Les informations identifiées sont enregistrées dans une variable du type approprié pour les informations. Le tableau suivant répertorie le type de base variable associé aux entités prédéfinies.

Entity Type de base de variable
Options à choix multiples Option
Réponse complète de l’utilisateur String
Âge Chiffre
Entier Entier
Ville String
Color String
Continent String
Pays ou région String
Date et heure DateHeure
Email String
Événement String
Integer Integer
Langage String
Money Chiffre
Chiffre Chiffre
Ordinal Chiffre
Organization String
Pourcentage Chiffre
Nom de la personne String
Numéro de téléphone String
Point d’intérêt String
Vitesse Number
State String
Adresse postale String
Température Chiffre
URL String
Poids Chiffre
Code postal String
Entité personnalisée Option

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

Capture d’écran d’un nœud Question, avec le nom et le type de la variable par défaut mis en évidence.

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 le copilote doit écouter.

Capture d’écran d’un nœud Question avec le menu « Choisir les informations à identifier » ouvert et l’entité « Nom de la personne » en surbrillance.

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

  1. Sélectionnez la variable pour l’ouvrir dans le volet Propriétés de la variable.

  2. Sous Nom de la variable, entrez un nouveau nom pour votre variable.

Définir une variable

Généralement, vous utiliserez un nœud Question pour enregistrer l’entrée de l’utilisateur dans une variable. Cependant, il peut arriver que vous souhaitiez définir la valeur vous-même. Dans ces cas, utilisez un nœud Définir la valeur de la variable.

  1. Sélectionnez Ajouter un nœud (+) pour ajouter un nœud, puis sélectionnez Définir une valeur de variable.

  2. Sélectionnez la zone sous Définir la variable, puis sélectionnez Créer une variable.

    Capture d’écran du bouton Créer une nouvelle variable.

    Une variable est créée. Son type est inconnu jusqu’à ce que vous lui attribuiez une valeur.

    Capture d’écran d’un nœud Définir la valeur de la variable avec une nouvelle variable de type inconnu.

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

Utiliser des valeurs littérales

Au lieu de sélectionner une valeur de variable, vous pouvez saisir une valeur littérale dans une variable.

Capture d’écran montrant l’utilisation d’une valeur littérale pour une variable nommée productName.

Capture d’écran montrant une valeur littérale comme entrée pour une variable dans un nœud de redirection.

Le nœud tente d’interpréter les valeurs littérales comme de type Chaîne, Nombre ou Booléen. Par exemple, 123 est interprété comme un nombre. Si vous voulez que cela 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, ou lorsque vous utilisez des types plus complexes, utilisez une formule Power Fx pour définir un type spécifique.

Volet Variables

Le volet Variables vous permet d’afficher toutes les variables disponibles dans la 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.

Capture d’écran du volet Variables dans le canevas de création de Microsoft Copilot Studio avec le bouton Variables en surbrillance.

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. Cependant, vous ne pouvez pas la reconvertir d’une variable globale en une variable de rubrique. Vous pouvez également choisir si elle peut recevoir des valeurs ou transmettre sa valeur à d’autres rubriques.

Pour ouvrir le volet Propriétés des variables, sélectionnez une variable dans le volet Variables. Vous pouvez également ouvrir le volet Propriétés des variables en sélectionnant une variable dans un nœud.

Capture d’écran du Volet des propriétés des variables.

Variables système

Chaque copilote est fourni avec des variables système intégrées qui fournissent des informations supplémentaires sur une conversation.

Capture d’écran des variables système dans une rubrique de copilote.

Toutes les variables système ne sont pas affichées dans la liste. Vous devez accéder à ces variables système cachées avec une formule Power Fx.

Pour utiliser des variables système dans une formule Power Fx, vous devez ajouter System. avant le nom de la variable. Par exemple, pour inclure la variable système User.DisplayName dans une formule, vous devez y faire référence comme System.User.DisplayName.

Nom Type Masqué(e) Définition
Activity.Channel option visible ID de canal de la conversation actuelle
Activity.ChannelData tous hidden Objet contenant du contenu spécifique au canal
Activity.ChannelId string hidden ID de canal de la conversation actuelle, sous forme de chaîne
Activity.From.Id string hidden ID unique spécifique au canal pour l’expéditeur
Activity.From.Name string hidden Nom convivial spécifique au canal de l’expéditeur
Activity.Name string visible Nom de l’événement
Activity.Text string visible Message le plus récent envoyé par l’utilisateur
Activity.Type option visible Type d’activité
Activity.TypeId string hidden Type d’activité, sous forme de chaîne
Activity.Value tous hidden Valeur ouverte
Bot.Name string visible Nom de votre copilote
Channel.DisplayName string hidden Nom complet du canal
Conversation.Id string visible ID unique de la conversation actuelle
LastActivity.Id string visible ID de l’activité précédemment envoyée
LastMessage.Id string visible ID du message précédent envoyé par l’utilisateur
LastMessage.Text string visible Message précédent envoyé par l’utilisateur
Recognizer.TriggerMessage.Id string visible ID du message de l’utilisateur qui a déclenché la rubrique actuelle
Recognizer.TriggerMessage.Text string visible Message de l’utilisateur qui a déclenché la rubrique actuelle
User.DisplayName string visible Nom complet de l’utilisateur connecté

Transmettre des variables d’une rubrique à une autre

Lorsque vous redirigez une rubrique vers une autre, vous pouvez passer les valeurs des variables entre la rubrique d’origine et la rubrique de destination. 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), le copilote pose à l’utilisateur la question pour remplir la valeur de la variable. Si le copilote 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 dans cette variable, et la question peut être ignorée. L’expérience de l’utilisateur qui parle au copilote est fluide.

Dans cet exemple, nous utilisons deux rubriques, Bienvenue et Conversation avec le client. Les deux rubriques demandent le nom du client. Cependant, si la rubrique Bienvenue s’exécute en premier, la rubrique Conversation avec le client ignore sa question. Au lieu de cela, elle utilise la valeur de la variable transmise par la rubrique Bienvenue.

Voici le flux de la rubrique Conversation avec le client :

Capture d’écran du flux de conversation du sujet Parler au client.

Comme indiqué dans le volet Tester le copilote, 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 userName. La variable userName est également définie pour obtenir sa valeur à partir d’autres rubriques. La rubrique se termine par le message : « J’espère que vous passez une bonne journée, {userName} ! »

Voici le flux de la rubrique Bienvenue :

Capture d’écran du flux de conversation du sujet Accueil.

Comme indiqué dans le volet Tester le copilote, si cette rubrique est déclenchée en premier, elle demande à l’utilisateur : « Quel est votre nom ? » Elle stocke la valeur dans une variable de chaîne appelée UserName. La rubrique envoie le message : « Enchanté de faire votre connaissance, {UserName} ! » Elle redirige ensuite vers la rubrique Conversation avec le client, qui envoie le message : « J’espère que vous passez une bonne journée, {userName} ! » Notez, cependant, que la rubrique Conversation avec le client a ignoré à nouveau la demande du nom de l’utilisateur. Au lieu de cela, elle utilise la valeur de la variable UserName transmise par la rubrique Bienvenue.

Enfin, voici à nouveau cette deuxième conversation, cette fois du point de vue de la rubrique Conversation avec le client :

Capture d’écran du flux de conversation du sujet Parler au client lorsque la rubrique Accueil est déclenché en premier.

Passons en revue les étapes pour configurer une rubrique pour recevoir des valeurs d’autres rubriques. Nous utiliserons notre exemple actuel, mais les mêmes étapes fonctionneront chaque fois qu’une rubrique aura besoin d’obtenir la valeur d’une rubrique antérieure.

Configurer la rubrique Destination

La rubrique 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.

  1. Créez ou accédez à votre rubrique Destination.

  2. Ajoutez un nœud Question et saisissez What should I call you? pour le message.

  3. Sous Identifier, sélectionnez l’entité prédéfinie Nom de la personne.

  4. Sélectionnez la variable pour l’ouvrir dans le volet Propriétés des variables. Nommez-la userName, puis sélectionnez Recevoir des valeurs d’autres rubriques.

    Capture d’écran de la rubrique Parler au client avec la variable userName et ses propriétés mises en évidence.

  5. Ajoutez un nœud de message.

  6. Dans la zone du message, tapez I hope you're having a wonderful day, .

  7. Sélectionnez l’icône Insérer une variable ({x}), puis sélectionnez userName.

  8. Sélectionnez l’espace après la variable et tapez !.

  9. Enregistrez la rubrique.

Configurer la rubrique source

La rubrique source est la rubrique faisant la redirection, celle qui fournit la valeur qui sera passée à la rubrique de destination. Dans notre exemple, il s’agit de Bienvenue.

  1. Accédez à la rubrique source.

  2. Ajoutez un nœud Rediriger et sélectionnez la rubrique de destination.

  3. Sélectionnez + Ajouter une entrée, puis sélectionnez la variable dans la rubrique de destination à laquelle vous souhaitez transmettre une valeur.

    Capture d’écran du sujet Accueil avec la variable userName ajoutée en entrée dans un nœud de redirection.

  4. Sélectionnez l’icône > , puis sélectionnez la variable dont vous souhaitez transmettre la valeur.

    Capture d’écran de la rubrique Accueil avec la valeur de la variable UserName sélectionnée.

    Le nœud Rediriger doit ressembler à ce qui suit :

    Capture d’écran du sujet Accueil avec le nœud de redirection complété.

  5. 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 le copilote 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 poserons une nouvelle question dans la rubrique Conversation avec le client, puis renverrons la réponse à la rubrique Bienvenue.

Configurer la rubrique source pour une variable renvoyée

Lorsque vous renvoyez une variable à une rubrique, la rubrique source est la rubrique vers laquelle vous êtes redirigée, celle qui fournit la valeur qui sera renvoyée à la rubrique d’origine. Dans cet exemple, il s’agit de Conversation avec le client.

  1. Accédez à la rubrique source.

  2. Ajoutez un nœud Question et saisissez What city do you live in? pour le message.

  3. Sous Identifier, sélectionnez l’entité prédéfinie Ville.

  4. Sélectionnez la variable pour l’ouvrir dans le volet Propriétés des variables. Nommez-la userCity, puis sélectionnez Renvoyer des valeurs aux rubriques d’origine.

    Capture d’écran de la rubrique Parler au client avec la variable userCity et ses propriétés mises en évidence.

  5. 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 la rubrique effectuant la redirection, celle qui recevra les valeurs des autres rubriques. Dans notre exemple, il s’agit de Bienvenue.

  1. Accédez à la rubrique de destination.

  2. La variable que vous avez sélectionnée dans la rubrique source doit s’afficher dans le nœud de redirection en tant que variable de sortie.

    Capture d’écran du flux de conversation du sujet Accueil avec une variable renvoyée dans un nœud de redirection.

  3. Enregistrez la rubrique.