Flux enfants dans Power Automate : structurer les processus de façon modulaire
Comment utiliser les flux enfants pour décomposer de grands processus Power Automate en sous-étapes réutilisables et les maintenir plus facilement.
Quiconque regroupe un processus comportant des dizaines, voire des centaines d'actions dans un seul flux dans Power Automate finit par remarquer à quel point cela devient confus : chaque modification nécessite un long défilement, les erreurs sont difficiles à localiser, et une sous-étape dont on a besoin à plusieurs endroits existe soudain trois fois dans des variantes légèrement différentes. Les flux enfants résolvent exactement ce problème. Un flux parent appelle un ou plusieurs flux enfants, leur transmet des entrées, puis traite ensuite leurs valeurs de retour, un peu comme une fonction dans du code classique est appelée depuis un programme plus large.
Pour les entreprises qui utilisent Power Automate en production, ce modèle est particulièrement pertinent lorsque la même logique apparaît dans plusieurs processus, par exemple la détermination des approbateurs, le formatage des montants ou la journalisation des erreurs. Au lieu de reconstruire cette logique dans chaque flux, elle est créée une seule fois sous forme de flux enfant et appelée par tous les flux parents concernés. Si la logique change, un seul ajustement à un endroit suffit.
Qu'est-ce qu'un flux enfant ?
Un flux enfant est un flux cloud tout à fait normal avec une particularité : il ne démarre pas via un déclencheur classique comme une planification ou un nouvel élément dans une liste, mais est démarré directement par un autre flux. Microsoft explique dans la documentation officielle Créer des flux enfants que cela nécessite une solution comportant au moins deux flux :
- le flux enfant, imbriqué dans le flux parent, avec les tâches plus petites qui sont réellement exécutées
- le flux parent, qui peut avoir n'importe quel déclencheur et appelle le flux enfant à l'endroit approprié
Un flux parent peut contenir plusieurs flux enfants différents, selon la sous-tâche concernée. Il est important que le flux parent et le flux enfant soient créés directement dans la même solution, car ce n'est qu'ainsi que Power Automate relie automatiquement les deux lors d'un export et import ultérieurs, sans qu'il soit nécessaire de mettre à jour manuellement les URL.
Pourquoi la modularisation en vaut la peine
Microsoft résume les avantages dans les Recommandations pour un code réutilisable avec des flux enfants, et dans la pratique, ces avantages se manifestent rapidement :
- Modularité : les blocs réutilisables peuvent être intégrés dans différents processus sans que vous ayez à copier la logique.
- Facilité de maintenance : les flux petits et ciblés sont plus faciles à lire, et une erreur peut être recherchée précisément dans le bloc qui l'a causée.
- Évolutivité : les nouvelles exigences se traduisent par un ajustement d'un seul flux enfant, au lieu de reconstruire l'ensemble du processus.
- Contrôle précis : grâce à des entrées et sorties clairement définies, vous contrôlez exactement quelles données circulent entre le flux parent et le flux enfant.
- Collaboration en équipe : plusieurs personnes peuvent travailler simultanément sur différents flux enfants, sans se gêner mutuellement dans le même flux gigantesque.
Chaque flux enfant devient ainsi un collaborateur numérique avec une responsabilité clairement définie, qui accomplit de manière fiable exactement une tâche et peut être testé, remplacé ou étendu individuellement si nécessaire.
Étape par étape : créer un flux enfant
Étape 1 : créer la solution et le flux instantané
Ouvrez une solution existante dans Power Automate ou créez-en une nouvelle. Créez-y via Nouveau > Automatisation > Flux cloud > Instantané un nouveau flux, puis choisissez comme déclencheur Déclencher un flux manuellement. Seuls les flux avec ce déclencheur, le déclencheur Power Apps ou le déclencheur de requête HTTP peuvent ensuite être appelés comme flux enfant.
Étape 2 : définir les entrées
Via Ajouter une entrée, vous définissez quelles valeurs le flux parent doit transmettre au flux enfant, par exemple un nom de contact ou un numéro de commande. Ces entrées apparaissent ensuite dans le flux parent sous forme de champs dynamiques dès que vous y sélectionnez le flux enfant.
Étape 3 : construire la logique et renvoyer un résultat
Construisez au sein du flux enfant la tâche proprement dite, qu'il s'agisse d'un enregistrement dans Dataverse, d'un calcul ou d'une comparaison avec une liste SharePoint. À la fin, vous renvoyez le résultat via l'action Répondre à une Power App ou à un flux ou, dans le connecteur premium, via Réponse au flux parent. Là encore, un nombre quelconque de valeurs de sortie peut être défini.
Étape 4 : intégrer les connexions
Si le flux enfant utilise d'autres connecteurs que les actions intégrées ou Dataverse, vous devez, sur la page des propriétés, sous Utilisateurs en exécution seule, sélectionner pour chaque connexion Utiliser cette connexion au lieu de Fourni par l'utilisateur en exécution seule. Sans cette étape, l'appel échoue avec un message d'erreur, car les flux enfants ne prennent en charge que les connexions intégrées et ne peuvent actuellement pas hériter des connexions du flux parent.
Connecter le flux parent
Dans le flux parent, ajoutez à l'endroit souhaité l'action Exécuter un flux enfant du connecteur Flows, puis sélectionnez le flux enfant précédemment créé. Seuls les flux auxquels vous avez accès et qui se trouvent dans la même solution sont affichés. Après la sélection, les champs d'entrée définis dans le flux enfant apparaissent, et après l'appel, les sorties sont disponibles comme contenu dynamique pour les étapes suivantes. Le flux parent attend la fin du flux enfant, et ce pendant toute la durée de vie du flux, soit un an pour les connexions intégrées et Dataverse, soit 30 jours pour tous les autres connecteurs.
Exemple pratique : déterminer les approbateurs à partir de groupes SharePoint
Un exemple tiré de la documentation Microsoft illustre bien ce modèle : une entreprise a besoin d'approbations pour les propositions de projet, les demandes de congés et les notes de frais, les personnes responsables étant gérées dans différents groupes SharePoint. Au lieu de reconstruire la requête pour le groupe concerné dans trois flux distincts, un seul flux enfant est créé, qui interroge le groupe SharePoint correspondant et renvoie la liste des approbateurs. Le flux parent pour les propositions de projet, celui pour les demandes de congés et celui pour les notes de frais appellent alors tous le même flux enfant et transmettent uniquement le groupe concerné dans chaque cas. Si la structure des groupes SharePoint change ultérieurement, il suffit d'ajuster le flux enfant, et les trois processus en profitent automatiquement.
Limites et pièges
Les flux enfants ne fonctionnent pas tout seuls et comportent quelques règles fixes que vous devez connaître avant de construire des processus plus importants dessus :
- Le flux parent et le flux enfant doivent être créés directement dans la même solution. Si vous importez ultérieurement un flux existant dans une solution, le lien peut, selon Microsoft, entraîner des résultats inattendus.
- Les connexions ne peuvent actuellement pas être transmises du flux parent au flux enfant ; chaque connexion du flux enfant doit y être intégrée.
- Un flux enfant nécessite impérativement un déclencheur manuel, Power Apps ou de requête HTTP ; les autres déclencheurs ne sont pas disponibles à cette fin.
- Avec un très grand nombre de flux enfants répartis sur plusieurs solutions, il vaut également la peine de se pencher sur la licence, par exemple sur les groupes de flux, qui permettent de partager une licence de processus entre plusieurs flux et leurs exécutions de flux enfants.
Vous gardez le contrôle sur le niveau de granularité de votre découpage : toutes les tâches en trois étapes n'ont pas besoin de leur propre flux enfant, mais dès qu'une tâche apparaît à plusieurs endroits ou qu'un flux devient confus, la division s'avère rapidement rentable. Ceux qui souhaitent moduler des processus Power Automate existants avec une structure claire et une gestion des solutions rigoureuse trouveront un accompagnement auprès du conseil Power Automate de NordFlux.
Questions fréquentes
Quelle est la différence entre un flux parent et un flux enfant ?
Le flux parent peut avoir n'importe quel déclencheur et pilote l'ensemble du processus. Le flux enfant prend en charge une sous-tâche unique et clairement délimitée, reçoit pour cela des entrées du flux parent et renvoie un résultat à la fin, à la manière d'une fonction dans un programme.
Quels déclencheurs un flux enfant peut-il utiliser ?
Seuls trois déclencheurs conviennent aux flux enfants : déclencher un flux manuellement, le déclencheur Power Apps et le déclencheur pour les requêtes HTTP entrantes dans le connecteur premium. Un déclencheur de récurrence ou un déclencheur SharePoint ne fonctionne pas à cette fin.
Puis-je réutiliser une connexion existante du flux parent dans le flux enfant ?
Non, il n'est actuellement pas possible de transmettre des connexions du flux parent au flux enfant. Chaque connecteur utilisé dans le flux enfant doit y être stocké comme connexion intégrée via le paramètre d'utilisateur en exécution seule.
Combien de temps le flux parent attend-il la réponse du flux enfant ?
Le flux parent est en pause jusqu'à ce que le flux enfant soit terminé, au maximum pendant la durée de vie du flux. Cela correspond à un an pour les flux avec connexions intégrées et Dataverse, et à 30 jours pour tous les autres connecteurs.
Le flux parent et le flux enfant doivent-ils se trouver dans la même solution ?
Oui, Microsoft recommande expressément de créer les deux directement dans la même solution. Ce n'est qu'ainsi qu'ils sont automatiquement liés correctement lors de l'exportation vers un autre environnement, sans qu'il soit nécessaire d'ajuster manuellement les URL.
Sources : Microsoft Learn – Créer des flux enfants, Microsoft Learn – Créer du code réutilisable pour les flux enfants
NordFlux UG (haftungsbeschränkt)
NordFlux construit des employés numériques pour les organisations : des automatisations et des agents KI qui prennent en charge le travail répétitif. Vous gardez le contrôle.
Des questions concrètes sur l’automatisation ou l’IA ?
Lors d’une analyse initiale gratuite, nous discutons directement de votre cas. Sans engagement.