Skip to main content

Exécution d’un flux dans un flux

Objectifs de formation

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

  • Réduire votre charge de travail en utilisant l’élément Subflow (Flux secondaire)
  • Créer un flux qui s’exécute dans un autre flux
  • Configurer les variables d’un flux référencé de sorte qu’il retransmette des données au flux parent
Remarque

Remarque

Vous souhaitez apprendre en français ? Commencez le défi dans un Trailhead Playground en français et utilisez les traductions fournies entre crochets pour naviguer. Copiez et collez uniquement les valeurs en anglais, car les validations de défi reposent sur les données en anglais. Si vous ne réussissez pas le défi dans votre organisation en français, nous vous recommandons (1) de définir le paramètre régional sur les États-Unis, (2) de définir la langue sur l’anglais en suivant les instructions ici, puis (3) de cliquer à nouveau sur le bouton « Vérifier le défi ».

Consultez le badge Trailhead dans votre langue pour découvrir comment profiter de l’expérience Trailhead traduite.

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.

La paresse est une force

Croyez-le ou non, l’une des qualités les plus importantes qu’un administrateur puisse avoir est la paresse.

Oui, vous avez bien lu ! Si vous devez apporter une modification à votre organisation Salesforce ayant une incidence sur quatre flux différents, préférez-vous mettre à jour quatre flux, ou bien un seul ? Cela vous semblera peut-être surprenant, mais vous pouvez vous aussi surmonter des obstacles tels que les tâches inutiles grâce au pouvoir de la paresse.

Par exemple, l’organisation de Flo dispose de quatre flux qui publient le même message dans Chatter. À chaque fois que quelque chose change dans cette publication Chatter, elle doit mettre à jour l’élément dupliqué dans chacun des quatre flux. Flo grimace à l’idée d’avoir à faire autant de travail répétitif. Heureusement, il existe un autre élément que nous n’avons pas encore utilisé : l’élément Subflow (Flux secondaire). 

L’utilisation de l’élément Subflow (Flux secondaire) dans un flux (le flux parent) vous permet de référencer un autre flux (le flux enfant) pour l’exécuter dans le flux actuel (parent). Flo est enthousiasmée à l’idée de n’apporter des changements qu’à un seul flux au lieu des quatre. De plus, moins de flux à modifier signifie moins de risques de commettre un oubli ou des erreurs de configuration.

Flo vous demande de créer un flux distinct pour la publication Chatter. Elle prévoit de remplacer les éléments dupliqués dans les quatre flux distincts en utilisant le nouveau flux enfant à leur place. Par la suite, si la publication Chatter est modifiée, Flo pourra mettre à jour le flux enfant unique au lieu de mettre à jour les quatre flux distincts.

Flo Smith qui se détend sur une chaise longue chic et qui réfléchit à un flux tout en étant éventée par une feuille de palmier.

Variables d’entrée et de sortie

Les variables d’un flux enfant sont spéciales. Avez-vous remarqué la présence des paramètres Available for input (Disponible pour l’entrée) et Available for output (Disponible pour la sortie) lorsque vous créez des variables ? Ces paramètres permettent aux variables de transmettre les entrées du flux parent au flux enfant et de renvoyer la sortie du flux enfant au flux parent.

Fenêtre New Resource (Nouvelle ressource), avec la section Availability Outside the Flow (Disponibilité en dehors du flux) où l’on peut voir deux options : Available for input (Disponible pour l’entrée) et Available for output (Disponible pour la sortie).

Une question demeure : pourquoi envoyer des données vers et depuis un flux enfant ? Dans l’exemple de Flo, le flux enfant publie dans Chatter au sein de l’enregistrement déclenchant du flux parent. Le flux enfant a donc besoin de l’ID de cet enregistrement déclenchant. Comme un flux enfant ne peut pas accéder à l’enregistrement déclenchant dans le flux parent, ce dernier doit l’envoyer au flux enfant. Par ailleurs, si le flux parent a besoin de connaître l’ID de la publication Chatter créée par le flux enfant, ce dernier doit renvoyer cet ID au flux parent.

Vous définissez les variables comme étant disponibles pour l’entrée ou la sortie dans le flux enfant.

  • Pour recevoir des données à partir d’un flux parent, le flux enfant a besoin d’une variable qui est disponible pour l’entrée.
  • Lorsqu’il se termine, le flux enfant a besoin d’une variable qui est disponible pour la sortie pour envoyer des données au flux parent.
  • Si vous n’avez pas besoin d’envoyer des données dans un sens ou dans l’autre, vous n’avez besoin d’aucune variable d’entrée ou de sortie.

Diagramme correspondant à la description précédente

Création d’un élément Subflow (Flux secondaire)

Pour exécuter un flux dans un autre flux, vous devez d’abord créer les flux parent et enfant. Ensuite, il vous faut ajouter un élément Subflow (Flux secondaire) au flux parent.

Création d’un flux enfant

  1. Créez un flux et sélectionnez le type Autolaunched Flow (Flux lancé automatiquement).
  2. Créez une variable de flux :
    • API Name (Nom d’API) : userMentionID
    • Available for input (Disponible pour l’entrée) : cochez la case associée
  1. Créez une autre variable de texte :
    • API Name (Nom d’API) : postTargetID
    • Available for input (Disponible pour l’entrée) : cochez la case associée
  1. Créez une variable de texte supplémentaire :
    • API Name (Nom d’API) : chatterPostID
    • Available for output (Disponible pour la sortie) : cochez la case associée
  1. Créez un modèle de texte :
    • API Name (Nom d’API) : chatterBody
    • Corps : @[{!userMentionID}], please review this record. (@[{!userMentionID}], veuillez vérifier cet enregistrement.)
    • Dans l’éditeur Body (Corps), remplacez « View as Rich Text » (Afficher en texte enrichi) par « View as Plain Text (Afficher en texte brut) ».
  1. Ajoutez un élément Action :
    • Action : Publier dans Chatter
    • Étiquette : Chatter Mention Post (Publication avec mention Chatter)
    • Nom d’API : Chatter_Mention_Post (Publication_Avec_Mention_Chatter)
    • Message : chatterBody
    • Target Name or ID (Nom ou ID de la cible) : postTargetID
    • Sous Show advanced options (Afficher les options avancées), sélectionnez Manually assign variables (Attribuer des variables manuellement).
    • Feed Item ID (ID d’élément de fil) : chatterPostID
  1. Enregistrez le flux. Pour Flow Label (Étiquette du flux), saisissez Post to Chatter (Publier dans Chatter).
  2. Activez le flux.

Création d’un flux parent avec un élément Subflow (Flux secondaire)

  1. Créez un flux déclenché par un enregistrement :
    • Objet : Requête
    • Déclencher le flux quand : Un enregistrement est créé ou mis à jour
    • Exigences de condition : Toutes les conditions sont remplies (ET)
    • Condition : Priority (Priorité), Equals (Égal à), High (Élevée)
    • When to Run the Flow for Updated Records (Quand exécuter le flux pour les enregistrements mis à jour) : Uniquement lorsqu'un enregistrement est mis à jour pour remplir les exigences des conditions
    • Optimiser les flux pour : Actions et enregistrements associés
  1. Ajoutez un élément Subflow (Flux secondaire) :
    • Sélectionnez le flux Post to Chatter (Publier dans Chatter).
    • Étiquette : Post to Chatter (Publier dans Chatter)
    • Nom d’API : Post_to_Chatter (Publier_dans_Chatter)
    • Activez le champ postTargetID et sélectionnez Triggering Case (Requête déclenchante) > Case ID (ID de requête).
      Le panneau Subflow (Flux secondaire), avec l’option Triggering Case (Requête déclenchante), puis Owner ID (ID de propriétaire) sélectionnée dans le champ userMentionID.
    • Activez le champ userMentionID et sélectionnez Triggering Case (Requête déclenchante)Owner ID (ID de propriétaire).
      Veillez bien à faire défiler l’écran vers le bas et à sélectionner Owner ID (ID de propriétaire), et non Owner ID (Group) (ID de propriétaire [Groupe]) ou Owner ID (User) (ID de propriétaire [Utilisateur]).
Remarque

lorsqu’un flux référencé n’a aucune variable définie de manière à être disponible pour l’entrée, vous ne verrez pas la section Set Input Values (Définir des valeurs d’entrée).

  1. Enregistrez le flux. Pour Flow Label (Étiquette du flux), saisissez Case Priority is High (La priorité de la requête est élevée).

Désormais, à chaque fois que le processus d’enregistrement doit être modifié, Flo ne met à jour que le flux enfant unique. Ici, la « paresse » est devenue une qualité positive, en permettant une réduction de la charge de travail !

Aspects à prendre en considération

Gardez à l’esprit les aspects suivants lorsque vous travaillez avec des flux secondaires.

  • L’élément Subflow (Flux secondaire) peut référencer uniquement des flux lancés automatiquement et des flux d’écran.
  • Dans un flux d’écran, vous pouvez référencer uniquement un autre flux d’écran.
  • Si vous référencez un flux inactif, il s’exécute uniquement pour les utilisateurs disposant de l’autorisation Manage Flows (Gérer les flux).
  • Si un flux enfant dispose de plusieurs versions, le flux parent l’exécute dans sa version active. Si un flux enfant n’a pas de version active, le flux parent l’exécute dans sa version la plus récente.

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