Une expression relit une donnée de l’exécution. Commencez par exécuter la source, inspectez sa sortie, puis sélectionnez le champ dans le mapping de l’éditeur. Le chemin dépend du déclencheur et des options du nœud.
Entrée du déclencheur
input désigne l’entrée initiale du workflow. Ajouter un nœud ne remplace pas cette entrée par la sortie du nœud précédent.
Transformer une donnée ne remplace pas l’entrée
Entrée d’origineinput.amount = 120
Modifier les champs
Ajoute 5 au champ amount.
Deux valeurs accessiblesinput.amount = 120 nodes.set1.amount=125
Pour reproduire ce schéma, activez Champs mappés uniquement dans un nœud Modifier les champs, créez amount avec la valeur {{ input.amount + 5 }}, puis inspectez sa sortie. Adaptez set1 au nom technique proposé par votre mapping.
Pour un webhook qui reçoit le même JSON comme corps de requête, ces chemins deviennent input.body.email, input.body.amount et input.body.tags[0]. Les en-têtes et paramètres d’URL se trouvent dans input.headers et input.query.
Sortie d’un nœud
nodes contient les sorties des nœuds déjà exécutés, sous leur nom technique. Si un nœud HTTP nommé http1 renvoie :
Lisez l’identifiant avec {{ nodes.http1.body.id }}. Si vous activez Corps uniquement, la sortie devient directement { "id": "customer-42", "active": true } : utilisez alors {{ nodes.http1.id }}.
Le nom visible du service ne suffit pas pour deviner le chemin. Utilisez le nom technique proposé par le mapping. Un nœud placé dans l’autre branche d’un IF peut ne pas avoir été exécuté et ne fournit alors aucune sortie pour cette exécution.
Texte ou valeur typée
Dans Modifier les champs, une expression seule conserve le type de sa valeur :
Ces expressions donnent respectivement un nombre, une liste et un booléen pour le payload précédent. En revanche, Montant : {{ input.amount }} produit le texte Montant : 120. Saisir simplement 120 dans une valeur de ce formulaire produit aussi du texte ; {{ 120 }} produit un nombre.
Cette règle dépend du paramètre destinataire. Le corps du nœud HTTP est un texte envoyé sur le réseau. Pour envoyer un objet en JSON, utilisez {{ JSON.stringify(input) }} et l’en-tête Content-Type: application/json. Consultez l’exemple HTTP pour sa configuration.
Variables créées par Modifier les champs
Un champ simple nommé customerId peut être relu avec {{ vars.customerId }} ou {{ customerId }}. Ces variables sont stockées sous forme de texte. Pour conserver un nombre, un objet ou une liste dans les étapes suivantes, préférez la sortie typée du nœud : {{ nodes.set1.amount }} ou {{ nodes.set1.tags }}.
Un nom contenant un point, comme customer.email, construit un objet imbriqué dans la sortie. Il ne crée pas une variable globale customer.email.
Objets, listes et fichiers
Objet JSON : vous pouvez lire directement ses propriétés. Si nodes.http1.body est déjà un objet, n’ajoutez pas de conversion pour accéder à nodes.http1.body.id.
Chaîne contenant du JSON : utilisez Parse JSON, par exemple avec le champ input.raw. La valeur décodée se trouve dans nodes.parse1.parsed, si le nom technique est parse1.
Liste : pour choisir les éléments à conserver puis les traiter un par un, suivez Traiter une liste. Le guide distingue le chemin de la liste (source), le champ de chaque élément et l’élément courant d’une boucle.
Fichier : vérifiez l’encodage et les métadonnées attendus par le destinataire. Un contenu base64, une URL et un chemin de fichier ne sont pas interchangeables.
Valeurs absentes
Un chemin absent peut donner null dans une valeur typée et du texte vide lorsqu’il est inséré dans une chaîne. Une sortie vide ne prouve donc pas que la donnée a été fournie.
Pour un texte facultatif, vous pouvez écrire :
text
{{ input.name ?? 'Visiteur' }}
?? remplace une valeur absente ou null, mais conserve 0, false et une chaîne vide. Pour une adresse ou un identifiant obligatoire, ajoutez une condition de validation et une branche de rejet au lieu d’inventer une valeur par défaut.
Si le résultat surprend, vérifiez l’entrée réelle et la branche exécutée. Les erreurs d’évaluation peuvent aussi laisser un diagnostic dans les logs.
Une expression relit une donnée de l’exécution. Commencez par exécuter la source, inspectez sa sortie, puis sélectionnez le champ dans le mapping de l’éditeur. Le chemin dépend du déclencheur et des options du nœud.
Entrée du déclencheur
inputdésigne l’entrée initiale du workflow. Ajouter un nœud ne remplace pas cette entrée par la sortie du nœud précédent.input.amount = 1205au champamount.input.amount = 120nodes.set1.amount=125Pour reproduire ce schéma, activez Champs mappés uniquement dans un nœud Modifier les champs, créez
amountavec la valeur{{ input.amount + 5 }}, puis inspectez sa sortie. Adaptezset1au nom technique proposé par votre mapping.Avec ce payload dans un déclencheur manuel :
{ "email": "[email protected]", "amount": 120, "tags": ["demo", "priority"] }{{ input.email }}lit l’adresse.{{ input.amount }}lit le nombre120.{{ input.tags[0] }}litdemo.Pour un webhook qui reçoit le même JSON comme corps de requête, ces chemins deviennent
input.body.email,input.body.amountetinput.body.tags[0]. Les en-têtes et paramètres d’URL se trouvent dansinput.headersetinput.query.Sortie d’un nœud
nodescontient les sorties des nœuds déjà exécutés, sous leur nom technique. Si un nœud HTTP nomméhttp1renvoie :{ "body": { "id": "customer-42", "active": true }, "status": 200, "ok": true }Lisez l’identifiant avec
{{ nodes.http1.body.id }}. Si vous activez Corps uniquement, la sortie devient directement{ "id": "customer-42", "active": true }: utilisez alors{{ nodes.http1.id }}.Le nom visible du service ne suffit pas pour deviner le chemin. Utilisez le nom technique proposé par le mapping. Un nœud placé dans l’autre branche d’un IF peut ne pas avoir été exécuté et ne fournit alors aucune sortie pour cette exécution.
Texte ou valeur typée
Dans Modifier les champs, une expression seule conserve le type de sa valeur :
Ces expressions donnent respectivement un nombre, une liste et un booléen pour le payload précédent. En revanche,
Montant : {{ input.amount }}produit le texteMontant : 120. Saisir simplement120dans une valeur de ce formulaire produit aussi du texte ;{{ 120 }}produit un nombre.Cette règle dépend du paramètre destinataire. Le corps du nœud HTTP est un texte envoyé sur le réseau. Pour envoyer un objet en JSON, utilisez
{{ JSON.stringify(input) }}et l’en-têteContent-Type: application/json. Consultez l’exemple HTTP pour sa configuration.Variables créées par Modifier les champs
Un champ simple nommé
customerIdpeut être relu avec{{ vars.customerId }}ou{{ customerId }}. Ces variables sont stockées sous forme de texte. Pour conserver un nombre, un objet ou une liste dans les étapes suivantes, préférez la sortie typée du nœud :{{ nodes.set1.amount }}ou{{ nodes.set1.tags }}.Un nom contenant un point, comme
customer.email, construit un objet imbriqué dans la sortie. Il ne crée pas une variable globalecustomer.email.Objets, listes et fichiers
nodes.http1.bodyest déjà un objet, n’ajoutez pas de conversion pour accéder ànodes.http1.body.id.input.raw. La valeur décodée se trouve dansnodes.parse1.parsed, si le nom technique estparse1.source), le champ de chaque élément et l’élément courant d’une boucle.Valeurs absentes
Un chemin absent peut donner
nulldans une valeur typée et du texte vide lorsqu’il est inséré dans une chaîne. Une sortie vide ne prouve donc pas que la donnée a été fournie.Pour un texte facultatif, vous pouvez écrire :
??remplace une valeur absente ounull, mais conserve0,falseet une chaîne vide. Pour une adresse ou un identifiant obligatoire, ajoutez une condition de validation et une branche de rejet au lieu d’inventer une valeur par défaut.Si le résultat surprend, vérifiez l’entrée réelle et la branche exécutée. Les erreurs d’évaluation peuvent aussi laisser un diagnostic dans les logs.