[AOE] 수신함 및 캘린어 관리 에이전트
이것은AI, IT Ops분야의자동화 워크플로우로, 38개의 노드를 포함합니다.주로 Code, Gmail, GmailTool, DateTimeTool, GmailTrigger 등의 노드를 사용하며인공지능 기술을 결합하여 스마트 자동화를 구현합니다. Gmail, Google Calendar 및 GPT-4o AI를 사용한 이메일 및 캘린더 관리 자동화
- •Google 계정 및 Gmail API 인증 정보
- •OpenAI API Key
사용된 노드 (38)
{
"id": "leftLsw8mj6dIDBp",
"meta": {
"instanceId": "88b34e051213082619adc89dcb3c4c6a3611f57a17080c0af86efd3b8840b94f",
"templateCredsSetupCompleted": true
},
"name": "[AOE] Inbox & Calendar Management Agent",
"tags": [],
"nodes": [
{
"id": "2b6b584a-db48-414e-9469-0134dff9ebce",
"name": "채팅 메시지 수신 시",
"type": "@n8n/n8n-nodes-langchain.chatTrigger",
"position": [
120,
240
],
"webhookId": "2da65603-a805-4491-a175-8e89e5223916",
"parameters": {
"options": {}
},
"typeVersion": 1.1
},
{
"id": "61207c74-2086-4ee1-8bdf-96056534e509",
"name": "OpenAI 채팅 모델",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
720,
420
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o",
"cachedResultName": "gpt-4o"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "XX",
"name": "OpenAi account (n8n project)"
}
},
"typeVersion": 1.2
},
{
"id": "c6e43767-eb96-4557-88ac-f5a5ca9f00cc",
"name": "윈도우 버퍼 메모리",
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"position": [
880,
420
],
"parameters": {
"sessionKey": "={{ $('sessionId-master').item.json.sessionId }}",
"sessionIdType": "customKey",
"contextWindowLength": 10
},
"typeVersion": 1.3
},
{
"id": "912b82ce-e8c1-45bd-9ddf-d6b269de94c3",
"name": "When Executed by Another Workflow",
"type": "n8n-nodes-base.executeWorkflowTrigger",
"position": [
120,
80
],
"parameters": {
"workflowInputs": {
"values": [
{
"name": "sessionId"
},
{
"name": "chatInput"
}
]
}
},
"typeVersion": 1.1
},
{
"id": "fdb327a9-dcce-41ee-b6e8-d84a3d6ef9b9",
"name": "sessionId-master",
"type": "n8n-nodes-base.noOp",
"position": [
600,
240
],
"parameters": {},
"typeVersion": 1
},
{
"id": "2d3c1764-fc33-4142-ad56-da4eb3231090",
"name": "Get last emails",
"type": "n8n-nodes-base.gmailTool",
"position": [
540,
760
],
"webhookId": "337cc370-cea4-4c29-bf30-2437e5d7609e",
"parameters": {
"limit": "={{ $fromAI(\"limit\", \"The maximal number of mails to receive.\", \"number\") }}",
"filters": {
"q": "in:inbox"
},
"operation": "getAll",
"descriptionType": "manual",
"toolDescription": "Consume the Gmail API to get the last emails"
},
"credentials": {
"gmailOAuth2": {
"id": "XXXX",
"name": "Gmail account XXXX@gmail.com"
}
},
"typeVersion": 2.1
},
{
"id": "b3f00e8e-4354-43fe-8ee2-b8a86a79a1ea",
"name": "Get calendar events",
"type": "n8n-nodes-base.googleCalendarTool",
"position": [
1160,
800
],
"parameters": {
"limit": "={{ $fromAI('limit','the amount of event',\"number\") }}",
"options": {},
"timeMax": "={{ $fromAI('end','end date in format \"2017-07-01T13:00:00+02:00\"') }}",
"timeMin": "={{ $fromAI('start','start date in format \"2017-07-01T13:00:00+02:00\"') }}",
"calendar": {
"__rl": true,
"mode": "list",
"value": "XXXX@gmail.com",
"cachedResultName": "XXXX@gmail.com"
},
"operation": "getAll",
"descriptionType": "manual",
"toolDescription": "Consume Google Calendar API to receive a list of calendar events between \"start\" and \"end\". Make sure to pass datetime."
},
"credentials": {
"googleCalendarOAuth2Api": {
"id": "YY",
"name": "Google Calendar account"
}
},
"typeVersion": 1.3
},
{
"id": "acfd68ec-4c61-437c-a0e4-95d676d995e6",
"name": "메모",
"type": "n8n-nodes-base.stickyNote",
"position": [
100,
-860
],
"parameters": {
"width": 1500,
"height": 720,
"content": "## Email Sorting Agent\n"
},
"typeVersion": 1
},
{
"id": "e9526541-84cd-4b98-a24e-9c7e5d8d3d0d",
"name": "클릭 시 ‘Test workflow’",
"type": "n8n-nodes-base.manualTrigger",
"position": [
1840,
-760
],
"parameters": {},
"typeVersion": 1
},
{
"id": "22156318-e308-41a9-aa9e-df1fc40a85b5",
"name": "Gmail - get recent Threads",
"type": "n8n-nodes-base.gmail",
"position": [
2140,
-560
],
"webhookId": "5c988c0a-67f8-4d16-9525-518bf9049c90",
"parameters": {
"filters": {},
"resource": "thread"
},
"credentials": {
"gmailOAuth2": {
"id": "XXXX",
"name": "Gmail account XXXX@gmail.com"
}
},
"typeVersion": 2.1
},
{
"id": "c26da13c-8d94-48fc-a62e-05c21340ca06",
"name": "Gmail1",
"type": "n8n-nodes-base.gmail",
"position": [
2360,
-560
],
"webhookId": "3da4a75a-ee55-483e-b5e0-24f34d4db217",
"parameters": {
"options": {},
"resource": "thread",
"threadId": "={{ $json.id }}",
"operation": "get"
},
"credentials": {
"gmailOAuth2": {
"id": "XXXX",
"name": "Gmail account XXXX@gmail.com"
}
},
"typeVersion": 2.1
},
{
"id": "7d69096c-6a05-4ad3-9428-1cef0d76205c",
"name": "OpenAI 임베딩",
"type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
"position": [
2780,
-240
],
"parameters": {
"options": {}
},
"credentials": {
"openAiApi": {
"id": "XX",
"name": "OpenAi account (n8n project)"
}
},
"typeVersion": 1.2
},
{
"id": "583787f7-b378-43f7-9737-189b2fd29855",
"name": "Default Data Loader",
"type": "@n8n/n8n-nodes-langchain.documentDefaultDataLoader",
"position": [
3020,
-380
],
"parameters": {
"options": {
"metadata": {
"metadataValues": [
{
"name": "threadId",
"value": "={{ $json.id }}"
}
]
}
},
"jsonData": "={{ $json.emailSummary }}",
"jsonMode": "expressionData"
},
"typeVersion": 1
},
{
"id": "d889a564-d810-430f-8470-eecac9717d7a",
"name": "토큰 분할기",
"type": "@n8n/n8n-nodes-langchain.textSplitterTokenSplitter",
"position": [
3040,
-240
],
"parameters": {
"chunkSize": 2000
},
"typeVersion": 1
},
{
"id": "38842f34-bbd4-40d2-a636-3b42b51f3566",
"name": "코드 - Summarize Email Thread as Text",
"type": "n8n-nodes-base.code",
"position": [
2580,
-560
],
"parameters": {
"mode": "runOnceForEachItem",
"jsCode": "const result = {}\n\nfunction summarizeConversation(messages) {\n return messages.map(msg => {\n const date = new Date(Number(msg.internalDate)).toISOString();\n return `\n\n📅 ${date}\n📨 From: ${msg.From}\n📥 To: ${msg.To}\n📌 Subject: ${msg.Subject}\n\n${msg.snippet}\n`.trim();\n }).join(\"\\n\\n-----------------------\\n\\n\");\n}\n\n$json.emailSummary = summarizeConversation($json.messages);\n\nreturn $json;"
},
"typeVersion": 2
},
{
"id": "6dde2109-42ca-4cf9-885e-5d928949b9ad",
"name": "OpenAI 임베딩1",
"type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
"position": [
1800,
960
],
"parameters": {
"options": {}
},
"credentials": {
"openAiApi": {
"id": "XX",
"name": "OpenAi account (n8n project)"
}
},
"typeVersion": 1.2
},
{
"id": "fd638fb0-db5f-43fc-816d-6c5462204982",
"name": "OpenAI 채팅 모델1",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
2080,
760
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "XX",
"name": "OpenAi account (n8n project)"
}
},
"typeVersion": 1.2
},
{
"id": "18985af7-84c9-4c86-9e9f-a42f2b0bc216",
"name": "Delete an email",
"type": "n8n-nodes-base.gmailTool",
"position": [
900,
780
],
"webhookId": "0cfb9fbe-ec02-4ab3-87ac-ab949efdfe50",
"parameters": {
"messageId": "={{ $fromAI('Message_ID', ``, 'string') }}",
"operation": "delete",
"descriptionType": "manual",
"toolDescription": "Call the Gmail API to delete an email. Always request the email message id before calling this tool."
},
"credentials": {
"gmailOAuth2": {
"id": "XXXX",
"name": "Gmail account XXXX@gmail.com"
}
},
"typeVersion": 2.1
},
{
"id": "e59a937e-7392-4348-a7d3-1973c69f1d2f",
"name": "Create an 이메일 Draft as response to a thread",
"type": "n8n-nodes-base.gmailTool",
"position": [
580,
920
],
"webhookId": "471a112a-9787-4fa1-b681-8b69395d631a",
"parameters": {
"message": "={{ $fromAI('Message', `The Text that should be send in reply`, 'string') }}",
"options": {
"sendTo": "={{ $fromAI('To_Email', `The email adress of the sender`, 'string') }}",
"threadId": "={{ $fromAI('thread-ID', `The ID of the thread. Need to be received from the Email Tool Response. Use the exact ID and better call the Get Email Tool again`, 'string') }}"
},
"subject": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Subject', ``, 'string') }}",
"resource": "draft",
"descriptionType": "manual",
"toolDescription": "Call Gmail API to create a Draft message as Reply To an existing email or email thread. Pass the correct Thread-Id of the message. To get the Thread ID call the Get Email Tool before."
},
"credentials": {
"gmailOAuth2": {
"id": "XXXX",
"name": "Gmail account XXXX@gmail.com"
}
},
"typeVersion": 2.1
},
{
"id": "7002b9d3-01b2-4dd0-8a33-258c17836330",
"name": "Create an New 이메일 Draft",
"type": "n8n-nodes-base.gmailTool",
"position": [
740,
760
],
"webhookId": "0321c8e3-b0c1-44ff-9e8b-671db71e3f51",
"parameters": {
"message": "={{ $fromAI('Message', `The Text that should be send in reply`, 'string') }}",
"options": {
"sendTo": "={{ $fromAI('To_Email', `The email adress of the sender`, 'string') }}"
},
"subject": "={{ $fromAI('Subject', ``, 'string') }}",
"resource": "draft",
"descriptionType": "manual",
"toolDescription": "Call Gmail API to create a New outgoing Draft message."
},
"credentials": {
"gmailOAuth2": {
"id": "XXXX",
"name": "Gmail account XXXX@gmail.com"
}
},
"typeVersion": 2.1
},
{
"id": "350497b8-4acb-49e2-ad26-e55cd51c30f3",
"name": "메모1",
"type": "n8n-nodes-base.stickyNote",
"position": [
500,
660
],
"parameters": {
"width": 520,
"height": 460,
"content": "## Email Access Tools"
},
"typeVersion": 1
},
{
"id": "56ba48de-1190-4fc2-bac0-1d2a3eac6cb6",
"name": "메모2",
"type": "n8n-nodes-base.stickyNote",
"position": [
1100,
660
],
"parameters": {
"color": 6,
"width": 520,
"height": 460,
"content": "## Calender Access Tools"
},
"typeVersion": 1
},
{
"id": "86aaa5cf-47e3-4a31-9116-2f09d98ed559",
"name": "Add an calender entry",
"type": "n8n-nodes-base.googleCalendarTool",
"position": [
1360,
800
],
"parameters": {
"end": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('End', ``, 'string') }}",
"start": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Start', ``, 'string') }}",
"calendar": {
"__rl": true,
"mode": "list",
"value": "XXXX@gmail.com",
"cachedResultName": "XXXX@gmail.com"
},
"descriptionType": "manual",
"toolDescription": "Consume Google Calendar API to add a new event or meeting to the calender",
"additionalFields": {
"summary": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Summary', ``, 'string') }}",
"description": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Description', ``, 'string') }}"
}
},
"credentials": {
"googleCalendarOAuth2Api": {
"id": "YY",
"name": "Google Calendar account"
}
},
"typeVersion": 1.3
},
{
"id": "14bfc40d-0efb-4b00-a77b-917166a278a1",
"name": "메모3",
"type": "n8n-nodes-base.stickyNote",
"position": [
1700,
500
],
"parameters": {
"color": 5,
"width": 520,
"height": 620,
"content": "## Knowlede about past email conversations"
},
"typeVersion": 1
},
{
"id": "83470865-9e68-4ee9-ba7d-5f6130a71b4d",
"name": "Gmail 트리거",
"type": "n8n-nodes-base.gmailTrigger",
"position": [
240,
-540
],
"parameters": {
"filters": {},
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
}
},
"credentials": {
"gmailOAuth2": {
"id": "XXXX",
"name": "Gmail account XXXX@gmail.com"
}
},
"typeVersion": 1.2
},
{
"id": "00b10246-a5a3-4ea5-a570-e109821e6b8d",
"name": "OpenAI 채팅 모델2",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
560,
-300
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1-mini",
"cachedResultName": "gpt-4.1-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "XX",
"name": "OpenAi account (n8n project)"
}
},
"typeVersion": 1.2
},
{
"id": "7ed7143e-4e63-40cc-bfd2-82405057ef79",
"name": "Gmail label as kunde",
"type": "n8n-nodes-base.gmail",
"position": [
1200,
-640
],
"webhookId": "13291755-e6d5-435e-8601-b20b5ed7e866",
"parameters": {
"labelIds": [
"Label_4725571417728382593"
],
"messageId": "={{ $json.id }}",
"operation": "addLabels"
},
"credentials": {
"gmailOAuth2": {
"id": "XXXX",
"name": "Gmail account XXXX@gmail.com"
}
},
"typeVersion": 2.1
},
{
"id": "8d2ffc73-3fe3-48ed-a4b4-e4e9707435ff",
"name": "메모4",
"type": "n8n-nodes-base.stickyNote",
"position": [
1740,
-900
],
"parameters": {
"color": 4,
"width": 1680,
"height": 780,
"content": "## Email Thread Knowledge adder"
},
"typeVersion": 1
},
{
"id": "1b6b3558-6bd5-49c6-85b5-d8661f204f26",
"name": "Get an email by MessageID",
"type": "n8n-nodes-base.gmailTool",
"position": [
800,
940
],
"webhookId": "2f916427-b445-4c08-841f-bd13b5f99c85",
"parameters": {
"messageId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Message_ID', ``, 'string') }}",
"operation": "get",
"descriptionType": "manual",
"toolDescription": "Consume the Gmail API to receive an email by message-id"
},
"credentials": {
"gmailOAuth2": {
"id": "XXXX",
"name": "Gmail account XXXX@gmail.com"
}
},
"typeVersion": 2.1
},
{
"id": "bbdfdfd9-f35d-4e02-aa31-6ad39ba27b4d",
"name": "Research context and infos in previous conversations",
"type": "@n8n/n8n-nodes-langchain.toolVectorStore",
"position": [
1840,
560
],
"parameters": {
"description": "Can answer questions and do research in previous email conversations. Use this tool whenever you need more context about past conversations to an email. \nFor better retrieval and more context always pass the email-adresses to the query!\n"
},
"typeVersion": 1.1
},
{
"id": "f52a8a15-2a2c-4191-ad87-2a1a1a714896",
"name": "Gmail - Label as Colleges",
"type": "n8n-nodes-base.gmail",
"position": [
1200,
-800
],
"webhookId": "3e488d4d-5528-48c7-b363-1391368efd8e",
"parameters": {
"labelIds": [
"Label_749967004333244217"
],
"messageId": "={{ $json.id }}",
"operation": "addLabels"
},
"credentials": {
"gmailOAuth2": {
"id": "XXXX",
"name": "Gmail account XXXX@gmail.com"
}
},
"typeVersion": 2.1
},
{
"id": "72bf9803-02ce-48a9-bf6a-e64ab211ddf6",
"name": "EMail Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
1060,
240
],
"parameters": {
"text": "={{ $json.chatInput }}",
"options": {
"systemMessage": "=# AI Assistant Prompt – Inbox & Calendar\n\n## Role \nYou are my personal AI assistant for email and calendar management. \nI am Daniel Pötzinger, CTO of AOE. \nYou support me in organizing my Gmail inbox, keeping track of important topics, handling emails, and managing appointments efficiently. \nYou provide suggestions and analyses, and act autonomously when retrieving information using the available tools.\n\n---\n\n## Scope \nYou analyze emails and calendar data, identify relevant information, prioritize, and assist in processing. \nYou can access email content, draft responses, suggest calendar entries, and identify available time slots – based on the tools provided. Use the tools proactively.\n\n> Today is `{{ $now }}` in timezone +2. \n> The user is in timezone +2.\n\n---\n\n## Command\n\n- Regularly provide an overview of current and prioritized emails. \n- Detect requests, invitations, or to-dos in emails and suggest appropriate actions or scheduling. \n- Propose meaningful draft replies suitable to the context. \n- Monitor the calendar for upcoming appointments, conflicts, or free time slots. \n- Suggest daily or weekly structures based on calendar availability. \n- Support planning and coordination directly from the context of emails. \n- When suggesting appointments, always check availability in the calendar. \n- Note that calendar timestamps are in UTC and must be converted before evaluation and display. \n- When handling emails and using the corresponding tools, remember the `MessageID` so it can be passed to other tools. \n Always show the `MessageID` to the user so it remains accessible in your conversation history.\n\n---\n\n## Format\n\n- Clear, structured presentation of suggestions (e.g., lists, tables, bullet points). \n- Draft replies must always be **friendly and professional** – respectful, clear, without unnecessary phrasing. \n- Calendar and time suggestions must be easy to read (e.g., “next Tuesday at 2:00 PM”).\n\n---\n\n## Constraints\n\n- Only send emails or create appointments after confirmation from the user. \n- Always act in the spirit of **relief, clarity, and efficiency**.\n"
},
"promptType": "define"
},
"typeVersion": 1.7
},
{
"id": "76fa4e5c-110f-48b1-86f0-7fc7302b7f66",
"name": "Classify Emails",
"type": "@n8n/n8n-nodes-langchain.textClassifier",
"onError": "continueErrorOutput",
"position": [
560,
-680
],
"parameters": {
"options": {
"fallback": "other"
},
"inputText": "=Email Subject: {{ $json.Subject }}\n\nEMail From: {{ $json.From }}\n\n------\n##Email Snippet: \n{{ $json.snippet }}\n\n",
"categories": {
"categories": [
{
"category": "Kollegen",
"description": "any email from colleagues with the sender @example.com"
},
{
"category": "Kunden",
"description": "Every email with an existing contact in the CRM or that sounds like a customer.|Also mails that sound like a customer inquiry and mails that show a project reference."
}
]
}
},
"typeVersion": 1
},
{
"id": "c6bb5664-fa45-4f80-af22-97786da79deb",
"name": "Write - Threads History 벡터 스토어",
"type": "@n8n/n8n-nodes-langchain.vectorStoreInMemory",
"position": [
2900,
-560
],
"parameters": {
"mode": "insert",
"clearStore": true
},
"typeVersion": 1.1
},
{
"id": "62cb4909-8dd1-4a5e-b0c8-cc8a6e708433",
"name": "Read- Threads History 벡터 스토어",
"type": "@n8n/n8n-nodes-langchain.vectorStoreInMemory",
"position": [
2820,
-760
],
"parameters": {
"mode": "load",
"topK": 100,
"prompt": "workshop"
},
"typeVersion": 1.1
},
{
"id": "e0e0b246-0091-4cef-97ea-18f1b48d9dd9",
"name": "Threads History 벡터 스토어",
"type": "@n8n/n8n-nodes-langchain.vectorStoreInMemory",
"position": [
1780,
780
],
"parameters": {},
"typeVersion": 1.1
},
{
"id": "c3cff5e3-24a0-4272-9e43-ea781784f64d",
"name": "메모7",
"type": "n8n-nodes-base.stickyNote",
"position": [
-460,
0
],
"parameters": {
"color": 3,
"width": 480,
"height": 440,
"content": "## Main Inbox Assistance Agent\n\n### Before Using\n** Modify the classifier agent for your needs. Add the Labels in GMail before, if you want to assign labels.\n** Add proper credentials\n** Modify the Prompts (e.g. give more context about your role and company)\n\n### More on professional Agents:\n** From [AOE AI Lab](https://ai-radar.aoe.com/)"
},
"typeVersion": 1
},
{
"id": "ef343339-b6c5-4cde-bf74-89e6e254a337",
"name": "Determine the name of the day of the week",
"type": "n8n-nodes-base.dateTimeTool",
"position": [
1240,
960
],
"parameters": {
"date": "={{ $fromAI('Date', ``, 'string') }}",
"format": "custom",
"options": {},
"operation": "formatDate",
"customFormat": "EEEE dd MM ",
"descriptionType": "manual",
"outputFieldName": "=formattedDate",
"toolDescription": "Formats the date in the name of the day of the week. Always use this before you output weekdays."
},
"typeVersion": 2
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "221a80b7-bc6f-4443-afe8-07806d453809",
"connections": {
"c26da13c-8d94-48fc-a62e-05c21340ca06": {
"main": [
[
{
"node": "Code - Summarize Email Thread as Text",
"type": "main",
"index": 0
}
]
]
},
"72bf9803-02ce-48a9-bf6a-e64ab211ddf6": {
"main": [
[]
]
},
"Gmail Trigger": {
"main": [
[
{
"node": "76fa4e5c-110f-48b1-86f0-7fc7302b7f66",
"type": "main",
"index": 0
},
{
"node": "22156318-e308-41a9-aa9e-df1fc40a85b5",
"type": "main",
"index": 0
}
]
]
},
"Token Splitter": {
"ai_textSplitter": [
[
{
"node": "583787f7-b378-43f7-9737-189b2fd29855",
"type": "ai_textSplitter",
"index": 0
}
]
]
},
"76fa4e5c-110f-48b1-86f0-7fc7302b7f66": {
"main": [
[
{
"node": "f52a8a15-2a2c-4191-ad87-2a1a1a714896",
"type": "main",
"index": 0
}
],
[
{
"node": "7ed7143e-4e63-40cc-bfd2-82405057ef79",
"type": "main",
"index": 0
}
]
]
},
"18985af7-84c9-4c86-9e9f-a42f2b0bc216": {
"ai_tool": [
[
{
"node": "72bf9803-02ce-48a9-bf6a-e64ab211ddf6",
"type": "ai_tool",
"index": 0
}
]
]
},
"2d3c1764-fc33-4142-ad56-da4eb3231090": {
"ai_tool": [
[
{
"node": "72bf9803-02ce-48a9-bf6a-e64ab211ddf6",
"type": "ai_tool",
"index": 0
}
]
]
},
"fdb327a9-dcce-41ee-b6e8-d84a3d6ef9b9": {
"main": [
[
{
"node": "72bf9803-02ce-48a9-bf6a-e64ab211ddf6",
"type": "main",
"index": 0
}
]
]
},
"Embeddings OpenAI": {
"ai_embedding": [
[
{
"node": "Read- Threads History Vector Store",
"type": "ai_embedding",
"index": 0
},
{
"node": "Write - Threads History Vector Store",
"type": "ai_embedding",
"index": 0
}
]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "72bf9803-02ce-48a9-bf6a-e64ab211ddf6",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Embeddings OpenAI1": {
"ai_embedding": [
[
{
"node": "Threads History Vector Store",
"type": "ai_embedding",
"index": 0
}
]
]
},
"OpenAI Chat Model1": {
"ai_languageModel": [
[
{
"node": "bbdfdfd9-f35d-4e02-aa31-6ad39ba27b4d",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"OpenAI Chat Model2": {
"ai_languageModel": [
[
{
"node": "76fa4e5c-110f-48b1-86f0-7fc7302b7f66",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"583787f7-b378-43f7-9737-189b2fd29855": {
"ai_document": [
[
{
"node": "Write - Threads History Vector Store",
"type": "ai_document",
"index": 0
}
]
]
},
"b3f00e8e-4354-43fe-8ee2-b8a86a79a1ea": {
"ai_tool": [
[
{
"node": "72bf9803-02ce-48a9-bf6a-e64ab211ddf6",
"type": "ai_tool",
"index": 0
}
]
]
},
"Window Buffer Memory": {
"ai_memory": [
[
{
"node": "72bf9803-02ce-48a9-bf6a-e64ab211ddf6",
"type": "ai_memory",
"index": 0
}
]
]
},
"86aaa5cf-47e3-4a31-9116-2f09d98ed559": {
"ai_tool": [
[
{
"node": "72bf9803-02ce-48a9-bf6a-e64ab211ddf6",
"type": "ai_tool",
"index": 0
}
]
]
},
"Create an New Email Draft": {
"ai_tool": [
[
{
"node": "72bf9803-02ce-48a9-bf6a-e64ab211ddf6",
"type": "ai_tool",
"index": 0
}
]
]
},
"1b6b3558-6bd5-49c6-85b5-d8661f204f26": {
"ai_tool": [
[
{
"node": "72bf9803-02ce-48a9-bf6a-e64ab211ddf6",
"type": "ai_tool",
"index": 0
}
]
]
},
"22156318-e308-41a9-aa9e-df1fc40a85b5": {
"main": [
[
{
"node": "c26da13c-8d94-48fc-a62e-05c21340ca06",
"type": "main",
"index": 0
}
]
]
},
"When chat message received": {
"main": [
[
{
"node": "fdb327a9-dcce-41ee-b6e8-d84a3d6ef9b9",
"type": "main",
"index": 0
}
]
]
},
"Threads History Vector Store": {
"ai_vectorStore": [
[
{
"node": "bbdfdfd9-f35d-4e02-aa31-6ad39ba27b4d",
"type": "ai_vectorStore",
"index": 0
}
]
]
},
"912b82ce-e8c1-45bd-9ddf-d6b269de94c3": {
"main": [
[
{
"node": "fdb327a9-dcce-41ee-b6e8-d84a3d6ef9b9",
"type": "main",
"index": 0
}
]
]
},
"When clicking ‘Test workflow’": {
"main": [
[
{
"node": "22156318-e308-41a9-aa9e-df1fc40a85b5",
"type": "main",
"index": 0
}
]
]
},
"Code - Summarize Email Thread as Text": {
"main": [
[
{
"node": "Write - Threads History Vector Store",
"type": "main",
"index": 0
}
]
]
},
"ef343339-b6c5-4cde-bf74-89e6e254a337": {
"ai_tool": [
[
{
"node": "72bf9803-02ce-48a9-bf6a-e64ab211ddf6",
"type": "ai_tool",
"index": 0
}
]
]
},
"Create an Email Draft as response to a thread": {
"ai_tool": [
[
{
"node": "72bf9803-02ce-48a9-bf6a-e64ab211ddf6",
"type": "ai_tool",
"index": 0
}
]
]
},
"bbdfdfd9-f35d-4e02-aa31-6ad39ba27b4d": {
"ai_tool": [
[
{
"node": "72bf9803-02ce-48a9-bf6a-e64ab211ddf6",
"type": "ai_tool",
"index": 0
}
]
]
}
}
}이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
고급 - 인공지능, IT 운영
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
AOE Agent Lab
@aoepeopleWe are AOE’s AI & Automation Team – engineers, architects, and AI specialists. We build production-ready, agent-based automation using n8n, LLMs, vector stores, and secure toolchains. Our focus: ideation, evaluation-driven development, and scalable AI architecture. All workflows are modular, reusable, and built for real-world application – by practitioners
이 워크플로우 공유