Automatisierte E-Mail-Antwort mit GPT-4o, Outlook und GoToHuman Genehmigung
Dies ist ein Ticket Management, AI Chatbot-Bereich Automatisierungsworkflow mit 15 Nodes. Hauptsächlich werden If, Code, ManualTrigger, SplitInBatches, Agent und andere Nodes verwendet. Automatisierte E-Mail-Antwort mit GPT-4o, Outlook und GoToHuman-Genehmigung
- •OpenAI API Key
Verwendete Nodes (15)
Kategorie
{
"meta": {
"instanceId": "efb474b59b0341d7791932605bd9ff04a6c7ed9941fdd53dc4a2e4b99a6f9439",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "db46a99c-a87d-4203-925f-f94fed274bbe",
"name": "Haftnotiz",
"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": "Tool: Kreativität einbringen",
"type": "@n8n/n8n-nodes-langchain.toolThink",
"position": [
600,
520
],
"parameters": {},
"typeVersion": 1
},
{
"id": "df07d826-251e-4b9f-927f-637280847891",
"name": "Parser: Extrahiere JSON aus Idee",
"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": "Haftnotiz1",
"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": "Haftnotiz3",
"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": "Aktuelles Datum ausgeben",
"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": "KI-Agent: Erstelle Beschriftung für 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": "Haftnotiz2",
"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": "Elemente durchlaufen",
"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": "Wenn",
"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
}
]
]
}
}
}Wie verwende ich diesen Workflow?
Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.
Für welche Szenarien ist dieser Workflow geeignet?
Fortgeschritten - Ticketverwaltung, KI-Chatbot
Ist es kostenpflichtig?
Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.
Verwandte Workflows
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.
Diesen Workflow teilen