Composer des processus avec les subworkflows
Un subworkflow délègue une responsabilité à un autre processus tout en conservant un contrat typé entre le parent et l’enfant. Le parent crée une instance enfant, attend sa résolution, puis reprend avec les outputs déclarés par le processus enfant.
Une vraie instance enfant, pas une macro de graphe
Le node Subworkflow ne copie pas les nodes du processus enfant dans le parent. Il ouvre une exécution distincte, avec sa propre révision, son propre graphe observable et son propre statut. Le parent reste suspendu sur le node jusqu’à ce que cette exécution produise un résultat ou échoue.
Le parent délègue une responsabilité complète à une instance enfant et reprend uniquement à la frontière de son contrat de sortie.
Sélectionner le processus et sa révision
Le designer sélectionne la définition enfant puis la révision à exécuter. Une révision pinée garantit qu’une évolution ultérieure du processus enfant ne modifie pas silencieusement le comportement d’un processus parent déjà publié.
Dans un environnement de test, le Process Builder peut également cibler la version de travail afin d’itérer rapidement sur les deux graphes. Cette facilité d’authoring ne change pas le principe de production : une exécution reproductible doit identifier le snapshot enfant qu’elle exécute.
Inputs et outputs suivent le contrat de l’enfant
Les paramètres du node sont dérivés de l’input_schema du processus enfant. Chaque input requis doit être alimenté par une source compatible du parent. Les outputs visibles après résolution sont, eux, dérivés de l’output_schema de l’enfant.
Cette frontière évite les échanges de contexte opaques : le sous-processus ne reçoit pas automatiquement tout l’état du parent. Il reçoit les valeurs que le designer a explicitement mappées, puis restitue uniquement son contrat de sortie.
Pour comprendre les règles de typage et de compatibilité utilisées par ces mappings, voir Entrées, sorties et bindings.

Choisir la continuité des participants
Un processus enfant peut déclarer ses propres participants. Par défaut, ces participants restent indépendants de ceux du parent. Le designer peut toutefois mapper explicitement un participant de l’enfant vers un participant du parent lorsqu’il s’agit réellement de la même personne ou du même rôle dans l’expérience.
Plusieurs participants enfants peuvent être reliés au même participant parent, mais ce choix doit être intentionnel : ils partageront alors la même identité de participant à cette frontière du parcours. L’absence de mapping conserve au contraire une séparation explicite.
La protection des données traverse la frontière
Mapper une valeur vers le sous-processus ne supprime pas sa classification. Les politiques de protection associées aux inputs sont transportées vers l’instance enfant. Lors du retour, les outputs sont reclassifiés selon le contrat de sortie de l’enfant tout en conservant les protections héritées qui restent applicables.
sensitive ou secret en donnée normale. Une baisse explicite de classification reste soumise aux mêmes règles de consentement que dans le graphe parent.Voir Protection des données.
Échecs, warnings et observabilité
L’instance enfant est consultable comme toute autre instance de processus. Depuis le node parent, l’utilisateur peut descendre vers cette exécution pour comprendre son chemin, ses inputs, ses outputs et ses diagnostics.
Si l’enfant échoue avant de produire une résolution exploitable, le node Subworkflow échoue à son tour et le parent suit sa politique d’échec. Si l’enfant termine avec des warnings, le parent reçoit un warning de synthèse plutôt qu’une copie de tous les diagnostics internes : le détail reste dans l’instance enfant.
Voir Observabilité pour la lecture des exécutions imbriquées.