Skip to content

Données et expressions ​

La plupart des réglages texte d'un nœud peuvent contenir des expressions écrites entre doubles accolades : {{ email.from.email }}, {{ data.categoriser.category }}. Juste avant l'exécution du nœud, Mankomail remplace chaque expression par une valeur lue dans l'exécution, puis transmet le texte final au nœud.

Le langage est volontairement réduit. Une expression est un chemin vers une valeur, éventuellement suivi de filtres. Il n'y a ni appel de fonction, ni arithmétique, ni condition, ni boucle. Le même moteur calcule l'aperçu dans l'éditeur et la valeur réelle pendant une exécution : ce que vous voyez en éditant est ce que le nœud reçoit.

La syntaxe en bref ​

{{ chemin }}
{{ chemin | filtre }}
{{ chemin | filtre | filtre:"argument" }}
ÉlémentRègleExemple
Délimiteurs{{ ouvre, }} ferme. Les espaces à l'intérieur sont facultatifs.{{email.subject}} et {{ email.subject }} sont identiques.
CheminDes segments séparés par des points. Chaque segment est un nom ([A-Za-z_$][A-Za-z0-9_$]*) ou un index de tableau composé de chiffres.email.to.0.email
FiltreIntroduit par |. Les filtres s'appliquent de gauche à droite.{{ email.subject | trim | upper }}
Argument de filtreAprès deux-points : "guillemets doubles", 'guillemets simples' ou un mot nu.{{ data.extraire.ref | default:"n/a" }}
Accolades littéralesÉcrivez \{{ pour obtenir {{ sans rien évaluer.\{{ non évalué }} → {{ non évalué }}

Le texte hors accolades est recopié tel quel : vous pouvez mêler texte libre et plusieurs expressions dans un même champ.

Bonjour {{ email.from.name | default:"Madame, Monsieur" }}, nous avons bien reçu votre demande « {{ email.subject | trim }} ».

Ce qu'une expression peut lire ​

Une expression lit depuis exactement deux racines :

RacineContenu
emailLe mail déclencheur de l'exécution, au format de message canonique décrit plus bas.
dataLes données de travail : les sorties des étapes déjà terminées, plus l'entrée apportée par un déclencheur qui n'est pas un mail (webhook, planification, appel, intégration).

Rien d'autre n'est accessible : ni horloge, ni environnement, ni secret, ni autre mail de la boîte. Un chemin qui ne commence pas par email. ou data. ne mène à rien.

Quand l'exécution n'a pas de mail déclencheur (webhook, planification, appel depuis un workflow lui-même sans mail, événement d'intégration), email est vide : toute expression {{ email.… }} rend une chaîne vide. Les exécutions parties d'un mail (déclencheur mail, lancement manuel sur un mail) et les sous-exécutions qu'elles lancent (itérations de boucle, workflows appelés) voient toutes ce mail.

Le mail déclencheur (email) ​

Chaque mail, quel que soit son fournisseur (Gmail, Microsoft 365, IMAP), est présenté sous la même forme. Tous les encodages sont déjà décodés ; les dates sont des chaînes ISO 8601 en UTC.

CheminTypeDescription
email.subjectchaîneObjet décodé. Chaîne vide si le mail n'en a pas — jamais absent.
email.fromobjet adresseL'expéditeur. Absent si le mail n'a pas de From exploitable.
email.from.emailchaîneAdresse de l'expéditeur, normalisée (domaine en minuscules).
email.from.namechaîneNom affiché de l'expéditeur. Absent si l'en-tête ne porte pas de nom.
email.toliste d'adressesDestinataires.
email.ccliste d'adressesDestinataires en copie.
email.bccliste d'adressesDestinataires en copie cachée. Presque toujours vide sur un mail reçu.
email.replyToliste d'adressesAdresses de l'en-tête Reply-To.
email.receivedAtchaîne (ISO 8601 UTC)Date de réception constatée par le fournisseur. La date fiable.
email.sentAtchaîne (ISO 8601 UTC)Date déclarée par l'expéditeur (en-tête Date). Peut être absente ou fausse.
email.bodyTextchaîneCorps en texte brut, dérivé du HTML quand le mail n'a que du HTML. Quand le mail d'origine complet n'est pas conservé, il s'agit seulement du début du corps.
email.bodyHtmlchaîneCorps HTML, non assaini. Absent pour un mail texte seul.
email.attachmentsliste de pièces jointesMétadonnées des pièces jointes seulement, jamais leur contenu.
email.folderLabelsliste de chaînesDossiers IMAP ou libellés Gmail portés par le mail.
email.flagsobjetÉtat chez le fournisseur : seen, flagged, draft, sent.
email.signalsobjetDétections calculées à la réception : isAutoReply, isNoReply, isMailingList, isFromSelf.
email.headersobjetEn-têtes, noms en minuscules, chaque valeur étant une liste de chaînes.
email.messageIdHeaderchaîneEn-tête Message-ID, chevrons compris.
email.inReplyTochaîneEn-tête In-Reply-To, chevrons compris.
email.referencesliste de chaînesEn-tête References, éclaté en identifiants, du plus ancien au plus récent.
email.providerIdchaîneIdentifiant du mail chez son fournisseur.
email.bodyRefchaîneRéférence interne au mail d'origine stocké. Non destinée aux expressions.

Un champ signalé comme pouvant être absent rend une chaîne vide quand il manque. Ajoutez | default:"…" lorsqu'une valeur vide se lirait mal.

Adresses, pièces jointes, drapeaux et signaux ​

Objet adresse (email.from, chaque élément de email.to, email.cc, email.bcc, email.replyTo) :

ChampTypeDescription
emailchaîneAdresse normalisée : local@domaine-en-minuscules.
namechaîneNom affiché, décodé. Peut être absent.

Les listes se lisent par index, à partir de 0 : {{ email.to.0.email }} est le premier destinataire, {{ email.cc.1.name }} le nom du deuxième destinataire en copie. Écrire la liste elle-même ({{ email.to }}) la rend en JSON.

Pièce jointe (chaque élément de email.attachments) :

ChampTypeDescription
filenamechaîneNom de fichier décodé (un nom généré quand le mail n'en donne pas).
mimechaîneType MIME en minuscules, sans paramètres (application/pdf).
sizenombreTaille décodée, en octets.
dispositionchaîneattachment pour une vraie pièce jointe, inline pour une image intégrée au HTML (logo, signature).
contentIdchaîneContent-ID sans chevrons, pour les images intégrées. Peut être absent.
blobRefchaîneRéférence interne au contenu stocké. Non destinée aux expressions.

Drapeaux (email.flags.*, booléens) : seen (lu), flagged (suivi), draft (brouillon), sent (le mail est dans le dossier d'envoi).

Signaux (email.signals.*, booléens) : isAutoReply (absence du bureau ou répondeur automatique), isNoReply (expéditeur non surveillé comme no-reply@), isMailingList (newsletter, liste de diffusion, envoi de masse), isFromSelf (envoyé par Mankomail lui-même).

Les booléens sont rendus true ou false.

Les en-têtes du mail ​

email.headers associe à chaque nom d'en-tête, en minuscules, la liste de ses valeurs. Lisez la première valeur avec l'index 0 :

{{ email.headers.subject.0 }}
{{ email.headers.received.0 }}

Noms d'en-têtes avec un tiret

Un segment de chemin ne peut pas contenir de -. Les en-têtes comme x-priority, list-id ou content-type ne sont donc pas accessibles par une expression : {{ email.headers.x-priority.0 }} n'est pas une expression valide. Utilisez les champs dédiés (email.signals.isMailingList, email.inReplyTo, email.messageIdHeader…) ou une condition de déclencheur.

Les en-têtes sont lus dans le mail d'origine stocké. Quand l'original n'est pas conservé, email.headers est un objet vide.

Les données de travail (data) ​

Chaque nœud qui se termine avec succès publie sa sortie dans les données de travail, sous une clé dérivée du nom du nœud affiché sur le canvas. Si un nœud nommé Catégoriser produit { "category": "Facture" }, les nœuds suivants la lisent ainsi :

{{ data.categoriser.category }}

Les champs de sortie de chaque nœud sont listés sur sa page dans la référence des nœuds.

Comment la clé est dérivée du nom :

  1. Les accents sont retirés (Trié → Trie).
  2. Les espaces en début et en fin sont retirés.
  3. Chaque suite de caractères autres que lettres, chiffres, _ et $ devient un seul _.
  4. Les _ en début et en fin sont retirés.
  5. Le résultat est mis en minuscules.
  6. Si le résultat est vide ou commence par un chiffre, la clé est l'identifiant du nœud (voir plus bas).
Nom du nœudClé
Catégoriserdata.categoriser
Categorizedata.categorize
Trier les facturesdata.trier_les_factures
Extraire (IA)data.extraire_ia
Résumé — clientdata.resume_client
2e contrôlel'identifiant du nœud (le nom commence par un chiffre)

Un nouveau nœud porte le nom de son type dans la langue de votre interface : un nœud Catégoriser fraîchement posé est data.categoriser en français et data.categorize en anglais. Renommer un nœud change sa clé : les expressions qui utilisaient l'ancien nom rendent alors une chaîne vide.

Alias par identifiant. Chaque sortie est aussi publiée sous l'identifiant du nœud, qui ne change jamais quand vous le renommez. Les nœuds ajoutés dans l'éditeur reçoivent des identifiants comme categorize_1, if_2, request_1 (la dernière partie du type du nœud et un numéro). C'est cette forme que l'éditeur insère quand vous glissez une valeur depuis le panneau Ce qui entre d'un nœud : {{ data.categorize_1.category }}. Les deux formes désignent la même valeur.

Deux nœuds avec la même clé. Quand deux nœuds produisent la même clé (Trier les factures et Trier, les factures), le premier à se terminer garde la clé issue du nom ; lisez l'autre par son identifiant.

Ce que contient data à une étape donnée :

  • les sorties des étapes de cette exécution qui ont réussi et publié quelque chose. Un nœud en échec, ignoré, ou désactivé et traversé ne publie rien ;
  • l'entrée du déclencheur (section suivante), posée en premier : un nœud nommé webhook ne peut pas masquer data.webhook.

Ne lisez que des nœuds situés en amont du nœud courant. La sortie d'une branche parallèle n'est présente que si cette branche s'est terminée avant, ce qui n'est pas garanti.

Les données apportées par le déclencheur ​

Un déclencheur qui n'apporte pas de mail pose son entrée à la racine de data :

DéclencheurCléContenu
Webhook reçudata.webhookLe corps JSON de la requête : {{ data.webhook.client.email }}.
Appelé par un workflowdata.inputCe que le workflow appelant a transmis : {{ data.input.reference }}.
Planificationdata.scheduleplannedFor (l'heure prévue, ISO 8601 UTC), firedAt (l'heure réelle), timezone (UTC si aucun fuseau n'est réglé).
Événement d'intégration (webhook)data.<intégration>Le corps de l'événement sous l'identifiant de l'intégration, par exemple data.mynotary, data.yousign, data.notion.
Changement chez une intégration (sondage)data.<intégration>L'élément modifié, par exemple data.airtable ou data.notion.

{{ data.schedule.plannedFor }} est l'heure prévue, ronde (…T08:00:00.000Z), c'est généralement celle à écrire dans un objet de mail ; firedAt est l'heure à laquelle l'exécution a réellement démarré.

Pendant un essai, le corps d'essai que vous écrivez est placé sous la même clé : le workflow lit data.webhook ou data.input exactement comme en production.

Dans une boucle ​

Les nœuds branchés sur la sortie pour chaque d'une Boucle s'exécutent une fois par élément, chaque fois dans une exécution à part. Dans cette exécution, data contient en plus :

CheminTypeDescription
data.itemquelconqueL'élément courant. Un tableau de N éléments quand la taille de lot est supérieure à 1.
data.indexnombrePosition de l'élément courant, à partir de 0.
data.countnombreNombre total d'éléments.
data.firstbooléentrue pour le premier élément.
data.lastbooléentrue pour le dernier élément.

Les cinq mêmes valeurs sont aussi disponibles sous la clé du nœud de boucle : {{ data.boucle.item }} pour une boucle nommée Boucle. Dans des boucles imbriquées, data.item désigne l'élément de la boucle la plus intérieure ; atteignez l'élément extérieur par le nom de la boucle extérieure, par exemple {{ data.lignes.item.email }}.

Tout ce qui a été produit avant la boucle reste lisible dans le corps. Si un nœud du corps a la même clé qu'un nœud d'avant la boucle, c'est le nœud du corps qui l'emporte.

Exemple : une boucle sur {{ data.lire.lignes }} dont le corps envoie un mail par ligne :

À :     {{ data.item.email }}
Objet : Relance {{ data.index }}/{{ data.count }} — {{ data.item.reference }}

data.index commence à 0. Il n'y a pas d'arithmétique : {{ data.index }} ne peut pas être transformé en numéro commençant à 1.

Les chemins : règles et limites ​

  • Des points uniquement. data.extraire.commande.numero. Crochets et guillemets ne sont pas pris en charge : data["extraire"] n'est pas une expression.
  • Les index de tableau sont des chiffres. email.attachments.0.filename. Les index négatifs n'existent pas. Un index au-delà de la fin de la liste ne mène à rien.
  • Les caractères d'un segment. Un segment commence par une lettre, _ ou $, suivi de lettres, chiffres, _ ou $, ou bien il n'est fait que de chiffres. Une clé qui contient un tiret, un espace ou une lettre accentuée (par exemple un champ de webhook first-name, ou une colonne nommée Nom client) n'est pas accessible directement. Référencez l'objet parent pour l'obtenir en JSON, ou renommez le champ à la source.
  • Les données elles-mêmes seulement. Un chemin ne lit que les données : {{ email.subject.length }} ne mène à rien, pas plus que les segments réservés __proto__, prototype et constructor.
  • Sensible à la casse. email.from.Email ne mène à rien.

Les filtres ​

Les filtres transforment le texte produit par le chemin. Ils s'appliquent de gauche à droite, chacun recevant le résultat du précédent. La liste est fermée : ces quatre filtres sont les seuls.

FiltreArgumentEffetExemple
defaultobligatoireRemplace la valeur par l'argument quand la valeur est vide (chemin manquant, null ou chaîne vide). Fait aussi taire l'avertissement de chemin manquant.{{ email.from.name | default:"Madame, Monsieur" }}
upperaucunPasse en majuscules.{{ email.from.email | upper }} → ADA@EXAMPLE.COM
loweraucunPasse en minuscules.{{ email.from.name | lower }} → ada lovelace
trimaucunRetire les espaces en début et en fin.{{ email.subject | trim }}

Enchaînement :

{{ email.subject | trim | upper }}                    →  DEVIS 1042   (objet « Devis 1042 » entouré d'espaces)
{{ data.extraire.ref | default:"aucune" | upper }}    →  AUCUNE       (quand ref est absente)

Écrire l'argument de default :

FormeExempleRésultat si vide
Guillemets doublesdefault:"n/a"n/a
Guillemets simplesdefault:'?'?
Mot nu (espaces retirés)default:00
Guillemet dans des guillemetsdefault:"dit \"non\""dit "non"
Barre verticale entre guillemetsdefault:"a|b"a|b

Entre guillemets, une barre oblique inverse échappe ", ' et \. Un argument ne peut pas contenir }}, qui ferme toujours l'expression.

default ne réagit qu'à une valeur vide. Une liste vide est rendue [] : elle n'est donc pas vide pour default.

Erreurs de saisie :

Vous écrivezCe qui se passe
{{ email.from.name | capitalize }}Filtre inconnu : il est ignoré, la valeur est conservée et un avertissement est émis.
{{ email.from.name | upper:1 }}Argument donné à un filtre qui n'en prend pas : le filtre est ignoré, la valeur est conservée et un avertissement est émis.
{{ data.x | default }}default sans argument : le filtre est ignoré et un avertissement est émis.
{{ email.from.name | 42 }}Nom de filtre invalide : ignoré, avertissement émis.

Ces quatre cas sont des erreurs de saisie : l'éditeur signale le champ, et le workflow ne peut être ni essayé ni publié tant qu'elles ne sont pas corrigées (voir La validation à la saisie).

Le rendu des valeurs ​

Une expression produit toujours du texte :

Valeur trouvéeRendu
ChaîneTelle quelle.
NombreNotation décimale avec un point : 1290.5, 0. Un nombre non fini est rendu vide.
Booléentrue ou false.
nullChaîne vide, sans avertissement.
Objet ou listeJSON compact : {{ email.to }} → [{"name":"Ada","email":"ada@example.com"}], {{ email.folderLabels }} → ["INBOX","IMPORTANT"].
DateLes dates du mail et des sorties de nœuds sont déjà des chaînes ISO 8601 (2026-08-27T10:00:00.000Z) et sont rendues telles quelles.

Il n'existe pas de filtre de mise en forme des dates ou des nombres. Pour obtenir une date ou un nombre mis en forme, produisez-le dans un nœud en amont et référencez la sortie de ce nœud.

Rendre un objet ou une liste en JSON est utile dans un corps HTTP, ou pour passer une liste entière à une Boucle : la boucle relit le JSON comme une liste.

Valeurs manquantes et expressions mal formées ​

Une expression ne fait jamais échouer une exécution. Chaque anomalie a un comportement fixe :

SituationExempleRésultatCode d'avertissement
Le chemin n'existe pas{{ email.cc.0.email }} sur un mail sans copiechaîne videmissing_path
Le chemin existe, la valeur est nullune sortie de nœud "category": nullchaîne videaucun
Chemin vide ou invalide{{ }}, {{ email..subject }}, {{ data.mon-noeud.x }}l'expression est laissée telle quelle, accolades comprisesmalformed_expression
Appel de fonction ou code{{ process.exit(1) }}laissée telle quellemalformed_expression
Accolades non referméesBonjour {{ email.from.namele reste du texte est laissé tel quelunterminated_expression
Filtre inconnu{{ email.subject | capitalize }}valeur sans le filtreunknown_filter
Mauvais argument de filtre{{ email.subject | upper:1 }}valeur sans le filtreinvalid_filter_argument

Pendant une exécution réelle, un chemin manquant est rendu par une chaîne vide et l'étape continue avec cette valeur. C'est le cas normal des champs facultatifs : un mail sans copie doit quand même être traité. Protégez les champs qui comptent avec default, ou vérifiez-les en amont avec une Condition (Si).

Échapper {{ ​

Pour écrire des doubles accolades littérales (dans un gabarit HTML, un exemple JSON, un message qui explique la syntaxe), placez une barre oblique inverse devant :

Utilisez \{{ email.subject }} dans votre modèle.

rend Utilisez {{ email.subject }} dans votre modèle. La barre oblique inverse est retirée et rien n'est évalué. Une accolade simple ({ … }) n'a jamais besoin d'être échappée.

Aucune évaluation de code ​

Les expressions ne sont pas du JavaScript et ne sont jamais exécutées comme du code. Seuls existent les chemins simples et les quatre filtres. Conséquences :

  • pas d'arithmétique ({{ data.index + 1 }} est mal formée et laissée telle quelle) ;
  • pas de comparaison ni de condition dans une expression : utilisez un nœud Condition (Si) ou Aiguillage ;
  • pas d'appel de fonction ni de méthode ;
  • aucun accès à ce qui se trouve hors de email et data.

C'est une garantie de sécurité : le contenu d'un mail, que n'importe qui peut vous envoyer, ne peut jamais exécuter de code au travers d'une expression.

Les réglages qui acceptent les expressions ​

Les expressions ne sont évaluées que dans les réglages des nœuds qui s'exécutent comme des étapes, juste avant leur exécution. Les déclencheurs et les nœuds fournisseurs d'IA ne sont jamais des étapes : leurs réglages sont lus tels qu'écrits.

Dans un nœud, par défaut :

Type de réglageAccepte {{ }}
Texte sur une ligne et texte multiligneOui, sauf si le nœud le refuse pour ce champ (liste ci-dessous).
Listes clé/valeur (par exemple les en-têtes HTTP)Oui pour les valeurs ; jamais pour les clés.
Valeur comparée d'une condition (Condition (Si), Aiguillage)Oui.
Sélecteur de ressource (Choisir / Identifiant / URL)Seulement en mode Identifiant.
Nombre, oui/non, choix unique, choix multipleNon, sauf si le nœud ouvre explicitement le champ aux expressions.
Connexion (identifiants)Jamais.
Collections (groupes de champs répétés)Chaque sous-champ suit son propre type.

Quand un champ non textuel est ouvert aux expressions, l'éditeur y affiche une bascule Fixe / Expression.

Les réglages qui refusent les expressions ​

Certains réglages texte refusent {{ }} volontairement. Une expression saisie à cet endroit est signalée comme une erreur (« Ce champ n’accepte pas les expressions « {{ }} ». »). Le champ reste entièrement modifiable : seules les expressions sont refusées.

Deux familles sont concernées. Sécurité : un contenu venu d'un mail ne doit atteindre ni les instructions d'un modèle, ni une URL secrète. Structure : les noms qui créent les sorties d'un nœud, ou les clés de ses données, doivent être connus à la publication, sans quoi une branche pourrait ne mener nulle part sans que personne ne le voie.

NœudRéglages
CatégoriserNom de catégorie, Prompt système
ExtraireIdentifiant de champ
Instruction libre (IA)Schéma JSON
AiguillageNom de la branche de chaque règle
TransformerNom du champ (la valeur accepte les expressions)
Requête HTTPNom du champ des champs du formulaire et des fichiers envoyés
NotifierURL du webhook
Appeler un workflowWorkflow à appeler
Sheets — ajouter une ligneEn-tête de colonne, Colonne de dédoublonnage
Nœuds de table (chercher, lister, ajouter, mettre à jour, ajouter ou mettre à jour, supprimer)Colonne clé de la clé de ligne, Colonne des valeurs et des filtres, Trier par (lister des lignes)
Table — ajouter un commentaireColonne à compléter

Les déclencheurs (Planification : Expression cron, Fuseau horaire ; Airtable : Filtre supplémentaire ; et les autres réglages de déclencheur) et le Modèle des nœuds fournisseurs d'IA ne sont jamais rendus non plus : une expression y serait utilisée littéralement.

Les expressions dans les champs nombre et choix ​

Le rendu produit toujours du texte. Quand un nœud ouvre un champ nombre ou choix aux expressions, {{ data.extraire.quantite }} arrive sous la forme du texte "3", que le nœud convertit au moment de s'exécuter. À la publication, seule la syntaxe de l'expression est vérifiée : la valeur elle-même n'est connue que pendant l'exécution.

La validation à la saisie ​

Chaque expression est vérifiée pendant l'édition, avec le moteur même qui l'exécute :

  • Bloquant (le champ est signalé, et le workflow ne peut être ni essayé ni publié) : {{ non refermé, chemin invalide, filtre inconnu, argument de filtre manquant ou en trop (« L’expression « {{ }} » est mal formée. »), ou expression dans un champ qui les refuse.
  • Non bloquant : un chemin qui n'existe pas encore. À l'édition, rien n'a tourné : le validateur ne peut pas savoir si data.categoriser.category existera. Seul l'aperçu peut le dire, sur un exemple réel.

L'aperçu dans l'éditeur ​

Chaque champ texte qui accepte les expressions propose :

  • la coloration des parties {{ }} ;
  • l'autocomplétion des champs du mail, des sorties des nœuds en amont et des quatre filtres ;
  • une ligne Aperçu qui affiche le texte rendu, ou (vide) ;
  • les avertissements de l'expression, par exemple « Le chemin « … » n’existe pas dans les données d’entrée. ».

L'aperçu est calculé sur le mail d'essai actif et sur les données du dernier essai des nœuds en amont. Sans mail d'essai actif, il est calculé sur un mail d'exemple intégré et le dit (« Aperçu calculé sur un mail d’exemple. »), avec un bouton Choisir un mail d’essai.

Le panneau Ce qui entre d'un nœud liste le mail déclencheur et chaque nœud en amont, avec les données produites au dernier essai. Glissez une valeur dans un champ, ou cliquez-la pour l'insérer dans le dernier champ où vous écriviez. Les chemins insérés utilisent l'identifiant du nœud (« Les chemins désignent le nœud par son identifiant : le renommer ne casse rien. »).

Exemples ​

ObjectifExpression
Saluer l'expéditeur, avec une valeur de repliBonjour {{ email.from.name | default:"Madame, Monsieur" }},
Objet de réponseRe : {{ email.subject | trim }}
Nom de la première pièce jointe{{ email.attachments.0.filename | default:"(aucune pièce jointe)" }}
Date de réception{{ email.receivedAt }} → 2026-08-27T10:00:00.000Z
Catégorie choisie par Catégoriser{{ data.categoriser.category }}
La même, résistante au renommage{{ data.categorize_1.category }}
Valeur obtenue par Extraire{{ data.extraire.numero_commande | default:"inconnu" }}
Champ d'un corps de webhook{{ data.webhook.client.email }}
Heure prévue d'une planification{{ data.schedule.plannedFor }}
Élément courant d'une boucle{{ data.item.reference }}
Une liste entière, en JSON, pour une boucle{{ data.lire.lignes }}
Corps JSON d'une requête HTTP{"ref": "{{ data.extraire.ref }}", "de": "{{ email.from.email }}"}
Accolades littérales\{{ email.subject }}

Construire un corps JSON

Une expression insère du texte brut : si la valeur contient un guillemet ou un retour à la ligne, le JSON devient invalide. Insérez des valeurs que vous savez simples (identifiants, adresses), ou passez un objet entier, qui est rendu en JSON valide : {"client": {{ data.webhook.client }}}.

Pages liées ​

  • Exécutions : d'où viennent les données de travail et comment elles sont conservées.
  • Essais : exécuter un brouillon sur un vrai mail pour alimenter l'aperçu avec des données réelles.
  • Déclencheurs : ce qu'apporte chaque déclencheur.
  • Référence des nœuds : les champs de sortie de chaque nœud.