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
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.
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.
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.
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
- Créez un flux et sélectionnez le type Autolaunched Flow (Flux lancé automatiquement).
- 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
- 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
- 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
- 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) ».
- 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
- Enregistrez le flux. Pour Flow Label (Étiquette du flux), saisissez
Post to Chatter
(Publier dans Chatter).
- Activez le flux.
Création d’un flux parent avec un élément Subflow (Flux secondaire)
- 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
- 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).
- 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]).
- 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