Respuesta automática de correos con GPT-4o, Outlook y aprobación GoToHuman
Este es unTicket Management, AI Chatbotflujo de automatización del dominio deautomatización que contiene 15 nodos.Utiliza principalmente nodos como If, Code, ManualTrigger, SplitInBatches, Agent. Respuesta automatizada de correos usando GPT-4o, Outlook y aprobación de GoToHuman
- •Clave de API de OpenAI
Nodos utilizados (15)
Categoría
{
"meta": {
"instanceId": "efb474b59b0341d7791932605bd9ff04a6c7ed9941fdd53dc4a2e4b99a6f9439",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "db46a99c-a87d-4203-925f-f94fed274bbe",
"name": "Nota adhesiva",
"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": "Herramienta: Inyectar creatividad",
"type": "@n8n/n8n-nodes-langchain.toolThink",
"position": [
600,
520
],
"parameters": {},
"typeVersion": 1
},
{
"id": "df07d826-251e-4b9f-927f-637280847891",
"name": "Analizador: Extraer JSON de Idea",
"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": "Nota adhesiva1",
"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": "Nota adhesiva3",
"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": "Prueba",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-800,
420
],
"parameters": {},
"typeVersion": 1
},
{
"id": "807aecbb-fdc0-4a6b-9fbb-186aefdad240",
"name": "Mostrar fecha actual",
"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": "Agente de IA: Crear título para 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": "Nota adhesiva2",
"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": "Iterar sobre elementos",
"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
}
]
]
}
}
}¿Cómo usar este flujo de trabajo?
Copie el código de configuración JSON de arriba, cree un nuevo flujo de trabajo en su instancia de n8n y seleccione "Importar desde JSON", pegue la configuración y luego modifique la configuración de credenciales según sea necesario.
¿En qué escenarios es adecuado este flujo de trabajo?
Intermedio - Gestión de tickets, Chatbot de IA
¿Es de pago?
Este flujo de trabajo es completamente gratuito, puede importarlo y usarlo directamente. Sin embargo, tenga en cuenta que los servicios de terceros utilizados en el flujo de trabajo (como la API de OpenAI) pueden requerir un pago por su cuenta.
Flujos de trabajo relacionados recomendados
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.
Compartir este flujo de trabajo