Création de flux prêts à être utilisés par un agent
Objectifs de formation
Une fois cette unité terminée, vous pourrez :
- Créer un flux qui peut être attribué à une action d’agent
- Rédiger des noms et des descriptions utiles pour les ressources d’un flux d’action d’agent
- Créer des variables appropriées dans un flux d’actions d’agent
- Limiter les données auxquelles votre agent et ses flux d’actions d’agent ont accès
Pourquoi utiliser les flux dans les agents
Agentforce est un outil incroyablement puissant pour vos utilisateurs et clients, et une grande partie de cette puissance provient des flux. Bien que les agents puissent accéder aux données Salesforce, ils ne peuvent pas avoir d'incidence sur ces données. Si vous souhaitez que votre agent crée, mette à jour ou supprime des enregistrements, vous devez définir une action d’agent qui modifie les données. Les actions d’agent peuvent appeler des classes Apex, effectuer des appels d’API, exécuter des flux ou référencer un modèle d’invite. Cependant, les flux sont la seule méthode à faible code qui peut affecter les données de votre organisation Salesforce.
Les flux offrent également un niveau de précision supplémentaire pour garantir que l’agent travaille avec des données spécifiques. Les agents peuvent lire toutes les données Salesforce pour lesquelles ils ont une autorisation de lecture et utiliser toutes les données qu’ils jugent pertinentes. Pour limiter les données utilisées par l’agent et améliorer considérablement sa précision, créez un flux qui récupère des données spécifiques et précises à transmettre à l’agent. Donnez ensuite des instructions à l’agent pour qu’il utilise uniquement les données fournies par le flux.
Alors, que devez-vous faire pour créer une action d’agent basée sur le flux ?
Création d’un flux lancé automatiquement (sans déclencheur)
Les actions de l’agent prennent uniquement en charge les flux de type Autolaunched Flow (No Trigger) (Flux lancé automatiquement [sans déclencheur]). Alors que d’autres types de flux peuvent techniquement être qualifiés de flux « lancés automatiquement », par exemple ceux qui sont déclenchés par un enregistrement, le flux attribué doit être spécifiquement de type No Trigger (Sans déclencheur). Si vous souhaitez utiliser un flux existant dans une action d’agent et qu’il n’est pas de ce type, vous devez recréer le flux à l’aide du type de flux Autolaunched Flow (No Trigger) (Flux lancé automatiquement [sans déclencheur]).
Utilisez une description détaillée
Les mots sont un maillon essentiel de la technologie IA. Pour obtenir de bons résultats lorsque vous demandez à une IA de générer du texte, vous devez lui donner des instructions détaillées. Elle doit également disposer d’un texte source détaillé et précis. Il en va de même pour tout flux que vous souhaitez exécuter en tant qu’action d’agent.
Les agents utilisent les noms des variables du flux, ainsi que les données avec lesquelles le flux travaille, pour comprendre ce que fait le flux. Il est important d’avoir des noms précis et explicites pour les variables d’entrée et de sortie de votre flux. Évitez les noms de variables comme « foo ». Utilisez plutôt des noms de variables explicites comme « Account_ID » (ID_de_compte).
Bien qu’il soit déjà recommandé d’ajouter des descriptions à tout ce qui se trouve dans un flux, cela est encore plus important lorsque le flux est exécuté par une action d’agent. Les agents utilisent la description du flux et les descriptions associées à ses variables. L’ensemble de ce texte aide l’agent à comprendre la fonctionnalité du flux et les données avec lesquelles le flux fonctionne.
Veillez particulièrement à renseigner des noms et descriptions adéquats pour les variables d’entrée et de sortie du flux. Sans un nom et une description fiables, l’agent ne peut pas déterminer ce qu’il doit faire avec une variable et ses données.
Voici quelques exemples de descriptions correctes :
Type de texte |
Description moins efficace |
Description plus efficace |
---|---|---|
Description du flux |
Met à jour un numéro de téléphone. |
Mettre à jour le numéro de téléphone de l’utilisateur associé à son enregistrement de contact. Si aucun contact correspondant n’existe, créer un nouvel enregistrement de contact. |
Nom de la variable de sortie de flux |
OrderColl |
Sorted_Cupcake_Orders_Collection |
Description de la variable de sortie de flux |
Une collection de commandes de cupcakes. |
Une collection des commandes de cupcakes du client, correspondant à l’adresse e-mail fournie par le client et triées de la plus récente à la plus ancienne. |
Utilisez toujours des variables d’entrée et de sortie
Les actions d’agent basées sur le flux nécessitent toujours au moins une variable d’entrée et au moins une variable de sortie dans le flux. Même si ces variables n’étaient pas obligatoires, il serait toujours préférable d’utiliser des variables d’entrée et de sortie. Vos flux sont plus précis lorsque vous leur donnez plus de contexte, et vos agents sont plus performants lorsque leurs flux envoient les bonnes données.
Même si vous ne parvenez pas à penser à des données à transmettre à l’agent, il y a toujours un élément que vous devriez envisager d’envoyer dans une variable de sortie : les messages d’erreur. Les agents attendent un certain type de résultat d’un flux, même si ce résultat est simplement le message YOUR FLOW FINISHED (VOTRE FLUX EST TERMINÉ) du flux. Cependant, les flux peuvent échouer, générant des erreurs inattendues. Sans aucune donnée du flux, votre agent s’excusera probablement et proposera un message générique « Un problème est survenu ». Il peut également présenter d’autres données au client, sans aucun contexte, simplement parce qu’il veut présenter quelque chose.
Pour éviter cela (et également pour répondre à l’exigence de variable de sortie), créez une variable de sortie conçue pour présenter des messages d’erreur plus détaillés et utiles. Utilisez des chemins par défaut et des éléments d’attribution dans votre flux pour définir le message d’erreur dans une variable de sortie. Veillez ensuite à indiquer à votre agent comment et quand utiliser cette variable de sortie. Nous vous montrerons comment configurer cela dans les unités suivantes.
N’ayez pas peur des variables d’enregistrement
Les variables d’enregistrement ne servent pas uniquement à travailler au sein des flux. Les agents peuvent également recevoir des variables d’enregistrement ! Si vous devez envoyer à votre agent plusieurs champs à partir d’un enregistrement, ou même de plusieurs enregistrements, ne créez pas plusieurs variables. Créez plutôt une variable d’enregistrement ou une variable de collection d’enregistrements pour ces données et rendez-la disponible pour la sortie. Supposons que votre agent demande quatre champs à partir de la requête en cours d’un client. Au lieu d’utiliser quatre variables distinctes, vous renvoyez ces quatre champs de requête dans une seule variable d’enregistrement. Et si vous souhaitez renvoyer plusieurs requêtes, vous pouvez les renvoyer dans une seule variable de collection d’enregistrements.
Votre agent reçoit alors toutes ces données et peut les utiliser. Et si les instructions de l’agent lui indiquent de présenter les données d’enregistrement au client, l’agent organise d’abord ces données dans un format utile et lisible.
Ne laissez pas votre flux suralimenter votre agent
Lorsqu’un agent reçoit des données d’un flux, il a tendance à croire que les données doivent être utilisées pour quelque chose. Il peut utiliser les données pour prendre des décisions ou les montrer inutilement au client. L’agent pourrait même montrer au client des données qu’il ne devrait pas voir. Ainsi, vous ne devez jamais donner à un agent des données que vous ne souhaitez pas qu’il utilise.
Malheureusement, cette règle contredit les paramètres par défaut Get Records (Obtenir des enregistrements) de vos flux. La valeur par défaut du paramètre How to Store Record Data (Comment stocker les données d’enregistrement) est Automatically store all fields (Stocker automatiquement tous les champs). Cependant, vos agents n’ont probablement pas besoin de tous ces champs. Sélectionnez plutôt le paramètre Choose fields and assign variables (Choisir les champs et attribuer des variables), en utilisant une variable d’enregistrement distincte, et sélectionnez uniquement les champs dont l’agent a besoin.
Donnez à votre agent les autorisations appropriées
De même, n’oubliez pas que les agents peuvent accéder à toutes vos données Salesforce s’ils disposent des autorisations appropriées. Vous devez accorder à votre agent uniquement les autorisations dont il a besoin pour exécuter ses flux. Résistez à la tentation de lui donner accès à tout ce dont il n’a pas vraiment besoin.
Pour contrôler les autorisations d’un agent, commencez par rechercher l’utilisateur agent qui est attribué à cet agent. Vous pouvez afficher et modifier cet utilisateur sur la page des détails de l’agent.
Une fois que vous avez identifié l’utilisateur agent, attribuez-lui les ensembles d’autorisations, les profils et les rôles dont il a besoin pour exécuter ses flux et répondre aux demandes de vos clients.
Créez de nombreux petits flux, et non un seul grand flux
Les agents tirent avantage d’une conception modulaire : de nombreuses petites actions, qui accomplissent chacune une tâche. Ces actions peuvent être combinées de nombreuses manières et réutilisées sur de nombreux agents.
Alors, comment savoir où tracer la ligne séparant un flux d’un autre ? Réfléchissez à la manière dont vous associez les flux à un agent : vous créez une action d’agent pour chaque flux. Et « action » est le mot-clé ici. Lorsqu’un agent est invité à effectuer une action, cette action elle-même définit généralement les limites du flux. Par exemple, si l’on pouvait demander à un agent de modifier l’étape d’une opportunité, cela constituerait une action, effectuée par un flux. Si l’agent peut également être invité à modifier la date de fermeture sans modifier l’étape, il s’agit alors d’une action distincte, effectuée par un autre flux. D’autre part, vous n’avez pas besoin d’une action et d’un flux distincts pour chaque valeur potentielle du champ Stage (Étape), car le flux peut utiliser un élément Update Records (Mettre à jour les enregistrements) pour définir le champ sur la valeur demandée.
Cependant, si l’action demandée impliquait de mettre à jour simultanément l’étape et la date de fermeture, vous pourriez le faire avec un seul flux d’action d’agent, car il s’agirait d’une seule demande.
Les points d’interaction sont également un excellent moyen de définir les limites d’un flux. Les agents ne peuvent pas demander d’informations à un client en cours de route. Par conséquent, si votre agent doit présenter des informations ou définir ses prochaines actions, il s’agit généralement d’une limite adéquate. Imaginez une rubrique d’agent pour la gestion d’opportunités dans laquelle l’agent pourrait avoir besoin d’effectuer plusieurs tâches.
- Demander au client quelle opportunité utiliser.
- Obtenir des données sur cette opportunité.
- Avec les bonnes données en main, demander au client comment l’agent peut l’aider.
- Exécuter l’action demandée par le client.
Dans ce scénario, un flux peut gérer les étapes 1 et 2. L’agent gère l’étape 3. L’étape 4 doit être constituée d’un ou plusieurs flux distincts, en fonction de ce que l’agent peut faire d’autre avec l’enregistrement d’opportunité du client.
Autres considérations
Voici quelques autres considérations à garder à l’esprit lorsque vous travaillez avec des flux dans des agents.
N’envoyez pas de longues chaînes de texte à une variable
Les variables de texte ne peuvent contenir que 255 caractères et les caractères en dehors de cette limite sont tronqués. Soyez prudent lorsque vous attribuez des longueurs de texte inconnues à une variable d’entrée de type de données texte. Pour envoyer plus de 255 caractères de texte à un flux, travaillez avec un développeur pour créer une variable définie par Apex à la place.
Rédigez un texte aussi clair que possible
Faites tout ce que vous pouvez pour aider votre agent à comprendre le contexte et les instructions. Utilisez des phrases complètes avec une grammaire, une orthographe et une ponctuation appropriées. Si vous saisissez du texte dans un emplacement où vous ne pouvez pas utiliser d’espaces, comme le nom d’API d’une variable, ajoutez des traits de soulignement entre les mots pour plus de clarté. Par exemple, utilisez Account_ING_Number au lieu de AccountINGNumber.
Évitez les types de données incompatibles
Ces types de données complexes ne peuvent pas être transmis à l’agent via des variables de sortie.
- Devise
- Liste de sélection
- Liste de sélection multiple
- Définie par Apex
Si votre flux est configuré pour transmettre l’un de ces types de données à un agent, l’agent ne peut plus gérer aucune variable de sortie.
Refaites une action d’agent si vous modifiez les variables de son flux
Lorsque vous créez une action d’agent à partir d’un flux, l’action prend un instantané unique des variables d’entrée et de sortie du flux. Cet instantané est statique. Il n’est pas mis à jour si vous modifiez les variables du flux. Pour éviter les problèmes lorsque l’agent exécute le flux avec des variables obsolètes, vous devez supprimer l’action de l’agent, créer une nouvelle action de l’agent et affecter le flux à l’action de l’agent.