Bonjour à tous,
Je propose la mise en place d’agents d’automatisation n8n pour TPE/PME,
avec un focus particulier sur le tri et la réponse automatique aux emails.
Exemple concret déjà en production (workflow ci-dessous) :
Gmail Trigger → classification via IA → parsing → routage selon le
type de demande → labellisation automatique + brouillon de réponse
rédigé et prêt à valider.
name "Agent Email IA"
nodes
0
parameters
pollTimes
item
0
mode "everyMinute"
filters {}
type "n8n-nodes-base.gmailTrigger"
typeVersion 1.4
position
0 0
1 0
id "9c6e0674-05d7-4c16-abf4-f7e1bafae023"
name "Gmail Trigger"
credentials
gmailOAuth2
id "suaU5Yp9PvDRfzzR"
name "Gmail account"
1
parameters
modelId
__rl true
value "models/gemini-3-flash-preview"
mode "list"
cachedResultName "models/gemini-3-flash-preview"
messages
values
0
content `=Tu es un assistant de tri d'emails pour une entreprise.\n\nAnalyse cet email et réponds UNIQUEMENT avec un objet JSON valide, sans texte avant ou après, sans balises markdown, avec exactement ces champs :\n{"categorie": "...", "urgence": "...", "resume": "...", "action": "..."}\n\nRègles :\n- categorie : une valeur parmi "demande_client", "facture_devis", "reclamation", "newsletter", "spam", "autre"\n- urgence : "haute", "moyenne" ou "basse"\n- resume : une phrase en français, max 20 mots\n- action : "repondre", "traiter", "archiver" ou "ignorer"\n\nEmail à analyser :\nExpéditeur : {{ $json.From }}\nSujet : {{ $json.Subject }}\nContenu : {{ $json.snippet }}`
jsonOutput true
builtInTools {}
options {}
type "@n8n/n8n-nodes-langchain.googleGemini"
typeVersion 1.2
position
0 208
1 0
id "b6d33eb2-afd8-4060-b629-b7c4aa69b203"
name "Message a model"
credentials
googlePalmApi
id "H8JNGMhq1dNoAhsp"
name "Google Gemini(PaLM) Api account"
2
parameters
jsCode "const raw = $input.first().json.content.parts[0].text;\nconst clean = raw.replace(/```json|```/g, '').trim();\nconst parsed = JSON.parse(clean);\nreturn [{ json: parsed }];"
type "n8n-nodes-base.code"
typeVersion 2
position
0 560
1 0
id "a643abde-a751-4e8b-bc63-f53375c22aa5"
name "Code in JavaScript"
3
parameters
rules
values
0
conditions
options { caseSensitive: true, typeValidation: "strict", version: 3, … }
conditions [ {…} ]
combinator "and"
renameOutput true
outputKey "repondre"
1
conditions
options { caseSensitive: true, typeValidation: "strict", version: 3, … }
conditions [ {…} ]
combinator "and"
renameOutput true
outputKey "traiter"
2
conditions
options { caseSensitive: true, typeValidation: "strict", version: 3, … }
conditions [ {…} ]
combinator "and"
renameOutput true
outputKey "ignorer"
3
conditions
options { caseSensitive: true, typeValidation: "strict", version: 3, … }
conditions [ {…} ]
combinator "and"
renameOutput true
outputKey "archiver"
options {}
type "n8n-nodes-base.switch"
typeVersion 3.4
position
0 768
1 0
id "425e696e-387f-40f1-8f7d-ae93d8f382d4"
name "Switch"
4
parameters
operation "addLabels"
messageId "={{ $('Gmail Trigger').item.json.id }}"
labelIds
0 "Label_2515053613802287685"
type "n8n-nodes-base.gmail"
typeVersion 2.2
position
0 1088
1 192
id "dd18937a-63aa-49f5-8472-af186bae89b2"
name "Add label to message"
webhookId "149c9945-e810-4f99-b14a-4886fff491d4"
credentials
gmailOAuth2
id "suaU5Yp9PvDRfzzR"
name "Gmail account"
5
parameters
operation "addLabels"
messageId "={{ $('Gmail Trigger').item.json.id }}"
labelIds
0 "Label_2243996761373384014"
type "n8n-nodes-base.gmail"
typeVersion 2.2
position
0 1072
1 16
id "451552bf-f5fb-4c4c-af83-aaeeca7f9b4c"
name "Add label to message1"
webhookId "52989d56-24c4-46d7-87a4-a0cb05c9a8de"
credentials
gmailOAuth2
id "suaU5Yp9PvDRfzzR"
name "Gmail account"
6
parameters
modelId
__rl true
mode "list"
value "models/gemini-3-flash-preview"
messages
values
0
content `=Tu es l'assistant email d'ELYTAYMASS, agence de création de sites web et d'automatisation pour TPE/PME, fondée par Tarik.\n\nRédige un brouillon de réponse professionnel à l'email ci-dessous, en français.\n\nRègles :\n- Ton cordial et professionnel, tutoiement interdit\n- Remercie pour le message, réponds à la demande si possible, propose un échange téléphonique si la demande nécessite un devis\n- Signe "Tarik - ELYTAYMASS"\n- Réponds UNIQUEMENT avec le texte du brouillon, sans objet, sans commentaire avant ou après\n\nEmail reçu :\nExpéditeur : {{ $('Gmail Trigger').item.json.From }}\nSujet : {{ $('Gmail Trigger').item.json.Subject }}\nContenu : {{ $('Gmail Trigger').item.json.snippet }}\nRésumé de l'analyse : {{ $json.resume }}`
builtInTools {}
options {}
type "@n8n/n8n-nodes-langchain.googleGemini"
typeVersion 1.2
position
0 880
1 -256
id "e8722f67-a38b-4931-ba49-33198fd14df5"
name "Message a model1"
credentials
googlePalmApi
id "H8JNGMhq1dNoAhsp"
name "Google Gemini(PaLM) Api account"
7
parameters
resource "draft"
subject "=Re: {{ $('Gmail Trigger').item.json.Subject }}"
message "={{ $json.content.parts[0].text }}"
options
threadId "={{ $('Gmail Trigger').item.json.threadId }}"
sendTo "={{ $('Gmail Trigger').item.json.From }}"
type "n8n-nodes-base.gmail"
typeVersion 2.2
position
0 544
1 128
id "910e787c-d32e-465d-b2e5-60b70d45bc99"
name "Create a draft"
webhookId "4422d7be-e35a-4ce0-93a7-96adfc9d2da2"
credentials
gmailOAuth2
id "suaU5Yp9PvDRfzzR"
name "Gmail account"
pinData {}
connections
Gmail Trigger
main
0
0
node "Message a model"
type "main"
index 0
Message a model
main
0
0
node "Code in JavaScript"
type "main"
index 0
Code in JavaScript
main
0
0
node "Switch"
type "main"
index 0
Switch
main
0
0
node "Message a model1"
type "main"
index 0
1
0
node "Add label to message1"
type "main"
index 0
2 []
3
0
node "Add label to message"
type "main"
index 0
Message a model1
main
0
0
node "Create a draft"
type "main"
index 0
active false
settings
executionOrder "v1"
binaryMode "separate"
availableInMCP false
versionId "a7326a51-47c2-4e57-837d-43c9931e4a7e"
meta
templateCredsSetupCompleted true
instanceId "f752974cb52639678d9adc871df18c9d74414aeded080feb11d1753597ae87ac"
nodeGroups []
id "2arjV6OTr7TjZx1X"
tags []
Disponible en freelance, à distance. Ouvert à discuter d’un besoin
spécifique (lecture de mail, synchro d’outils, relances automatiques,
etc.) même si ça sort de cet exemple précis.
N’hésitez pas à me contacter en MP ou en réponse ici.