8
n8n 中文网amn8n.com

正式 Gmail 草稿已更新

高级

这是一个Ticket Management, AI RAG领域的自动化工作流,包含 18 个节点。主要使用 If, Gmail, GmailTrigger, Agent, ChainLlm 等节点。 使用 GPT-4.1、Pinecone RAG 和 Gmail 的自动化产品邮件支持

前置要求
  • Google 账号和 Gmail API 凭证
  • OpenAI API Key
  • Pinecone API Key
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "id": "qeDWlH9s79U0ePoL",
  "meta": {
    "instanceId": "5ca157bf036415a321c9d29eeb986017053989bb83b5b61701e90fe3987ac8b7",
    "templateCredsSetupCompleted": true
  },
  "name": "正式 Gmail 草稿已更新",
  "tags": [],
  "nodes": [
    {
      "id": "5a2cd71e-c453-4d50-abd6-c548175665e0",
      "name": "使用向量存储回答问题",
      "type": "@n8n/n8n-nodes-langchain.toolVectorStore",
      "position": [
        -688,
        1472
      ],
      "parameters": {
        "name": "safai_info",
        "description": "使用此工具回答用户的所有问题"
      },
      "typeVersion": 1
    },
    {
      "id": "6f04f96a-80af-4498-8fb6-9fbb0d9765fb",
      "name": "Pinecone Vector Store1",
      "type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
      "position": [
        -784,
        1600
      ],
      "parameters": {
        "options": {
          "pineconeNamespace": "mens-collection"
        },
        "pineconeIndex": {
          "__rl": true,
          "mode": "list",
          "value": "mens-collection",
          "cachedResultName": "mens-collection"
        }
      },
      "credentials": {
        "pineconeApi": {
          "id": "nWCibAdZpkZoDctX",
          "name": "PineconeApi account Rashed's"
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "156218ac-ac53-4709-a817-6ad0c3c0391b",
      "name": "OpenAI 嵌入",
      "type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
      "position": [
        -656,
        1744
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "G7yKHr9wDJKojrFb",
          "name": "OpenAi account nagorik"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "0081e565-c292-48a8-bc29-c6197e0b56de",
      "name": "OpenAI聊天模型2",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -960,
        1472
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-nano",
          "cachedResultName": "gpt-4.1-nano"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "G7yKHr9wDJKojrFb",
          "name": "OpenAi account nagorik"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "2a672d15-27ca-4891-898d-aee83839f994",
      "name": "OpenAI Chat Model3",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -432,
        1600
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-nano",
          "cachedResultName": "gpt-4.1-nano"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "G7yKHr9wDJKojrFb",
          "name": "OpenAi account nagorik"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "f190f735-3dd1-4680-83ab-1b853816e5f0",
      "name": "Gmail Trigger1",
      "type": "n8n-nodes-base.gmailTrigger",
      "position": [
        -1760,
        1296
      ],
      "parameters": {
        "simple": false,
        "filters": {
          "q": "-from:me"
        },
        "options": {},
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        }
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "cxgUDYN2OU5W186J",
          "name": "Nagorik Gmail Account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "c7d38e8b-313e-4029-9162-a4a421efbdac",
      "name": "If Needs Reply1",
      "type": "n8n-nodes-base.if",
      "position": [
        -1184,
        1312
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 1,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "53849246-ad32-4845-9976-9f9688f5a6f2",
              "operator": {
                "type": "boolean",
                "operation": "true",
                "singleValue": true
              },
              "leftValue": "={{ $json.needsReply }}",
              "rightValue": "true"
            }
          ]
        }
      },
      "typeVersion": 2
    },
    {
      "id": "a396adb8-3aef-46f1-af0b-35b9bb0c55a7",
      "name": "JSON 解析器1",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        -1392,
        1488
      ],
      "parameters": {
        "jsonSchema": "{\n \"type\": \"object\",\n \"properties\": {\n \"needsReply\": {\n \"type\": \"boolean\"\n }\n },\n \"required\": [\"needsReply\"]\n}\n"
      },
      "typeVersion": 1
    },
    {
      "id": "e1e6c625-b2c9-4987-84b9-bdd01c7c0add",
      "name": "OpenAI Chat1",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -1552,
        1488
      ],
      "parameters": {
        "model": "gpt-4.1",
        "options": {
          "temperature": 0,
          "responseFormat": "json_object"
        }
      },
      "credentials": {
        "openAiApi": {
          "id": "G7yKHr9wDJKojrFb",
          "name": "OpenAi account nagorik"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "abdef9bf-cfeb-4530-aac0-7c686d6a5d4c",
      "name": "评估消息是否需要回复1",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        -1536,
        1312
      ],
      "parameters": {
        "prompt": "=Subject: {{ $json.subject }}\nMessage:\n{{ $json.textAsHtml }} ",
        "messages": {
          "messageValues": [
            {
              "message": "=Your task is to assess if the message requires a response. Return in JSON format true if it does, false otherwise. Emails which are not asking about anything regarding our men's clothin store don't require a response."
            }
          ]
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "2b435c89-1c00-41fe-ba84-6e5d81f213c5",
      "name": "Gmail",
      "type": "n8n-nodes-base.gmail",
      "position": [
        -592,
        1136
      ],
      "webhookId": "6c2297da-923d-448f-8790-ea6e7c59097a",
      "parameters": {
        "message": "={{ $json.output }}",
        "options": {},
        "emailType": "text",
        "messageId": "={{ $('Gmail Trigger1').item.json.id }}",
        "operation": "reply"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "cxgUDYN2OU5W186J",
          "name": "Nagorik Gmail Account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "5d2ee49d-a014-4ba6-a036-5a2c610203bd",
      "name": "便签",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1840,
        1200
      ],
      "parameters": {
        "color": 4,
        "height": 256,
        "content": "## 收集收到的邮件"
      },
      "typeVersion": 1
    },
    {
      "id": "88aa8b62-f52e-49f0-8c12-bc3c1b0b78b8",
      "name": "便签 1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1584,
        1200
      ],
      "parameters": {
        "width": 304,
        "height": 448,
        "content": "## 评估邮件是否需要回复"
      },
      "typeVersion": 1
    },
    {
      "id": "0dfaa8d0-9879-4ceb-89c0-51da658748b5",
      "name": "便签 2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1264,
        1200
      ],
      "parameters": {
        "color": 3,
        "width": 272,
        "height": 272,
        "content": "## 仅筛选需要回复的邮件"
      },
      "typeVersion": 1
    },
    {
      "id": "3b53a096-022b-4f4c-9b08-f18211c6e7b4",
      "name": "便签 3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -816,
        1392
      ],
      "parameters": {
        "color": 6,
        "width": 528,
        "height": 480,
        "content": "## AI Agent 自定义知识库"
      },
      "typeVersion": 1
    },
    {
      "id": "72bca71f-0248-4132-a0c6-ccfe1fa2ab32",
      "name": "便签 4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -976,
        1136
      ],
      "parameters": {
        "color": 5,
        "width": 304,
        "height": 208,
        "content": "## RAG Agent"
      },
      "typeVersion": 1
    },
    {
      "id": "dca5339b-d877-42c6-bed3-377d51f6b26a",
      "name": "AI Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -944,
        1200
      ],
      "parameters": {
        "text": "=Subject: {{ $('Gmail Trigger1').item.json.headers.subject }}\nMessage: {{ $('Gmail Trigger1').item.json.text }}",
        "options": {
          "systemMessage": "=You are a friendly and professional support agent for a men's clothing store whose goal is to help users by providing clear, accurate, and empathetic responses to their email. When a user asks a question or describes an issue through email regarding anything related to men's clothing store, use the Retrieval-Augmented Generation (RAG) tool to search and fetch the most relevant, up-to-date information from the knowledge base or documents available. Start the response with \"Dear\" header and end by saying \"Best regrads\" footer just like how a mail is written. (Dont add any name after \"Dear\")\n\nYour responses should:\n\n* Acknowledge the user’s concern with empathy.\n* Use the RAG tool to find precise information relevant to the user’s query.\n* Clearly explain the solution or information in simple, easy-to-understand language.\n* If you don’t find an exact answer, be honest about it and offer helpful alternatives or next steps.\n* Always maintain a polite, patient, and supportive tone.\n* Keep responses short and concise: Only provide the price and key features of the service requested. Avoid additional details unless directly requested."
        },
        "promptType": "define"
      },
      "typeVersion": 1.9
    },
    {
      "id": "98ac7648-0609-46c8-892f-fcfc236086a0",
      "name": "便签 5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -656,
        1056
      ],
      "parameters": {
        "color": 4,
        "width": 224,
        "height": 240,
        "content": "## 发送回复"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "6e680f8b-d304-441c-9c11-5bdacf7b7c87",
  "connections": {
    "AI Agent": {
      "main": [
        [
          {
            "node": "Gmail",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "JSON Parser1": {
      "ai_outputParser": [
        [
          {
            "node": "Assess if message needs a reply1",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat1": {
      "ai_languageModel": [
        [
          {
            "node": "Assess if message needs a reply1",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Gmail Trigger1": {
      "main": [
        [
          {
            "node": "Assess if message needs a reply1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If Needs Reply1": {
      "main": [
        [
          {
            "node": "AI Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Embeddings OpenAI": {
      "ai_embedding": [
        [
          {
            "node": "Pinecone Vector Store1",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model2": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model3": {
      "ai_languageModel": [
        [
          {
            "node": "Answer questions with a vector store",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Pinecone Vector Store1": {
      "ai_vectorStore": [
        [
          {
            "node": "Answer questions with a vector store",
            "type": "ai_vectorStore",
            "index": 0
          }
        ]
      ]
    },
    "Assess if message needs a reply1": {
      "main": [
        [
          {
            "node": "If Needs Reply1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Answer questions with a vector store": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

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

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

高级 - 工单管理, AI RAG 检索增强

需要付费吗?

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

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

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

外部链接
在 n8n.io 查看

分享此工作流