8
n8n 中文网amn8n.com

AI驱动的Gmail邮件自动整理与优先级标签

高级

这是一个Other, AI领域的自动化工作流,包含 17 个节点。主要使用 Gmail, Filter, Telegram, Aggregate, GmailTool 等节点,结合人工智能技术实现智能自动化。 基于AI的Gmail邮件自动整理,支持自动归档和优先级标签

前置要求
  • Google 账号和 Gmail API 凭证
  • Telegram Bot Token
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "meta": {
    "instanceId": "6af2f94153ea0551e6264b16187490bd4c4739c7f5f3d7adab90c5cf186e22a1",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "43e68fe1-7f48-4bc9-b19a-66d39bee5bbd",
      "name": "当点击\"测试工作流\"时",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -520,
        20
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "32aa401a-60c3-4436-94d5-5ba09d3be6ae",
      "name": "OpenRouter 聊天模型",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
      "position": [
        80,
        0
      ],
      "parameters": {
        "model": "openai/gpt-4.1-nano",
        "options": {}
      },
      "credentials": {
        "openRouterApi": {
          "id": "eQmkAlMDYm8oEtBL",
          "name": "OpenRouter account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "f6d325b4-ff87-4bba-9f27-b68590c8a533",
      "name": "Telegram 触发器",
      "type": "n8n-nodes-base.telegramTrigger",
      "position": [
        -520,
        -220
      ],
      "webhookId": "e61d3286-920e-406c-b787-d330cf897ef4",
      "parameters": {
        "updates": [
          "message"
        ],
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "id": "ZOl2ZojetuN1uFiX",
          "name": "My Mail Agent Bot via Telegram"
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "8e10c622-9bf8-414b-8364-185c5c4808a0",
      "name": "便签",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -600,
        -480
      ],
      "parameters": {
        "width": 1660,
        "height": 680,
        "content": "## 邮件代理"
      },
      "typeVersion": 1
    },
    {
      "id": "2e664cd4-37af-4b8f-84a5-ff07911b8aaa",
      "name": "便签1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -560,
        -380
      ],
      "parameters": {
        "color": 5,
        "width": 180,
        "height": 360,
        "content": "### 触发器"
      },
      "typeVersion": 1
    },
    {
      "id": "966af8d0-bfca-40fa-b97c-ec1bb7de82d2",
      "name": "便签2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -360,
        -380
      ],
      "parameters": {
        "color": 4,
        "width": 180,
        "height": 360,
        "content": "### 通过 Gmail 获取邮件"
      },
      "typeVersion": 1
    },
    {
      "id": "07dabeda-a075-4e45-9ecf-9a0e6d0df0b2",
      "name": "便签3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -160,
        -380
      ],
      "parameters": {
        "color": 4,
        "width": 180,
        "height": 360,
        "content": "### 过滤器"
      },
      "typeVersion": 1
    },
    {
      "id": "b9a96646-283e-4328-8c79-57befa97bb69",
      "name": "便签4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        40,
        -380
      ],
      "parameters": {
        "color": 3,
        "width": 980,
        "height": 540,
        "content": "### AI 代理"
      },
      "typeVersion": 1
    },
    {
      "id": "32c73c57-61b5-430b-a011-f0b44fa2b226",
      "name": "邮件标签设置器",
      "type": "n8n-nodes-base.gmailTool",
      "position": [
        360,
        0
      ],
      "webhookId": "37bb94d2-6aeb-4038-afc7-e25a330e7860",
      "parameters": {
        "labelIds": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Label_Names_or_IDs', ``, 'string') }}",
        "messageId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Message_ID', ``, 'string') }}",
        "operation": "addLabels"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "5GhcPqZ48DrfujWd",
          "name": "Gmail account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "7cf38850-939c-4c8e-af62-1f730d5b7e34",
      "name": "邮件归档器",
      "type": "n8n-nodes-base.gmailTool",
      "position": [
        220,
        0
      ],
      "webhookId": "81956225-38dd-4acf-b97a-8e68f332f56a",
      "parameters": {
        "labelIds": [
          "INBOX"
        ],
        "messageId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Message_ID', ``, 'string') }}",
        "operation": "removeLabels"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "5GhcPqZ48DrfujWd",
          "name": "Gmail account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "5fab497e-a632-4565-8048-7ae9b209728d",
      "name": "聚合",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        380,
        -220
      ],
      "parameters": {
        "options": {},
        "aggregate": "aggregateAllItemData"
      },
      "typeVersion": 1
    },
    {
      "id": "f7144884-6ba6-4e97-be35-f5f8b27d56ad",
      "name": "Telegram",
      "type": "n8n-nodes-base.telegram",
      "position": [
        820,
        -220
      ],
      "webhookId": "6324ebbf-b2c3-42c3-b4ee-849184380b4f",
      "parameters": {
        "text": "={{ $json.output }}",
        "chatId": "={{ $('Telegram Trigger').item.json.message.chat.id }}",
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "id": "ZOl2ZojetuN1uFiX",
          "name": "My Mail Agent Bot via Telegram"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "9236fbc1-ffad-4bf0-b3a1-5d389e5b422c",
      "name": "OpenRouter 聊天模型1",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
      "position": [
        520,
        0
      ],
      "parameters": {
        "model": "openai/gpt-4.1-nano",
        "options": {}
      },
      "credentials": {
        "openRouterApi": {
          "id": "eQmkAlMDYm8oEtBL",
          "name": "OpenRouter account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "e0ec10ca-ad72-4784-891e-5bd5bcff7082",
      "name": "报告器",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        520,
        -220
      ],
      "parameters": {
        "text": "=Summarize data\n```\n{{ $json.data.map(item => item.output + '\\n\\n') }}\n```\n",
        "options": {
          "systemMessage": "=# persona\n* You are a helpful assistant.\n"
        },
        "promptType": "define"
      },
      "typeVersion": 1.8
    },
    {
      "id": "9b4f8e14-7b9c-45b3-97cb-32f2fe756440",
      "name": "获取 INBOX 中的邮件",
      "type": "n8n-nodes-base.gmail",
      "position": [
        -320,
        -220
      ],
      "webhookId": "f4c95906-916d-4c94-8e35-cb37c9472043",
      "parameters": {
        "filters": {
          "labelIds": [
            "INBOX"
          ]
        },
        "operation": "getAll",
        "returnAll": true
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "5GhcPqZ48DrfujWd",
          "name": "Gmail account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "13088de9-6f96-463e-bcb6-92f97d7144d9",
      "name": "过滤已处理邮件",
      "type": "n8n-nodes-base.filter",
      "position": [
        -120,
        -220
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "1091eba0-3d75-47b6-92c5-404f93e263ae",
              "operator": {
                "type": "array",
                "operation": "notContains",
                "rightType": "any"
              },
              "leftValue": "={{ $json.labels.map(item => item.name)}}",
              "rightValue": "NotNeed"
            },
            {
              "id": "31160689-98ce-43ac-8c7b-116cd7da5ebc",
              "operator": {
                "type": "array",
                "operation": "notContains",
                "rightType": "any"
              },
              "leftValue": "={{ $json.labels.map(item => item.name)}}",
              "rightValue": "MustRead"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "317ea413-e8fd-4148-8115-8b4d2b9a7fe4",
      "name": "分类器",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        80,
        -220
      ],
      "parameters": {
        "text": "=<task>\nProcess mail\n</task>\n<mail>\n<id>{{ $json.id }}</id>\n<from>{{ $json.From }}</from>\n<subject>{{ $json.Subject }}</subject>\n<body>{{ $json.snippet }}</body>\n</mail>",
        "options": {
          "systemMessage": "=<persona>\nYou are an email processing assistant.\n</persona>\n<task>\nLook at the content of the email and decide whether to apply a label or archive it, processing it only once. First, archive those that are absolutely unnecessary using the mail_archiver tool. This judgment is the top priority. After that, if it does not fall into that category, determine whether it should be read based on the following criteria and use the mail_label_setter tool to apply the label.\n<case>Absolutely unnecessary: Archive using the mail_archiver tool</case>\n<case>Needs to be read: Apply \"Label_[label_id]\" using the mail_label_setter tool</case>\n<case>Other: Apply \"Label_[label_id]\" using the mail_label_setter tool</case>\nReport the processing results carefully.\n</task>\n<rules>\n<Archive>\nEmails that are absolutely unnecessary and will be archived\n<item>[list up your rule1]</item>\n<item>[list up your rule2]</item>\n</Archive><MustRead>\nEmails that need to be read\n<item>[list up your rule1]</item>\n<item>[list up your rule2]</item>\n</MustRead>\n<Other>\nEmails that are not necessary to read but will not be archived\n<item>[list up your rule1]</item>\n<item>[list up your rule2]</item>\n</Other>\n</rules>"
        },
        "promptType": "define"
      },
      "typeVersion": 1.7
    }
  ],
  "pinData": {},
  "connections": {
    "Reporter": {
      "main": [
        [
          {
            "node": "Telegram",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate": {
      "main": [
        [
          {
            "node": "Reporter",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Categoriser": {
      "main": [
        [
          {
            "node": "Aggregate",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "mail_archiver": {
      "ai_tool": [
        [
          {
            "node": "Categoriser",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Filter processed": {
      "main": [
        [
          {
            "node": "Categoriser",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Telegram Trigger": {
      "main": [
        [
          {
            "node": "Get mails in INBOX",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "mail_label_setter": {
      "ai_tool": [
        [
          {
            "node": "Categoriser",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Get mails in INBOX": {
      "main": [
        [
          {
            "node": "Filter processed",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenRouter Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Categoriser",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "OpenRouter Chat Model1": {
      "ai_languageModel": [
        [
          {
            "node": "Reporter",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "When clicking ‘Test workflow’": {
      "main": [
        [
          {
            "node": "Get mails in INBOX",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

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

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

高级 - 其他, 人工智能

需要付费吗?

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

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

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

外部链接
在 n8n.io 查看

分享此工作流