Skip to main content
Join the Agentforce Hackathon on Nov. 18-19 to compete for a $20,000 Grand Prize. Sign up now. Terms apply.

Exploitation optimale des variables et des valeurs globales

Objectifs de formation

Une fois cette unité terminée, vous pourrez :

  • Référencer les champs de l’utilisateur actif dans Flow Builder
  • Référencer le rôle et les informations de profil de l’utilisateur actif dans Flow Builder
  • Référencer des étiquettes personnalisées dans Flow Builder
  • Référencer des métadonnées personnalisées dans Flow Builder
Remarque

Ce badge fait partie d’une série de badges permettant d’apprendre à maîtriser Flow Builder. Le parcours Élaboration de flux avec Flow Builder vous guide de A à Z dans l’apprentissage de tous les aspects relatifs à Flow Builder. Suivez cette recommandation de série de badges pour acquérir de solides compétences en automatisation des processus et devenir un spécialiste de Flow Builder.

Présentation des variables globales

Des variables globales sont présentes dans chaque flux. Vous ne les créez pas et vous ne pouvez pas modifier leurs valeurs dans le flux. Elles permettent d’autoriser votre flux à accéder à des données très utiles, qui peuvent être différentes à chaque fois que celui-ci s’exécute.

Vous pouvez utiliser des variables globales dans les champs qui vous permettent de sélectionner une ressource. Ces champs contiennent généralement du texte d’espace réservé tel que « Enter value or search resources… » (Saisissez une valeur ou recherchez des ressources…) ou « Insert a resource… » (Insérez une ressource…) 

Fenêtre New Screen (Nouvel écran) affichant un composant de texte. Le champ Default Value (Valeur par défaut), avec comme texte d’espace réservé « Enter value or search resources » (Saisissez une valeur ou recherchez des ressources). Il se trouve au-dessus d’une liste de sélection de variables globales.

Dans Flow Builder, les variables globales se comportent de la même manière que les objets et les champs : chaque variable globale contient plusieurs valeurs. Pour utiliser une variable globale dans un flux, procédez comme suit :

  1. Lors de la création ou de la modification d’un élément, cliquez dans un champ qui vous permet de sélectionner une ressource. Flow Builder affiche les ressources que vous pouvez placer dans ce champ.
  2. Sous Global Variables (Variables globales), sélectionnez une variable commençant par $. Flow Builder affiche les champs disponibles pour la variable sélectionnée.
Remarque

Dans certains éléments, les variables globales portent des noms différents et ne commencent pas par $. Cependant, elles se trouvent toujours dans la section Global Variables (Variables globales) du champ. Les équipes de développement de Flow Builder mettent actuellement à jour chaque élément afin d’utiliser ces nouveaux noms. En attendant que ce processus soit terminé, nous indiquerons les deux noms pour chaque variable globale que nous mentionnons.

  1. Sélectionnez le champ contenant la valeur que vous souhaitez utiliser.
    En sélectionnant la variable globale $Flow, une liste des champs disponibles s’affiche : il s’agit de CurrentDate, CurrentDateTime et InterviewStartTime.
Remarque

Gardez à l’esprit que le type de données du champ de la variable globale doit être compatible avec le type de données du champ. Par exemple, pour définir la valeur par défaut d’un champ de date/heure, vous devez sélectionner un champ de variable globale de date ou de date/heure. Dans la même logique, pour définir la valeur d’un champ de devise, vous devez sélectionner un champ de variable globale numérique ou monétaire.

Obtention des valeurs de champ de l’utilisateur actif

La variable globale $User (ou, dans certains éléments, la variable globale Running User [Utilisateur actif]) permet à votre flux d’obtenir un aperçu de l’utilisateur se trouvant derrière l’écran. Nous ne disons pas ça au sens littéral, bien entendu. Toutefois, elle donne à votre flux l’accès aux données de l’utilisateur qui l’exécute. Utilisez la variable globale $User pour accéder à des données telles que l’ID de l’utilisateur actif, son nom, l’ID de son responsable, son adresse e-mail et bien plus encore.

La liste de sélection des variables globales $User affichant les champs de l’objet User (Utilisateur).

Les responsables commerciaux de Pyroclastic veulent être prévenus lorsqu’un membre de l’équipe ferme une opportunité importante en indiquant que celle-ci est perdue. Flo vous demande d’automatiser l’envoi de cette notification en lui faisant prendre la forme d’une publication Chatter adressée au responsable du propriétaire de l’opportunité. La personne qui ferme l’opportunité n’est pas nécessairement le propriétaire de celle-ci. La notification doit donc indiquer qui a effectué la modification.

Vous disposez déjà d’un flux qui s’exécute lorsque le paramètre StageName d’une opportunité prend la valeur Closed Lost (Fermée perdue) : Create Follow-Up with Decision Maker (Créer un suivi avec le décideur). Ajoutez dans ce flux une action qui a pour effet d’envoyer une publication Chatter au responsable du propriétaire de l’opportunité.

Tout d’abord, vous devez identifier le responsable du propriétaire. Comme vous l’avez fait dans l’unité 2, utilisez un élément Get Records (Obtenir des enregistrements) pour récupérer des informations, puis utilisez celles-ci dans un élément Action.

Récupération du responsable du propriétaire

  1. Ouvrez le flux Create Follow-Up with Decision Maker (Créer un suivi avec le décideur).
  2. Dans la zone de dessin du flux, après l’élément Get Decision Maker (Obtenir le décideur), cliquez sur Ajouter un élément. Sélectionnez Get Records (Obtenir des enregistrements).
  3. Pour Label (Étiquette), saisissez Get Owner Manager (Obtenir le responsable du propriétaire).
    N’oubliez pas que comme ce nom est utilisé pour étiqueter la variable générée, il est préférable d’utiliser un nom descriptif.
  4. Dans Object (Objet), sélectionnez User (Utilisateur).
  5. Pour Condition Requirements (Exigences de condition), sélectionnez All Conditions Are Met (AND) (Toutes les conditions sont remplies [ET]).
  6. Dans la section Filter Records (Filtrer les enregistrements), définissez les conditions qui indiquent à l’élément quels enregistrements récupérer :
    • Field (Champ) : Id
    • Opérateur : Égal à
    • Value (Valeur) : $Record> Owner (Propriétaire)> ManagerId
  1. Cliquez sur  dans le panneau New Get Records (Nouveau Obtenir des enregistrements) pour fermer celui-ci.

Panneau New Get Records (Nouveau Obtenir des enregistrements) correspondant aux étapes précédentes.

Vous disposez désormais d’une variable d’enregistrement qui contient tous les champs concernant le responsable du propriétaire de l’opportunité, y compris ceux indiquant son nom et son adresse e-mail. Ensuite, vous devez utiliser un élément Action pour créer la publication Chatter.

Création d’un modèle de texte

  1. Dans Flow Builder, cliquez sur Bouton bascule boîte à outils pour ouvrir la boîte à outils, si elle n’est pas déjà ouverte.
  2. Cliquez sur Nouvelle ressource.
  3. Pour Resource Type (Type de ressource), sélectionnez Text Template (Modèle de texte).
  4. Pour API Name (Nom d’API), saisissez ChatterPostManager.
  5. En regard du champ Resource Picker (Sélecteur de ressources), modifiez View as Rich Text (Afficher en texte enrichi) en View as Plain Text (Afficher en texte brut).
  6. Dans le champ Resource Picker (Sélecteur de ressources), sélectionnez User from Get_Owner_Manager (Utilisateur provenant de Obtenir_le_responsable_du_propriétaire) > Id (ID).
    Un champ de fusion correspondant au nom du responsable est inséré au début du corps du message.
  7. Ajoutez des crochets [ ] autour du champ de fusion, comme ceci :
    [{Get_Owner_Manager.Id}] ([{Obtenir_le_responsable_du_propriétaire.ID}])
  8. Ajoutez maintenant le symbole @ au début et un deux-points à la fin, comme ceci :
    @[{Get_Owner_Manager.Id}]:
Remarque

Souvenez-vous, lorsqu’il est suivi d’une valeur entre crochets, le symbole @ insère la valeur sous forme de mention dans la publication Chatter.

  1. Après le signe deux-points, commencez une nouvelle ligne et saisissez :
    This opportunity was marked Closed Lost.
    Closed by:
  2. Laissez une espace, puis insérez trois autres champs de fusion à l’aide de la variable globale $User, qui figure dans la section Global Variables (Variables globales). Veillez bien à ajouter une espace entre eux afin qu’ils ne se touchent pas :
    • $User> FirstName
    • $User> LastName
    • $User> Email (E-mail)

      [Texte alternatif : fenêtre New Resource (Nouvelle ressource) correspondant aux étapes précédentes.]
  1. Cliquez sur Terminé.

Ensuite, vous allez utiliser le modèle de texte dans un élément Action afin d’effectuer une publication dans le fil Chatter de l’opportunité.

Envoi d’une notification au responsable via une publication Chatter

  1. Après l’élément Get Owner Manager (Obtenir le responsable du propriétaire), cliquez sur Ajouter un élément. Saisissez post (publier) dans la barre de recherche.
  2. Sélectionnez Post to Chatter (Publier dans Chatter).
  3. Pour Label (Étiquette), saisissez Chatter Post to Manager (Envoi d’une publication Chatter au responsable).
  4. Pour Message, sélectionnez le modèle de texte ChatterPostManager.
  5. Pour Target Name or ID (Nom ou ID de la cible), sélectionnez Triggering Opportunity (Opportunité déclenchante) > Owner ID (ID de propriétaire).
  6. Cliquez sur Terminé.
  7. Enregistrez le flux.

Obtention du profil et des valeurs de rôle de l’utilisateur actif

Lors de la création de flux, évitez de coder en dur les ID. Le codage en dur consiste à saisir manuellement un ID Salesforce dans des flux ou du code. Un exemple de codage en dur dans un élément Update Records (Mettre à jour les enregistrements) serait de définir des critères pour rechercher l’ID « 005i000006rZRFU ». Au lieu de cela, vous devez récupérer l’ID avec un élément Get Records (Obtenir des enregistrements) et vérifier l’ID stocké dans la variable d’enregistrement de cet élément Get Records (Obtenir des enregistrements).

Remarque

Pourquoi faut-il éviter le codage en dur ? Les ID Salesforce peuvent changer à tout moment. Si vous créez un flux avec un ID codé en dur dans une sandbox, il est probable que l’enregistrement que vous essayez de référencer ait un ID différent dans d’autres sandbox et en production. En outre, il est difficile de comprendre ou de dépanner un flux lorsque vous ne pouvez pas facilement visualiser quel enregistrement représente un ID.

Quel rapport cela a-t-il avec les variables globales ? À un certain stade, vous souhaiterez peut-être accéder au profil ou au rôle de l’utilisateur. Supposons que votre organisation soit divisée en territoires, attribués aux vendeurs en tant que rôles d’utilisateur. Les territoires de l’Ouest (Sales-West1 [Ventes-Ouest1], Sales-West2 [Ventes-Ouest2] et Sales-West3 [Ventes-Ouest3]) utilisent un calcul de remise différent de celui des autres territoires. Pour calculer correctement les remises, un flux doit obtenir le rôle de l’utilisateur actif pour confirmer s’il est affecté à l’un des territoires de l’Ouest.

Flo essaie d’utiliser la variable globale $User pour trouver le rôle de l’utilisateur actif, mais la seule valeur de rôle y figurant est l’ID du rôle. Elle sait très bien qu’il ne vaut mieux pas coder en dur un identifiant dans son flux. Heureusement, il existe un autre moyen d’accéder aux informations du rôle de l’utilisateur actif : la variable globale $UserRole (ou, dans certains éléments, la variable globale Running User Role [Rôle utilisateur actif]). Celle-ci peut accéder à de nombreuses valeurs figurant dans le rôle de l’utilisateur actif.

De même, la variable globale $Profile (ou, dans certains éléments, la variable globale Running User Profile [Profil utilisateur actif]) doit être utilisée dans des situations similaires où le flux doit accéder aux valeurs de profil de l’utilisateur actif. La seule valeur de profil dans $User est l’ID du profil, mais tout comme $UserRole pour les rôles, $Profile accorde l’accès au reste des valeurs du profil.

Pour éviter d’avoir recours au codage en dur lors de la vérification du rôle de l’utilisateur actif, référencez $UserRole > DeveloperName. Pour le profil, référencez $Profile > Name (Nom).

Champs de critères dans une fenêtre New Decision (Nouvelle décision), avec le paramètre Resource (Ressource) défini sur $UserRole > DeveloperName, Operator (Opérateur) défini sur Contains (Contient) et Value (Valeur) défini sur West (Ouest).

Remarque

Après avoir découvert que l’utilisateur est affecté à un territoire de l’Ouest, Flo utilise un élément Decision (Décision) afin que le flux puisse appliquer la remise propre aux territoires de l’Ouest au lieu de la remise standard utilisée par les autres territoires. Vous en apprendrez davantage sur l’élément Decision (Décision) dans Logique avec Flow Builder, le badge figurant juste après celui-ci dans le parcours Élaboration de flux avec Flow Builder. Il vous suffit donc de terminer ce badge, puis de passer au suivant pour en savoir plus.

Récupération d’étiquettes personnalisées

Si les utilisateurs de votre organisation travaillent en employant plusieurs langues, les étiquettes personnalisées sont très utiles. Les étiquettes personnalisées contiennent une chaîne de texte que vous pouvez traduire dans plusieurs langues. Une fois les traductions définies, Salesforce présente à chaque utilisateur des étiquettes personnalisées rédigées dans sa langue maternelle. Vous pouvez même utiliser des étiquettes personnalisées dans les flux.

Dans Flow Builder, utilisez la variable globale $Label (ou, dans certains éléments, la variable globale Custom Label [Étiquette personnalisée]) pour placer une étiquette personnalisée à n’importe quel emplacement acceptant une ressource textuelle, telle que des composants d’écran, des valeurs de champ par défaut et des formules de texte. Dans cet exemple, lors de la création d’un enregistrement de tâche, la valeur du champ Subject (Objet) est définie sur la variable globale TaskPrintLabels. Désormais, lorsque les utilisateurs visualisent la tâche, son objet est énoncé dans leur propre langue.

Une section de la fenêtre Create Records (Créer des enregistrements) correspondant à la description précédente.

L’exemple suivant concerne un composant Display Text (Texte d’affichage) sur un écran de flux. Dans le champ Resource Picker (Sélecteur de ressources), lorsque $Label est sélectionné, les étiquettes personnalisées disponibles sont répertoriées. Si vous sélectionnez une étiquette, vous l’ajoutez à la zone de texte du composant.

Fenêtre New Screen (Nouvel écran) correspondant à la description précédente.

Autres variables globales importantes

Il existe quelques autres variables globales qui peuvent être utiles lors de la création de flux.

Variable globale

Fonction

$Flow.CurrentDate

(ou Running Flow Interview [Interview de flux en cours d’exécution] > CurrentDate)

Récupère la date à laquelle l’élément est exécuté

$Flow.CurrentDateTime

(ou Running Flow Interview [Interview de flux en cours d’exécution] > CurrentDateTime)

Récupère la date/l’heure d’exécution de l’élément

$Flow.InterviewStartTime

(ou Running Flow Interview [Interview de flux en cours d’exécution] > InterviewStartTime)

Récupère la date/l’heure auxquelles le flux a commencé à s’exécuter pour la première fois

$Flow.FaultMessage

(ou Running Flow Interview [Interview de flux en cours d’exécution] > FaultMessage)

Récupère le message d’erreur présenté lorsqu’un flux s’arrête de s’exécuter en raison d’une erreur

$Organization

(ou Running Org [Organisation active])

Récupère les informations trouvées sur la page Company Information (Informations sur la société) dans Setup (Configuration), comme le nom ou l’adresse de votre organisation

$Record

(ou Triggering [object name] [[Nom de l’objet] déclenchant])

Dans un flux déclenché par un enregistrement, $Record récupère les données de l’enregistrement qui a déclenché le flux. (Vous avez utilisé cette variable globale dans un défi pratique pour obtenir le nom de l’entreprise et l’ID d’un prospect nouvellement créé.)

Vous pouvez aussi utiliser $Record aux fins suivantes :

  • Mettre à jour des données au sein de l’enregistrement qui a déclenché le flux.
  • Mettre à jour un groupe d’enregistrements lié à l’enregistrement déclenchant.

Pour en savoir plus sur $Record, consultez le badge Flux déclenchés par des enregistrements.

Récupération des valeurs de métadonnées personnalisées

Les métadonnées personnalisées ne sont pas une variable globale. Par contre, elles constituent un ensemble de valeurs auxquelles vous pouvez accéder de façon globale dans Flow Builder et dans toute votre organisation Salesforce. Par exemple, un type de métadonnées personnalisées peut être utilisé dans des flux, du code, des règles de validation, etc.

Dans Flow Builder, vous récupérez des métadonnées personnalisées de la même manière que vous récupérez des enregistrements d’objet : vous employez pour ce faire l’élément Get Records (Obtenir des enregistrements). Lors de la sélection de l’objet, sélectionnez le type de métadonnées personnalisées.

Liste des objets pouvant être sélectionnés dans le champ Object (Objet) de la fenêtre New Get Records (Nouveau Obtenir des enregistrements), avec un type de métadonnées personnalisées mis en évidence.

Remarque

Vous recherchez vos types de métadonnées personnalisées ? Recherchez les éléments dont le nom d’API se termine par __mdt.

Pour plus d’informations et des exemples de cas d’utilisation, consultez le module Trailhead Concepts de base des types de métadonnées personnalisées, notamment l’unité Utilisation de types de métadonnées personnalisées dans les flux.

Ressources

Partagez vos commentaires sur Trailhead dans l'aide Salesforce.

Nous aimerions connaître votre expérience avec Trailhead. Vous pouvez désormais accéder au nouveau formulaire de commentaires à tout moment depuis le site d'aide Salesforce.

En savoir plus Continuer à partager vos commentaires