Réponse automatisée aux e-mails avec GPT-4o, Outlook et approbation GoToHuman
Ceci est unTicket Management, AI Chatbotworkflow d'automatisation du domainecontenant 15 nœuds.Utilise principalement des nœuds comme If, Code, ManualTrigger, SplitInBatches, Agent. Réponse automatisée aux e-mails avec GPT-4o, Outlook et approbation GoToHuman
- •Clé API OpenAI
Nœuds utilisés (15)
Catégorie
{
"meta": {
"instanceId": "efb474b59b0341d7791932605bd9ff04a6c7ed9941fdd53dc4a2e4b99a6f9439",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "db46a99c-a87d-4203-925f-f94fed274bbe",
"name": "Note adhésive",
"type": "n8n-nodes-base.stickyNote",
"position": [
120,
0
],
"parameters": {
"color": 5,
"width": 1200,
"height": 760,
"content": "### 4. **Generate AI Response**\n- Text prompt to OpenAI: \n ```\n subject: {{ $json.subject }} \n body: {{ $json.body.content }}\n ```\n\n- System prompt: \n > You are a personal assistant helping respond to emails. I am an AI automation expert specializing in helping small and medium-size businesses automate processes. Create a short response to the email. Sign the email as Robert Breen.\n"
},
"typeVersion": 1
},
{
"id": "2b29c366-caf6-41e5-bf09-a6f60ab9d315",
"name": "Outil : Injecter de la créativité",
"type": "@n8n/n8n-nodes-langchain.toolThink",
"position": [
600,
520
],
"parameters": {},
"typeVersion": 1
},
{
"id": "df07d826-251e-4b9f-927f-637280847891",
"name": "Analyseur : Extraire JSON de l'idée",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
800,
480
],
"parameters": {
"jsonSchemaExample": "[\n {\n \"body\": \"\"\n }\n]\n"
},
"typeVersion": 1.2
},
{
"id": "3f7eeefc-a208-4020-8b6a-7dc536126daa",
"name": "openai",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
480,
500
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o",
"cachedResultName": "gpt-4o"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "ghJTvay8CvwXDsXz",
"name": "OpenAi account"
}
},
"typeVersion": 1.2
},
{
"id": "c1d3fd0d-b84e-4346-aa2e-3c3b8cf358e3",
"name": "Note adhésive1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-880,
0
],
"parameters": {
"width": 980,
"height": 760,
"content": "### 1. **Trigger** \nUse the Manual Trigger to test or schedule execution with a cron node.\n\n### 2. **Filter Emails from Today**\nA Code node outputs today's date in the proper `yyyy-mm-dd` format.\n\n```javascript\nconst today = new Date();\ntoday.setHours(0, 0, 0, 0);\nreturn [{ json: { searchQuery: `received:${today.toISOString().split('T')[0]}` } }];\n```\n\n### 3. **Search and Filter Outlook Messages**\n- Uses the Outlook node with a search query like: \n `received:2025-08-06 -from:rbreen@ynteractive.com` (Update to your email address)"
},
"typeVersion": 1
},
{
"id": "af0105d8-5b95-4d82-8735-acb6358f607b",
"name": "Note adhésive3",
"type": "n8n-nodes-base.stickyNote",
"position": [
1340,
0
],
"parameters": {
"color": 3,
"width": 760,
"height": 760,
"content": "### 5. **Review with gotoHuman**\n- Submit AI output for human approval using the `gotoHuman` node.\n- The output schema should match the Review Template fields (e.g., \"email\", \"OriginalEmail\").\n\n### 6. **IF Node Decision**\n- If status is `approved`, send reply\n- If not, return to loop for revision or skip\n\n---"
},
"typeVersion": 1
},
{
"id": "be573205-24d6-49e7-924e-d9bfd1879505",
"name": "Test",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-800,
420
],
"parameters": {},
"typeVersion": 1
},
{
"id": "807aecbb-fdc0-4a6b-9fbb-186aefdad240",
"name": "Afficher la date du jour",
"type": "n8n-nodes-base.code",
"position": [
-520,
560
],
"parameters": {
"jsCode": "const today = new Date();\ntoday.setHours(0, 0, 0, 0); // Normalize to start of day\n\nconst formattedDate = today.toISOString().split('T')[0]; // \"2025-08-06\"\n\nreturn [\n {\n json: {\n searchQuery: `received:${formattedDate}`\n }\n }\n];\n"
},
"typeVersion": 2
},
{
"id": "b4d9154b-c7e8-437b-b6d8-ed22327bfccf",
"name": "Agent IA : Créer une légende pour linkedin",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
560,
300
],
"parameters": {
"text": "=subject: {{ $json.subject }} Body: {{ $json.body.content }}",
"options": {
"systemMessage": "=You are a personal assistant helping respond to emails. I am an ai automation expert specializing in helping small and medium size businesses automate processes. Create a short response to the email that you are analyzing. \n\nThe email that you write should be written to the sender who sent the email to us. \n\nSign the email as Robert Breen\n\noutput the data like this. \n\n[\n {\n \"body\": \"\"\n }\n]\n"
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 1.9
},
{
"id": "41d1ebef-9808-4d0b-ae30-2e8cd0ae597a",
"name": "Note adhésive2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-880,
-240
],
"parameters": {
"color": 6,
"width": 2980,
"height": 200,
"content": "# 🤖AI-Powered Outlook Email Assistant with GoToHuman Approval Workflow\n## 📬 Need Help?\n\nMessage me on [LinkedIn](https://www.linkedin.com/in/robert-breen-29429625/) \nor email me at **robert@ynteractive.com**\n"
},
"typeVersion": 1
},
{
"id": "a27db7b8-96b1-425e-98d9-e1dc5f939478",
"name": "Microsoft Outlook",
"type": "n8n-nodes-base.microsoftOutlook",
"position": [
-280,
420
],
"webhookId": "ae07c8b7-e0be-4a87-93a8-cfcb00303d0c",
"parameters": {
"limit": 2,
"output": "raw",
"options": {},
"filtersUI": {
"values": {
"search": "={{ $json.searchQuery }} -from:rbreen@ynteractive.com\n",
"filterBy": "search"
}
},
"operation": "getAll"
},
"credentials": {
"microsoftOutlookOAuth2Api": {
"id": "VmTDwKgAl78H8pek",
"name": "Microsoft Outlook account"
}
},
"typeVersion": 2
},
{
"id": "3830b457-613f-4709-b70a-ae5d089d8a83",
"name": "gotoHuman",
"type": "@gotohuman/n8n-nodes-gotohuman.gotoHuman",
"position": [
1460,
300
],
"webhookId": "29fff214-9915-47fe-833f-c78d42709c76",
"parameters": {
"fields": {
"value": {
"email": "={{ $json.output[0].body }}",
"OriginalEmail": "={{ $('Microsoft Outlook').item.json.body.content }}"
},
"schema": [
{
"id": "email",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "email (text)",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "OriginalEmail",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "OriginalEmail (emailHtml)",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"email"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"additionalFields": {},
"reviewTemplateID": {
"__rl": true,
"mode": "list",
"value": "7nYfIV9vrefvuHcccGEB",
"cachedResultName": "Email Responses (7nYfIV9vrefvuHcccGEB)"
}
},
"credentials": {
"gotoHumanApi": {
"id": "DDAwJMAARwFCF0fA",
"name": "gotoHuman account"
}
},
"executeOnce": true,
"typeVersion": 1
},
{
"id": "6484d15f-94d2-4078-93de-beee1985e085",
"name": "Boucler sur les éléments",
"type": "n8n-nodes-base.splitInBatches",
"position": [
-40,
560
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "07ef9661-0df9-41a9-b412-3f2af84bba43",
"name": "Microsoft Outlook1",
"type": "n8n-nodes-base.microsoftOutlook",
"position": [
1920,
520
],
"webhookId": "0208ffbc-c796-47a4-8e71-aa175d970c54",
"parameters": {
"message": "={{ $json.responseValues.email.value }}",
"options": {},
"messageId": {
"__rl": true,
"mode": "id",
"value": "={{ $('Microsoft Outlook').item.json.id }}"
},
"operation": "reply"
},
"credentials": {
"microsoftOutlookOAuth2Api": {
"id": "VmTDwKgAl78H8pek",
"name": "Microsoft Outlook account"
}
},
"typeVersion": 2
},
{
"id": "5b6f8868-ac73-44f0-9eaa-64250abab4d6",
"name": "Si",
"type": "n8n-nodes-base.if",
"position": [
1700,
300
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "8516d970-6327-47de-83ab-1945acd928b2",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.response }}",
"rightValue": "approved"
}
]
}
},
"typeVersion": 2.2
}
],
"pinData": {},
"connections": {
"5b6f8868-ac73-44f0-9eaa-64250abab4d6": {
"main": [
[
{
"node": "07ef9661-0df9-41a9-b412-3f2af84bba43",
"type": "main",
"index": 0
}
],
[
{
"node": "6484d15f-94d2-4078-93de-beee1985e085",
"type": "main",
"index": 0
}
]
]
},
"be573205-24d6-49e7-924e-d9bfd1879505": {
"main": [
[
{
"node": "807aecbb-fdc0-4a6b-9fbb-186aefdad240",
"type": "main",
"index": 0
}
]
]
},
"3f7eeefc-a208-4020-8b6a-7dc536126daa": {
"ai_languageModel": [
[
{
"node": "b4d9154b-c7e8-437b-b6d8-ed22327bfccf",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"3830b457-613f-4709-b70a-ae5d089d8a83": {
"main": [
[
{
"node": "5b6f8868-ac73-44f0-9eaa-64250abab4d6",
"type": "main",
"index": 0
}
]
]
},
"6484d15f-94d2-4078-93de-beee1985e085": {
"main": [
[],
[
{
"node": "b4d9154b-c7e8-437b-b6d8-ed22327bfccf",
"type": "main",
"index": 0
}
]
]
},
"a27db7b8-96b1-425e-98d9-e1dc5f939478": {
"main": [
[
{
"node": "6484d15f-94d2-4078-93de-beee1985e085",
"type": "main",
"index": 0
}
]
]
},
"07ef9661-0df9-41a9-b412-3f2af84bba43": {
"main": [
[
{
"node": "6484d15f-94d2-4078-93de-beee1985e085",
"type": "main",
"index": 0
}
]
]
},
"807aecbb-fdc0-4a6b-9fbb-186aefdad240": {
"main": [
[
{
"node": "a27db7b8-96b1-425e-98d9-e1dc5f939478",
"type": "main",
"index": 0
}
]
]
},
"2b29c366-caf6-41e5-bf09-a6f60ab9d315": {
"ai_tool": [
[
{
"node": "b4d9154b-c7e8-437b-b6d8-ed22327bfccf",
"type": "ai_tool",
"index": 0
}
]
]
},
"df07d826-251e-4b9f-927f-637280847891": {
"ai_outputParser": [
[
{
"node": "b4d9154b-c7e8-437b-b6d8-ed22327bfccf",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"b4d9154b-c7e8-437b-b6d8-ed22327bfccf": {
"main": [
[
{
"node": "3830b457-613f-4709-b70a-ae5d089d8a83",
"type": "main",
"index": 0
}
]
]
}
}
}Comment utiliser ce workflow ?
Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.
Dans quelles scénarios ce workflow est-il adapté ?
Intermédiaire - Gestion des tickets, Chatbot IA
Est-ce payant ?
Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.
Workflows recommandés
Robert Breen
@rbreenProfessional services consultant with over 10 years of experience solving complex business problems across industries. I specialize in n8n and process automation—designing custom workflows that integrate tools like Google Calendar, Airtable, GPT, and internal systems. Whether you need to automate scheduling, sync data, or streamline operations, I build solutions that save time and drive results.
Partager ce workflow