Français
Rédiger
Prépare un message — destinataires, objet, corps, pièces jointes — sans rien envoyer. Ajoutez « Envoyer » derrière pour le déposer en brouillon ou l’expédier ; entre les deux, vous pouvez poser une approbation, une condition ou une écriture dans une table.
Rédiger prépare un message à partir de champs que vous remplissez : destinataires, objet, corps, pièces jointes. Il n’envoie rien et ne dépose aucun brouillon. Branchez Envoyer derrière lui pour déposer le message en brouillon ou l’expédier ; entre les deux, vous pouvez poser une Approbation, une condition ou une écriture dans une table.
Utilisez Rédiger quand le texte est un gabarit : un accusé de réception, une relance, un transfert avec les pièces jointes. Utilisez Rédiger (IA) quand le texte doit être écrit pour chaque mail.
En bref
- Type :
mail.compose· version 1 - Catégorie : Actions
- Nature : Étape — s’exécute pendant une exécution
- Effet : Sans effet externe (
none) — rien n’est écrit hors de Mankomail ; rejouable sans risque - Exige un mail porteur : Non
- Connexion : Aucune
- Entrées :
main - Sorties :
main
Paramètres
to
Destinataires — Adresses séparées par des virgules. Par défaut : l’expéditeur du mail déclencheur — et rien quand le déclencheur n’apporte pas de mail.
- Type : Texte (
string) - Requis : Oui
- Défaut : Selon le déclencheur —
{{ email.from.email }}(déclencheur mail ou manuel) ;""(vide) (appelé par un autre workflow) ;""(vide) (planification, webhook ou événement d’intégration) - 2000 caractères au plus
- Expressions :
{{ }}accepté
cc
Copie (Cc)
- Type : Texte (
string) - Requis : Non
- Défaut :
""(vide) - 2000 caractères au plus
- Expressions :
{{ }}accepté
bcc
Copie cachée (Cci)
- Type : Texte (
string) - Requis : Non
- Défaut :
""(vide) - 2000 caractères au plus
- Expressions :
{{ }}accepté
subject
Objet
- Type : Texte (
string) - Requis : Oui
- Défaut : Selon le déclencheur —
Re: {{ email.subject }}(déclencheur mail ou manuel) ;""(vide) (appelé par un autre workflow) ;""(vide) (planification, webhook ou événement d’intégration) - 500 caractères au plus
- Expressions :
{{ }}accepté
bodyText
Message — Texte du brouillon. Accepte des expressions {{ }} : {{ email.from.name }}, {{ data.extract_1.numero }}…
- Type : Texte long (
text) - Requis : Oui
- Défaut :
""(vide) - 50000 caractères au plus
- Expressions :
{{ }}accepté
replyInThread
Répondre dans le fil — La réponse est rattachée au mail déclencheur et reste dans la conversation. Coché par défaut sous un déclencheur mail, décoché sous une planification, un webhook ou un appel — il n’y a alors pas de fil, et la publication le refuse s’il reste coché.
- Type : Oui / non (
boolean) - Requis : Non
- Défaut : Selon le déclencheur —
true(déclencheur mail ou manuel) ;false(appelé par un autre workflow) ;false(planification, webhook ou événement d’intégration) - Exige un mail porteur pour :
true
attachments
Pièces jointes — Les pièces à joindre : celles du mail déclencheur — c’est ce qui fait un vrai « transférer avec les PJ » — et les fichiers ajoutés par une étape précédente (un acte rapatrié, un PDF signé). Les images intégrées (logos de signature) ne sont jamais reprises.
- Type : Un choix (
options) - Requis : Oui
- Défaut :
none - Options :
none— Aucune : Le brouillon ne porte que son texte.fromTrigger— Celles de l’exécution : Toutes : celles du mail reçu, puis les fichiers ajoutés par les étapes précédentes.fromTriggerFiltered— Celles de l’exécution, filtrées : Seulement celles dont le type ou le nom correspond — le devis, pas la signature.
attachmentMime
Type de fichier — Type MIME exact (application/pdf) ou famille entière (image/*). Laissé vide, aucune PJ n’est retenue.
- Type : Texte (
string) - Requis : Non
- Défaut :
""(vide) - 200 caractères au plus
- Exemple :
application/pdf - Affiché quand :
attachmentsvautfromTriggerFiltered - Expressions :
{{ }}accepté
attachmentNamePattern
Nom du fichier — Motif simple : * remplace n’importe quoi, ? un caractère (*.pdf, facture-*). La casse est ignorée.
- Type : Texte (
string) - Requis : Non
- Défaut :
""(vide) - 200 caractères au plus
- Exemple :
*.pdf - Affiché quand :
attachmentsvautfromTriggerFiltered - Expressions :
{{ }}accepté
Sorties
main
Données produites
Ce que ce nœud ajoute aux données de l’exécution, et comment le lire dans une expression. <step> désigne la clé de l’étape : le nom du nœud ramené à un identifiant (voir Données et expressions).
{{ data.<step>.message }}—object { to, cc?, bcc?, subject, bodyText?, inReplyToMessageId?, attachmentRefs? }. Le message préparé, prêt pour un nœud Envoyer. Faites pointer le champ « Message à envoyer » d’Envoyer sur cette expression.to,ccetbccsont des tableaux d’adresses ;cc,bccetbodyTextsont absents quand ils sont vides ;inReplyToMessageIdn’est présent que si le message répond dans le fil ;attachmentRefsliste les pièces retenues par position.{{ data.<step>.message.subject }}—string. L’objet rendu.{{ data.<step>.bodyPreview }}—string. Les 280 premiers caractères du corps, pour l’affichage dans le détail d’exécution.{{ data.<step>.bodyTruncated }}—boolean.truequand le corps est plus long que l’aperçu.{{ data.<step>.attachments }}—array of { position, filename, mime, size }. Les pièces jointes que portera le message. Vide quand « Pièces jointes » vaut « Aucune » ou que rien ne correspond.{{ data.<step>.attachments.0.filename }}—string. Le nom de fichier de la première pièce retenue.{{ data.<step>.summary }}—string. Une phrase qui décrit le message dans le détail d’exécution (nombre de destinataires, pièces jointes), dans la langue du membre qui exécute le workflow.summaryKeyetsummaryParamsportent la même phrase sous forme de clé de traduction et de paramètres.
Exemple
Transférer chaque facture fournisseur à la boîte de la comptabilité, avec son PDF. Ajoutez un nœud Rédiger nommé Transfert :
to: "compta@example.com"
subject: "Facture de {{ email.from.name }} : {{ email.subject }}"
bodyText: "Transfert automatique. Expéditeur d’origine : {{ email.from.email }}."
replyInThread: false
attachments: fromTriggerFiltered
attachmentMime: "application/pdf"Puis un nœud Envoyer avec message réglé sur {{ data.transfert.message }} et mode sur send. Les données de l’étape Transfert sont :
json
{
"message": {
"to": ["compta@example.com"],
"subject": "Facture de Acme : Facture F-2026-118",
"bodyText": "Transfert automatique. Expéditeur d’origine : facturation@acme.example.",
"attachmentRefs": [{ "position": 0 }]
},
"bodyPreview": "Transfert automatique. Expéditeur d’origine : facturation@acme.example.",
"bodyTruncated": false,
"attachments": [
{ "position": 0, "filename": "F-2026-118.pdf", "mime": "application/pdf", "size": 84211 }
],
"summary": "…"
}Des défauts qui dépendent du déclencheur
Sous un déclencheur mail, Rédiger part comme une réponse : « Destinataires » vaut {{ email.from.email }}, « Objet » vaut Re: {{ email.subject }} et « Répondre dans le fil » est coché. Sous une planification, un webhook, un déclencheur par sondage ou un appel, il n’y a ni expéditeur ni fil : « Destinataires » et « Objet » partent vides et doivent être remplis (depuis data.* par exemple), et « Répondre dans le fil » part décoché. Si « Répondre dans le fil » reste coché dans un workflow sans mail déclencheur, la publication le refuse, et à l’exécution le nœud échoue avec mail.reply_without_email.
Pièces jointes
- Aucune : le message ne porte que son texte.
- Celles de l’exécution : toutes les pièces du mail déclencheur, puis tous les fichiers ajoutés par une étape précédente (un document rapatrié d’un drive, un PDF signé).
- Celles de l’exécution, filtrées : seulement celles dont le type ou le nom correspond aux champs de filtre. Avec les deux champs de filtre remplis, une pièce doit satisfaire les deux ; avec les deux laissés vides, rien n’est retenu.
Les images intégrées (logos de signature, images insérées dans le corps) ne sont jamais reprises. Les pièces sont désignées par leur position : leur contenu n’est pas recopié dans les données de l’étape, et le serveur lit les fichiers au moment où Envoyer enregistre le message.
Conseils
- Adresses. « Destinataires », « Copie (Cc) » et « Copie cachée (Cci) » prennent des adresses séparées par des virgules et sont templatables. Si « Destinataires » n’est rendu en aucune adresse, le nœud échoue avec
node_invalid_param. - Pas de Message-ID. Si le mail déclencheur n’a pas d’en-tête
Message-IDexploitable, le message est préparé hors du fil plutôt que perdu. - Aucune pièce correspondante. Si la sélection ne trouve rien, le message est quand même préparé, sans pièce jointe, et
attachmentsest vide. - Boîte d’expédition. Rédiger ne choisit ni la boîte d’expédition ni la signature : c’est Envoyer qui le fait.
- Aucun effet. Rédiger se comporte de la même façon en essai et en production ; seul Envoyer est simulé.