8
n8n 中文网amn8n.com

[AOE] 收件箱和日历管理 Agent

高级

这是一个AI, IT Ops领域的自动化工作流,包含 38 个节点。主要使用 Code, Gmail, GmailTool, DateTimeTool, GmailTrigger 等节点,结合人工智能技术实现智能自动化。 使用 Gmail、Google Calendar 和 GPT-4o AI 自动化邮件与日历管理

前置要求
  • Google 账号和 Gmail API 凭证
  • OpenAI API Key
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "id": "leftLsw8mj6dIDBp",
  "meta": {
    "instanceId": "88b34e051213082619adc89dcb3c4c6a3611f57a17080c0af86efd3b8840b94f",
    "templateCredsSetupCompleted": true
  },
  "name": "[AOE] 收件箱和日历管理 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": "当被其他工作流执行时",
      "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": "获取最新邮件",
      "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": "获取日历事件",
      "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": "## 邮件分类 Agent"
      },
      "typeVersion": 1
    },
    {
      "id": "e9526541-84cd-4b98-a24e-9c7e5d8d3d0d",
      "name": "当点击“测试工作流”时",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        1840,
        -760
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "22156318-e308-41a9-aa9e-df1fc40a85b5",
      "name": "Gmail - 获取最近会话",
      "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": "默认数据加载器",
      "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": "代码 - 将邮件会话摘要为文本",
      "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": "Embeddings OpenAI1",
      "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": "删除邮件",
      "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": "创建邮件草稿作为会话回复",
      "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": "创建新邮件草稿",
      "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": "## 邮件访问工具"
      },
      "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": "## 日历访问工具"
      },
      "typeVersion": 1
    },
    {
      "id": "86aaa5cf-47e3-4a31-9116-2f09d98ed559",
      "name": "添加日历条目",
      "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": "## 关于过往邮件对话的知识"
      },
      "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 标签为 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": "## 邮件会话知识添加器"
      },
      "typeVersion": 1
    },
    {
      "id": "1b6b3558-6bd5-49c6-85b5-d8661f204f26",
      "name": "通过 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": "研究先前对话中的上下文和信息",
      "type": "@n8n/n8n-nodes-langchain.toolVectorStore",
      "position": [
        1840,
        560
      ],
      "parameters": {
        "description": "可以回答有关过往邮件对话的问题并进行研究。每当您需要关于过往对话的更多上下文来处理邮件时,请使用此工具。"
      },
      "typeVersion": 1.1
    },
    {
      "id": "f52a8a15-2a2c-4191-ad87-2a1a1a714896",
      "name": "Gmail - 标签为同事",
      "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": "邮件 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": "分类邮件",
      "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": "写入 - 会话历史向量存储",
      "type": "@n8n/n8n-nodes-langchain.vectorStoreInMemory",
      "position": [
        2900,
        -560
      ],
      "parameters": {
        "mode": "insert",
        "clearStore": true
      },
      "typeVersion": 1.1
    },
    {
      "id": "62cb4909-8dd1-4a5e-b0c8-cc8a6e708433",
      "name": "读取 - 会话历史向量存储",
      "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": "会话历史向量存储",
      "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": "## 主收件箱助手 Agent"
      },
      "typeVersion": 1
    },
    {
      "id": "ef343339-b6c5-4cde-bf74-89e6e254a337",
      "name": "确定星期几的名称",
      "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": {
    "Gmail1": {
      "main": [
        [
          {
            "node": "Code - Summarize Email Thread as Text",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "EMail Agent": {
      "main": [
        []
      ]
    },
    "Gmail Trigger": {
      "main": [
        [
          {
            "node": "Classify Emails",
            "type": "main",
            "index": 0
          },
          {
            "node": "Gmail - get recent Threads",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Token Splitter": {
      "ai_textSplitter": [
        [
          {
            "node": "Default Data Loader",
            "type": "ai_textSplitter",
            "index": 0
          }
        ]
      ]
    },
    "Classify Emails": {
      "main": [
        [
          {
            "node": "Gmail - Label as Colleges",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Gmail label as kunde",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Delete an email": {
      "ai_tool": [
        [
          {
            "node": "EMail Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Get last emails": {
      "ai_tool": [
        [
          {
            "node": "EMail Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "sessionId-master": {
      "main": [
        [
          {
            "node": "EMail Agent",
            "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": "EMail Agent",
            "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": "Research context and infos in previous conversations",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model2": {
      "ai_languageModel": [
        [
          {
            "node": "Classify Emails",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Default Data Loader": {
      "ai_document": [
        [
          {
            "node": "Write - Threads History Vector Store",
            "type": "ai_document",
            "index": 0
          }
        ]
      ]
    },
    "Get calendar events": {
      "ai_tool": [
        [
          {
            "node": "EMail Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Window Buffer Memory": {
      "ai_memory": [
        [
          {
            "node": "EMail Agent",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "Add an calender entry": {
      "ai_tool": [
        [
          {
            "node": "EMail Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Create an New Email Draft": {
      "ai_tool": [
        [
          {
            "node": "EMail Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Get an email by MessageID": {
      "ai_tool": [
        [
          {
            "node": "EMail Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Gmail - get recent Threads": {
      "main": [
        [
          {
            "node": "Gmail1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When chat message received": {
      "main": [
        [
          {
            "node": "sessionId-master",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Threads History Vector Store": {
      "ai_vectorStore": [
        [
          {
            "node": "Research context and infos in previous conversations",
            "type": "ai_vectorStore",
            "index": 0
          }
        ]
      ]
    },
    "When Executed by Another Workflow": {
      "main": [
        [
          {
            "node": "sessionId-master",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking ‘Test workflow’": {
      "main": [
        [
          {
            "node": "Gmail - get recent Threads",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code - Summarize Email Thread as Text": {
      "main": [
        [
          {
            "node": "Write - Threads History Vector Store",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Determine the name of the day of the week": {
      "ai_tool": [
        [
          {
            "node": "EMail Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Create an Email Draft as response to a thread": {
      "ai_tool": [
        [
          {
            "node": "EMail Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Research context and infos in previous conversations": {
      "ai_tool": [
        [
          {
            "node": "EMail Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。

这个工作流适合什么场景?

高级 - 人工智能, IT 运维

需要付费吗?

本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。

工作流信息
难度等级
高级
节点数量38
分类2
节点类型20
难度说明

适合高级用户,包含 16+ 个节点的复杂工作流

作者
AOE Agent Lab

AOE Agent Lab

@aoepeople

We 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

外部链接
在 n8n.io 查看

分享此工作流