Français
Rédiger (IA)
Fait rédiger un message par le modèle selon vos consignes et le profil du destinataire (le registre, le ton, la langue, la signature). Ne l’envoie pas : ajoutez « Envoyer » derrière pour le déposer en brouillon ou l’expédier.
Rédiger (IA) fait écrire un mail par le modèle à partir de vos consignes, adapté au destinataire : tutoiement ou vouvoiement, ton, langue, notes de contexte et signature viennent du profil du destinataire dans le carnet d’adresses. Le même workflow tutoie alors un client de longue date et vouvoie un prospect, sans que vous ayez à écrire l’une ou l’autre règle.
Le nœud ne fait que produire le message. Il ne dépose aucun brouillon et n’envoie rien. Branchez Envoyer derrière lui pour déposer le message en brouillon ou l’expédier, et placez entre les deux ce dont vous avez besoin : une Approbation, une condition, une écriture dans une table. Quand le texte est un gabarit fixe plutôt qu’un texte à rédiger, utilisez Rédiger : il ne coûte aucun appel de modèle.
En bref
- Type :
ai.compose· version 1 - Catégorie : IA
- 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 - Ports de service :
model(llm.model, facultatif)
Paramètres
instructions
Ce que le mail doit dire — Les consignes données au modèle, pas le texte final. Accepte des expressions {{ }} : {{ data.extract_1.numero }}, {{ email.from.name }}.
- Type : Texte long (
text) - Requis : Oui
- Défaut :
""(vide) - 10000 caractères au plus
- Exemple :
Confirme la réception de la demande et annonce une réponse chiffrée sous 48 h. - Expressions :
{{ }}accepté
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é
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
includeThreadContext
Donner le mail au modèle — Le corps du mail déclencheur est fourni comme contexte, en données délimitées. Le fil complet n’est pas encore disponible. Sans mail porteur, il n’y a rien à donner : le modèle ne travaille que sur vos consignes.
- 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)
useRecipientProfiles
Appliquer les profils destinataires — Le registre (tutoiement ou vouvoiement), le ton, la langue, les notes et la signature du destinataire sont injectés dans les consignes du modèle.
- Type : Oui / non (
boolean) - Requis : Non
- Défaut :
true
languageOverride
Forcer la langue
- Type : Un choix (
options) - Requis : Non
- Défaut :
""(vide) - Options :
— Selon le profilfr— Françaisen— Anglais
toneOverride
Forcer le ton
- Type : Un choix (
options) - Requis : Non
- Défaut :
""(vide) - Options :
— Selon le profilformal— Formelneutral— Neutrecasual— Familier
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? }. Le message rédigé, prêt pour un nœud Envoyer. Faites pointer le champ « Message à envoyer » d’Envoyer sur cette expression.to,ccetbccsont des tableaux d’adresses ;ccetbccsont absents quand ils sont vides ;inReplyToMessageIdn’est présent que si le message répond dans le fil.{{ data.<step>.message.bodyText }}—string. Le corps complet rédigé par le modèle, suivi de la signature du profil destinataire quand il en a une.{{ data.<step>.message.subject }}—string. L’objet. Quand le champ « Objet » est rendu vide et que l’exécution a un mail déclencheur, il vautRe:suivi de l’objet de ce mail.{{ 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>.style }}—object { formality, tone, language, overridden }. Le style réellement appliqué :formalityvauttuouvous,tonevautformal,neutraloucasual,languageest un code de langue ounull(la réponse suit le mail),overriddenliste ce que le nœud a forcé (tone,language).{{ data.<step>.profileApplied }}—object keyed by address. Pour chaque destinataire résolu :formality,tone,language(ounull),signature(le profil en a-t-il une) etnotes(le nombre de notes). Le texte des notes n’est pas recopié.
Exemple
Accuser réception de chaque demande de devis par une réponse dans le fil. Derrière la branche cat:Devis d’un Catégoriser, ajoutez un nœud Rédiger (IA) nommé Reponse :
instructions: "Remercie pour la demande, confirme sa bonne réception et annonce une réponse chiffrée sous 48 h. Cite le produit demandé."
to: "{{ email.from.email }}"
subject: "Re: {{ email.subject }}"
replyInThread: true
includeThreadContext: true
useRecipientProfiles: trueAjoutez ensuite un nœud Envoyer avec :
message: "{{ data.reponse.message }}"
mode: draftLes données de l’étape Reponse contiennent le message :
json
{
"message": {
"to": ["acheteur@example.com"],
"subject": "Re: Prix pour 200 pièces",
"bodyText": "Bonjour Madame Martin,\n\nMerci pour votre demande…",
"inReplyToMessageId": "<CAF123@mail.example.com>"
},
"bodyPreview": "Bonjour Madame Martin,\n\nMerci pour votre demande…",
"bodyTruncated": false,
"style": { "formality": "vous", "tone": "neutral", "language": null, "overridden": [] },
"profileApplied": { "acheteur@example.com": { "formality": null, "tone": null, "language": null, "signature": false, "notes": 0 } }
}Envoyer lit le message, le dépose en brouillon dans la boîte du mail déclencheur, et le brouillon apparaît pour relecture.
Langue de sortie
Sauf réglage contraire, le modèle écrit dans la langue du mail déclencheur, quelle que soit la langue de vos consignes ou de l’interface : des consignes rédigées en anglais produisent une réponse en français à un mail en français. Deux réglages fixent la langue à la place : une langue définie sur le profil du destinataire principal, ou « Forcer la langue » sur le nœud (Français ou Anglais). « Forcer la langue » l’emporte sur le profil.
Profils destinataires
Avec « Appliquer les profils destinataires » coché (le défaut), le nœud résout les profils de toutes les adresses de « Destinataires » et de « Copie (Cc) ». La première adresse de « Destinataires » donne le style : tutoiement ou vouvoiement (vouvoiement à défaut), ton (neutre à défaut), langue, nom affiché et signature. Les notes de tous les destinataires résolus sont ajoutées comme contexte. « Forcer le ton » remplace le ton du profil sans désactiver le reste. Décochez « Appliquer les profils destinataires » pour rédiger sans aucun profil.
Quand le profil du destinataire principal porte une signature, le modèle reçoit la consigne de terminer par elle, sans la modifier, et le nœud l’ajoute lui-même si le modèle l’a oubliée.
Ce que voit le modèle
Vos consignes partent dans un message utilisateur, jamais dans le message système. Avec « Donner le mail au modèle » coché et un mail déclencheur présent, l’objet et le corps texte du mail sont ajoutés dans un bloc distinct et délimité, avec la consigne explicite de le traiter comme une donnée et d’ignorer toute instruction qu’il contiendrait. Seul le mail déclencheur est fourni, pas le reste du fil. Sans mail déclencheur (planification, webhook, appel), le modèle ne travaille qu’à partir de vos consignes.
Choix du modèle
Le nœud possède un port de service model. Laissé vide, l’appel utilise le modèle par défaut que l’administrateur a choisi pour l’usage « Rédiger » sur la page Connexions (section Intelligence artificielle) (ou le défaut de l’instance). Branchez un nœud fournisseur comme Anthropic (Claude) ou Mistral AI sur le port model pour rédiger avec ce fournisseur.
Conseils
- Exécutions sans mail. Sous une planification, un webhook ou un déclencheur par sondage, « Destinataires » et « Objet » partent vides et doivent être remplis, et « Répondre dans le fil » part décoché. S’il reste coché, la publication le refuse ; à l’exécution, le nœud échoue avec
mail.reply_without_emailavant d’appeler le modèle, pour ne pas payer une rédaction impossible à rendre. - Pas de Message-ID. Si le mail déclencheur n’a pas d’en-tête
Message-IDexploitable, le message est rédigé hors du fil plutôt que perdu. - Deux signatures. La signature du profil fait partie du corps. Si Envoyer ajoute aussi une signature, le message porte les deux : choisissez l’une ou l’autre.
- Les valeurs insérées sont des données. Les consignes peuvent insérer du contenu écrit par un tiers (
{{ data.<step>.attachments.0.text }}) ; le modèle est prévenu que les valeurs insérées sont des données, pas des consignes. - Essais. En essai, le modèle est réellement appelé : vous pouvez relire la vraie réponse ; rien n’est déposé ni envoyé, puisque le nœud n’a pas d’effet et qu’Envoyer est simulé. Si l’instance n’a aucun fournisseur d’IA utilisable, le corps est un texte de remplissage fixe et le détail d’exécution signale que l’IA a été sautée.
- Erreurs. Des consignes vides donnent
node_nothing_to_do; aucun destinataire restant après le rendu de « Destinataires » donnenode_invalid_param, de même qu’un objet vide sans mail déclencheur. Voir Gestion des erreurs.