基于Mistral AI的邮件转任务自动化(Gmail/Outlook转Google Tasks/Microsoft To Do)
高级
这是一个Personal Productivity, AI Summarization领域的自动化工作流,包含 35 个节点。主要使用 Code, Gmail, Merge, DataTable, DataTableTool 等节点。 基于Mistral AI的邮件转任务自动化(Gmail/Outlook转Google Tasks/Microsoft To Do)
前置要求
- •Google 账号和 Gmail API 凭证
使用的节点 (35)
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
"meta": {
"instanceId": "b8bca2081b6c394c24ae4b81e9aa6d613d549c27564693b18550c263bcbb0c03",
"templateCredsSetupCompleted": false
},
"nodes": [
{
"id": "e441807f-9188-4fa1-878c-58a2c36b4dd5",
"name": "创建任务1",
"type": "n8n-nodes-base.googleTasksTool",
"position": [
-1488,
896
],
"parameters": {
"task": "RmhtQ0kzY1ltOTJvdGxNSA",
"title": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Title', ``, 'string') }}",
"additionalFields": {
"notes": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Notes', ``, 'string') }}",
"dueDate": "={{ new Date($fromAI('Due_Date', '', 'string')).toISOString() }}"
}
},
"credentials": {
"googleTasksOAuth2Api": {
"id": "REMOVED_CREDENTIALS",
"name": "Google Tasks account"
}
},
"typeVersion": 1
},
{
"id": "dab15547-8b7f-449f-8d3b-d30286352225",
"name": "删除任务1",
"type": "n8n-nodes-base.googleTasksTool",
"position": [
-1376,
880
],
"parameters": {
"task": "RmhtQ0kzY1ltOTJvdGxNSA",
"taskId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Task_ID', ``, 'string') }}",
"operation": "delete"
},
"credentials": {
"googleTasksOAuth2Api": {
"id": "REMOVED_CREDENTIALS",
"name": "Google Tasks account"
}
},
"typeVersion": 1
},
{
"id": "819ac3c9-5b6f-4f2b-a33a-22de4608dea8",
"name": "更新任务1",
"type": "n8n-nodes-base.googleTasksTool",
"position": [
-1264,
896
],
"parameters": {
"task": "RmhtQ0kzY1ltOTJvdGxNSA",
"taskId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Task_ID', ``, 'string') }}",
"operation": "update",
"updateFields": {
"notes": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Notes', ``, 'string') }}",
"dueDate": "={{ new Date($fromAI('Due_Date', '', 'string')).toISOString() }}"
}
},
"credentials": {
"googleTasksOAuth2Api": {
"id": "REMOVED_CREDENTIALS",
"name": "Google Tasks account"
}
},
"typeVersion": 1
},
{
"id": "6d69d1bb-c3b0-4125-868e-7aa726d8d917",
"name": "获取多个任务1",
"type": "n8n-nodes-base.googleTasksTool",
"position": [
-1152,
880
],
"parameters": {
"task": "RmhtQ0kzY1ltOTJvdGxNSA",
"operation": "getAll",
"returnAll": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Return_All', ``, 'boolean') }}",
"additionalFields": {
"showHidden": true,
"showCompleted": true
}
},
"credentials": {
"googleTasksOAuth2Api": {
"id": "REMOVED_CREDENTIALS",
"name": "Google Tasks account"
}
},
"typeVersion": 1
},
{
"id": "a324b41f-53c6-4fab-8adc-553d145ccf3e",
"name": "获取已完成的任务1",
"type": "n8n-nodes-base.googleTasksTool",
"position": [
-1040,
896
],
"parameters": {
"task": "RmhtQ0kzY1ltOTJvdGxNSA",
"operation": "getAll",
"returnAll": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Return_All', ``, 'boolean') }}",
"additionalFields": {
"showHidden": true,
"showCompleted": true
}
},
"credentials": {
"googleTasksOAuth2Api": {
"id": "REMOVED_CREDENTIALS",
"name": "Google Tasks account"
}
},
"typeVersion": 1
},
{
"id": "d4b85278-70c1-4d91-b776-d6662481dc7e",
"name": "创建任务",
"type": "n8n-nodes-base.microsoftToDoTool",
"position": [
-592,
896
],
"parameters": {
"title": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Subject', ``, 'string') }}",
"operation": "create",
"taskListId": "AQMkADAwATM3ZmYAZS1jNzU4LTI5ZTItMDACLTAwCgAuAAAD-41I92S2gkOdLSmebX317AEABAQAWb7gEtlDlEENcbtVvg8ACWYwFq0AAAA=",
"additionalFields": {}
},
"credentials": {
"microsoftToDoOAuth2Api": {
"id": "REMOVED_CREDENTIALS",
"name": "Microsoft To Do account"
}
},
"typeVersion": 1
},
{
"id": "76866e85-0d04-4784-aa7e-1da748f20126",
"name": "删除任务",
"type": "n8n-nodes-base.microsoftToDoTool",
"position": [
-480,
880
],
"parameters": {
"taskId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Task_ID', ``, 'string') }}",
"operation": "delete",
"taskListId": "AQMkADAwATM3ZmYAZS1jNzU4LTI5ZTItMDACLTAwCgAuAAAD-41I92S2gkOdLSmebX317AEABAQAWb7gEtlDlEENcbtVvg8ACWYwFq0AAAA="
},
"credentials": {
"microsoftToDoOAuth2Api": {
"id": "REMOVED_CREDENTIALS",
"name": "Microsoft To Do account"
}
},
"typeVersion": 1
},
{
"id": "2207ae03-9014-464a-b557-248161f0d1de",
"name": "更新任务",
"type": "n8n-nodes-base.microsoftToDoTool",
"position": [
-368,
896
],
"parameters": {
"taskId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Task_ID', ``, 'string') }}",
"operation": "update",
"taskListId": "AQMkADAwATM3ZmYAZS1jNzU4LTI5ZTItMDACLTAwCgAuAAAD-41I92S2gkOdLSmebX317AEABAQAWb7gEtlDlEENcbtVvg8ACWYwFq0AAAA=",
"updateFields": {}
},
"credentials": {
"microsoftToDoOAuth2Api": {
"id": "REMOVED_CREDENTIALS",
"name": "Microsoft To Do account"
}
},
"typeVersion": 1
},
{
"id": "d2b295eb-1e63-48db-8741-8e8daf4151eb",
"name": "获取多个任务",
"type": "n8n-nodes-base.microsoftToDoTool",
"position": [
-256,
880
],
"parameters": {
"operation": "getAll",
"returnAll": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Return_All', ``, 'boolean') }}",
"taskListId": "AQMkADAwATM3ZmYAZS1jNzU4LTI5ZTItMDACLTAwCgAuAAAD-41I92S2gkOdLSmebX317AEABAQAWb7gEtlDlEENcbtVvg8ACWYwFq0AAAA="
},
"credentials": {
"microsoftToDoOAuth2Api": {
"id": "REMOVED_CREDENTIALS",
"name": "Microsoft To Do account"
}
},
"typeVersion": 1
},
{
"id": "45bcdec1-2a8c-4048-b11a-427e8f3b437c",
"name": "简单记忆",
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"position": [
-1328,
528
],
"parameters": {
"sessionKey": "1",
"sessionIdType": "customKey",
"contextWindowLength": 10
},
"typeVersion": 1.3
},
{
"id": "9514b8a9-7b12-47cd-ba75-e8497eac6b8b",
"name": "简单记忆1",
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"position": [
-704,
880
],
"parameters": {
"sessionKey": "2",
"sessionIdType": "customKey",
"contextWindowLength": 10
},
"typeVersion": 1.3
},
{
"id": "21b9ce43-123d-49b2-9a0e-01413da44e29",
"name": "Mistral Cloud Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatMistralCloud",
"position": [
-1488,
528
],
"parameters": {
"model": "mistral-large-latest",
"options": {
"maxTokens": 32768
}
},
"credentials": {
"mistralCloudApi": {
"id": "REMOVED_CREDENTIALS",
"name": "Mistral Cloud account"
}
},
"typeVersion": 1
},
{
"id": "57275573-9c83-4363-9348-812c2f8cc1ee",
"name": "Simple Memory2",
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"position": [
-1600,
880
],
"parameters": {
"sessionKey": "3",
"sessionIdType": "customKey",
"contextWindowLength": 10
},
"typeVersion": 1.3
},
{
"id": "9c5674ba-5560-435b-b125-169a9e9a113c",
"name": "Google Tasks Agent",
"type": "@n8n/n8n-nodes-langchain.agentTool",
"position": [
-1184,
672
],
"parameters": {
"text": "=You are the Google Tasks Execution Agent. Your sole function is to process a single, pre-filtered task object provided by the Main Orchestration Agent and ensure that the task is correctly created or updated in the Google Tasks system.\n\nInput Protocol\nAccept: You will receive a single structured task object as input, containing: Task Title, Due Date, Notes, and Target System (Google Tasks).\n\nFailsafe: If the input object is empty or indicates \"no task identified,\" immediately return a success log with the message \"No action required.\" Do not proceed with any tool calls.\n\nFilter Rule Enforcement: Mandatory: Do not proceed unless the object explicitly requires action for 'Jordan Hoyle' (this rule is enforced externally but confirmed here).\n\nExecution Protocol (Tool Use)\nGET: Use the Google Tasks GET tool to check for an existing task matching the Task Title.\n\nUPDATE: If a matching Task ID is found, use the Google Tasks UPDATE tool to apply the new Due Date and Notes.\n\nCREATE: If no matching Task ID is found, use the Google Tasks CREATE tool to add the task.\n\nDELETE (Prohibited): NEVER use the Google Tasks DELETE tool.\n\nOutput Protocol\nReturn only the log of the successful Google Tasks CREATE or UPDATE action, or the Failsafe message, to the Main Orchestration Agent. Do not output any prose or conversational responses.",
"options": {},
"toolDescription": "Google Tasks AI Agent"
},
"typeVersion": 2.2
},
{
"id": "004cc0c2-e37e-418b-ac6b-62f86945414a",
"name": "Microsoft To Do Agent",
"type": "@n8n/n8n-nodes-langchain.agentTool",
"position": [
-832,
672
],
"parameters": {
"text": "=You are the Microsoft To Do Execution Agent. Your sole function is to process a single, structured task object provided by the Main Orchestration Agent and ensure that the task is correctly created or updated in the Microsoft To Do system.\n\nInput Protocol\nAccept: You will receive a single structured task object as input, containing: Task Title, Due Date, Notes, and Target System (Microsoft To Do).\n\nFailsafe: If the input object is empty or indicates \"no task identified,\" immediately return a success log with the message \"No action required.\" Do not proceed with any tool calls.\n\nFilter Rule Enforcement: Mandatory: Do not proceed unless the object explicitly requires action for 'Jordan Hoyle' (this rule is enforced externally but confirmed here).\n\nExecution Protocol (Tool Use)\nGET: Use the Microsoft To Do GET tool to check for an existing task matching the Task Title.\n\nUPDATE: If a matching Task ID is found, use the Microsoft To Do UPDATE tool to apply the new Due Date and Notes.\n\nCREATE: If no matching Task ID is found, use the Microsoft To Do CREATE tool to add the task.\n\nDELETE (Prohibited): NEVER use the Microsoft To Do DELETE tool.\n\nOutput Protocol\nReturn only the log of the successful Microsoft To Do CREATE or UPDATE action, or the Failsafe message, to the Main Orchestration Agent. Do not output any prose or conversational responses.",
"options": {},
"toolDescription": "Microsoft To Do AI Agent"
},
"typeVersion": 2.2
},
{
"id": "4d3084a5-471e-4ed7-bde6-4438a5aca73e",
"name": "Mistral 云聊天模型1",
"type": "@n8n/n8n-nodes-langchain.lmChatMistralCloud",
"position": [
-1728,
896
],
"parameters": {
"model": "mistral-large-latest",
"options": {}
},
"credentials": {
"mistralCloudApi": {
"id": "REMOVED_CREDENTIALS",
"name": "Mistral Cloud account"
}
},
"typeVersion": 1
},
{
"id": "96834390-9ef1-4b1d-9fa1-a5c9ffbd1132",
"name": "Mistral Cloud Chat Model2",
"type": "@n8n/n8n-nodes-langchain.lmChatMistralCloud",
"position": [
-832,
896
],
"parameters": {
"model": "mistral-large-latest",
"options": {}
},
"credentials": {
"mistralCloudApi": {
"id": "REMOVED_CREDENTIALS",
"name": "Mistral Cloud account"
}
},
"typeVersion": 1
},
{
"id": "522a7b94-5175-4410-b291-d05b96ecaa02",
"name": "Tasks AI Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"onError": "continueErrorOutput",
"position": [
-1216,
320
],
"parameters": {
"text": "=You are the **Main Task Orchestration Agent**. Your function is to read the provided **Data Table** of pre-filtered tasks and dispatch each row to the correct task management sub-agent for execution.\n\n### 1. Data Table Input and Parsing\n1. **Input:** Read the provided **Data Table**, where each row represents a distinct, actionable task already assigned to 'Jordan Hoyle' and includes a 'Due Date'.\n2. **Required Fields:** Each row must contain: **Task Title, Due Date, Notes, and Target System** (either 'Google Tasks' or 'Microsoft To Do').\n\n### 2. Constraints and Rate Limiting\n* **Batch Control:** Process rows from the Data Table in **batches of a maximum of 5 tasks** before pausing.\n* **Tool Delay:** Implement a mandatory **5-second delay** after every sub-agent tool execution to prevent API rate limits.\n* **Delegation:** Do not execute any task API calls yourself (CREATE/UPDATE/DELETE/GET).\n\n### 3. Routing and Delegation\n* **Google Tasks:** If **Target System** is 'Google Tasks', call the **Google Tasks Agent Tool** and pass the entire row object.\n* **Microsoft To Do:** If **Target System** is 'Microsoft To Do', call the **Microsoft To Do Agent Tool** and pass the entire row object.\n\n### 4. Final Output\n* Output **only** the aggregated execution logs returned by the sub-agent tools.",
"options": {
"systemMessage": "<system_prompt>\n\nYou are the Main Task Orchestration Agent. Your role is to serve as the central routing hub for tasks sourced from email (Outlook/Gmail tools). You are the only agent authorized to access the email tools for retrieval and filtering. You must not perform task management operations directly; delegate all CREATE/UPDATE/DELETE/GET calls to the specialized sub-agent tools (Google Tasks Agent Tool and Microsoft To Do Agent Tool). Strict adherence to the 'Jordan Hoyle' filter, the 30-day email window, the 5-task batch limit, and the 5-second post-call delay is mandatory. Output only the aggregated execution logs returned by the sub-agents.\n\n</system_prompt>"
},
"promptType": "define"
},
"retryOnFail": true,
"typeVersion": 2
},
{
"id": "e81c0be6-8635-4ab6-914d-65b98800dd38",
"name": "获取多个消息",
"type": "n8n-nodes-base.gmail",
"position": [
-1984,
224
],
"webhookId": "480b6826-918f-4974-8403-1dcc8fc4042f",
"parameters": {
"simple": false,
"filters": {
"receivedAfter": "={{ $today.minus({days: 1}).toISO() }}"
},
"options": {},
"operation": "getAll",
"returnAll": true
},
"credentials": {
"gmailOAuth2": {
"id": "REMOVED_CREDENTIALS",
"name": "Gmail account"
}
},
"typeVersion": 2.1
},
{
"id": "72b180e6-330b-4846-83b2-6130c27a2c9c",
"name": "获取多条消息1",
"type": "n8n-nodes-base.microsoftOutlook",
"position": [
-1984,
384
],
"webhookId": "408dd71c-a1c6-4ce6-98d3-e45434a5e701",
"parameters": {
"fields": [
"body",
"sender",
"subject",
"sentDateTime",
"toRecipients",
"conversationId"
],
"output": "fields",
"options": {},
"filtersUI": {
"values": {
"filters": {
"receivedAfter": "={{ $today.minus({days: 1}).toISO() }}"
}
}
},
"operation": "getAll",
"returnAll": true
},
"credentials": {
"microsoftOutlookOAuth2Api": {
"id": "REMOVED_CREDENTIALS",
"name": "Microsoft Outlook account"
}
},
"typeVersion": 2
},
{
"id": "a1453d3a-3d3a-4bbb-bc64-17d699ac311d",
"name": "JavaScript 代码",
"type": "n8n-nodes-base.code",
"position": [
-1808,
384
],
"parameters": {
"mode": "runOnceForEachItem",
"jsCode": "// Access the current item's HTML content\nconst html = $json.body.content;\n\n// Convert HTML to plain text\nconst plainText = html.replace(/<[^>]+>/g, \"\");\n\n// Update the item\nitem.json.body.content = plainText;\n\n// Return the updated item\nreturn item;"
},
"typeVersion": 2
},
{
"id": "25430738-ecfe-4d9f-a15b-be04834875b4",
"name": "在数据表中获取行",
"type": "n8n-nodes-base.dataTableTool",
"position": [
-1184,
528
],
"parameters": {
"limit": 5,
"operation": "get",
"dataTableId": {
"__rl": true,
"mode": "list",
"value": "wcug59SB0zJOWWiU",
"cachedResultUrl": "/projects/1Y1Zd7mQFybjJwXb/datatables/wcug59SB0zJOWWiU",
"cachedResultName": "To Do Database"
}
},
"typeVersion": 1
},
{
"id": "740ecbb6-4283-4423-b76c-ae8b2a38a504",
"name": "合并",
"type": "n8n-nodes-base.merge",
"position": [
-1392,
320
],
"parameters": {},
"typeVersion": 3.2
},
{
"id": "4e31c404-9fa3-4699-8756-aa10ac247e59",
"name": "插入/更新行",
"type": "n8n-nodes-base.dataTable",
"position": [
-1632,
224
],
"parameters": {
"columns": {
"value": {
"To": "={{ $json.headers.to.split(\":\")[1].trim() }}",
"Body": "={{ $json.text }}",
"Date": "={{ $json.headers.date.slice(11) }}",
"From": "={{ $json.headers.from.split(\":\")[1].trim() }}",
"Subject": "={{ $json.headers.subject }}",
"Email_iD": "={{ $json.id }}"
},
"schema": [
{
"id": "Date",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Date",
"defaultMatch": false
},
{
"id": "From",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "From",
"defaultMatch": false
},
{
"id": "To",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "To",
"defaultMatch": false
},
{
"id": "Body",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Body",
"defaultMatch": false
},
{
"id": "Subject",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Subject",
"defaultMatch": false
},
{
"id": "Email_iD",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Email_iD",
"defaultMatch": false
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"filters": {
"conditions": [
{
"keyName": "Email_iD",
"keyValue": "={{ $json.id }}"
}
]
},
"options": {},
"matchType": "allConditions",
"operation": "upsert",
"dataTableId": {
"__rl": true,
"mode": "list",
"value": "wcug59SB0zJOWWiU",
"cachedResultUrl": "/projects/1Y1Zd7mQFybjJwXb/datatables/wcug59SB0zJOWWiU",
"cachedResultName": "To Do Database"
}
},
"typeVersion": 1
},
{
"id": "6659169a-229e-4a6f-8eae-fe002c7a2bce",
"name": "插入/更新行1",
"type": "n8n-nodes-base.dataTable",
"position": [
-1632,
384
],
"parameters": {
"columns": {
"value": {
"To": "={{ $json.toRecipients[0].emailAddress.address }}",
"Body": "={{ $json.body.content }}",
"Date": "={{ $json.sentDateTime }}",
"From": "={{ $json.sender.emailAddress.address }}",
"Subject": "={{ $json.subject }}",
"Email_iD": "={{ $json.conversationId }}"
},
"schema": [
{
"id": "Date",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Date",
"defaultMatch": false
},
{
"id": "From",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "From",
"defaultMatch": false
},
{
"id": "To",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "To",
"defaultMatch": false
},
{
"id": "Body",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Body",
"defaultMatch": false
},
{
"id": "Subject",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Subject",
"defaultMatch": false
},
{
"id": "Email_iD",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Email_iD",
"defaultMatch": false
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"filters": {
"conditions": [
{
"keyName": "Email_iD",
"keyValue": "={{ $json.conversationId }}"
}
]
},
"options": {},
"operation": "upsert",
"dataTableId": {
"__rl": true,
"mode": "list",
"value": "wcug59SB0zJOWWiU",
"cachedResultUrl": "/projects/1Y1Zd7mQFybjJwXb/datatables/wcug59SB0zJOWWiU",
"cachedResultName": "To Do Database"
}
},
"typeVersion": 1
},
{
"id": "cd554ef7-28e9-4148-880f-cfe60a84c268",
"name": "便签",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2304,
112
],
"parameters": {
"color": 5,
"content": "## 从这里开始"
},
"typeVersion": 1
},
{
"id": "07077813-39cd-46d7-8814-074350482f7a",
"name": "便签1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2016,
208
],
"parameters": {
"color": 7,
"width": 512,
"height": 336,
"content": ""
},
"typeVersion": 1
},
{
"id": "8953ea30-4ff8-48f2-8ced-6ab25963756f",
"name": "便签2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1776,
656
],
"parameters": {
"color": 7,
"width": 864,
"height": 384,
"content": ""
},
"typeVersion": 1
},
{
"id": "36ed050f-5897-426a-8203-e6192b6e8850",
"name": "便签3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-880,
656
],
"parameters": {
"color": 7,
"width": 736,
"height": 384,
"content": ""
},
"typeVersion": 1
},
{
"id": "ed0bb970-9bdb-4b14-9928-f4669c44af75",
"name": "便签4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1136,
160
],
"parameters": {
"color": 5,
"width": 352,
"height": 144,
"content": "## 更新"
},
"typeVersion": 1
},
{
"id": "5d55528e-49dd-491f-9f7e-fe8d29430faf",
"name": "便签5",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1072,
1056
],
"parameters": {
"color": 5,
"width": 352,
"height": 144,
"content": "## 更新"
},
"typeVersion": 1
},
{
"id": "de57cf7c-1906-4e9d-861c-8fda6cfdd593",
"name": "便签6",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1824,
112
],
"parameters": {
"color": 4,
"width": 352,
"height": 80,
"content": "此部分的主要目的是避免令牌限制或 API 速率限制。我们将把电子邮件分解为必要的信息。"
},
"typeVersion": 1
},
{
"id": "921d69cc-bbba-4106-9f75-8e2080a55f97",
"name": "便签7",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2480,
720
],
"parameters": {
"width": 656,
"height": 176,
"content": "## AI 驱动的任务编排器(Gmail/Outlook 到 Google Tasks/Microsoft To Do)"
},
"typeVersion": 1
},
{
"id": "3ad44b74-c9eb-4d78-aed5-36624e615ce7",
"name": "便签8",
"type": "n8n-nodes-base.stickyNote",
"position": [
-624,
432
],
"parameters": {
"color": 3,
"width": 352,
"height": 192,
"content": "## 未来"
},
"typeVersion": 1
},
{
"id": "02a5159a-9766-4a13-88c2-5a238ad3b5ee",
"name": "计划触发器",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-2224,
304
],
"parameters": {
"rule": {
"interval": [
{}
]
}
},
"typeVersion": 1.2
}
],
"pinData": {},
"connections": {
"Merge": {
"main": [
[
{
"node": "Tasks AI Agent",
"type": "main",
"index": 0
}
]
]
},
"Create task": {
"ai_tool": [
[
{
"node": "Microsoft To Do Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Delete task": {
"ai_tool": [
[
{
"node": "Microsoft To Do Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Update task": {
"ai_tool": [
[
{
"node": "Microsoft To Do Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Create task1": {
"ai_tool": [
[
{
"node": "Google Tasks Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Delete task1": {
"ai_tool": [
[
{
"node": "Google Tasks Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Update task1": {
"ai_tool": [
[
{
"node": "Google Tasks Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Simple Memory": {
"ai_memory": [
[
{
"node": "Tasks AI Agent",
"type": "ai_memory",
"index": 0
}
]
]
},
"Upsert row(s)": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 0
}
]
]
},
"Get Many Tasks": {
"ai_tool": [
[
{
"node": "Microsoft To Do Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Simple Memory1": {
"ai_memory": [
[
{
"node": "Microsoft To Do Agent",
"type": "ai_memory",
"index": 0
}
]
]
},
"Simple Memory2": {
"ai_memory": [
[
{
"node": "Google Tasks Agent",
"type": "ai_memory",
"index": 0
}
]
]
},
"Upsert row(s)1": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 1
}
]
]
},
"Get many tasks1": {
"ai_tool": [
[
{
"node": "Google Tasks Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Schedule Trigger": {
"main": [
[
{
"node": "Get many messages",
"type": "main",
"index": 0
},
{
"node": "Get many messages1",
"type": "main",
"index": 0
}
]
]
},
"Get many messages": {
"main": [
[
{
"node": "Upsert row(s)",
"type": "main",
"index": 0
}
]
]
},
"Code in JavaScript": {
"main": [
[
{
"node": "Upsert row(s)1",
"type": "main",
"index": 0
}
]
]
},
"Get many messages1": {
"main": [
[
{
"node": "Code in JavaScript",
"type": "main",
"index": 0
}
]
]
},
"Google Tasks Agent": {
"ai_tool": [
[
{
"node": "Tasks AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Get completed task1": {
"ai_tool": [
[
{
"node": "Google Tasks Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Microsoft To Do Agent": {
"ai_tool": [
[
{
"node": "Tasks AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Get row(s) in Data table": {
"ai_tool": [
[
{
"node": "Tasks AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Mistral Cloud Chat Model": {
"ai_languageModel": [
[
{
"node": "Tasks AI Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Mistral Cloud Chat Model1": {
"ai_languageModel": [
[
{
"node": "Google Tasks Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Mistral Cloud Chat Model2": {
"ai_languageModel": [
[
{
"node": "Microsoft To Do Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
高级 - 个人效率, AI 摘要总结
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
使用 Mistral AI、LinkedIn 和 Google Sheets 自动化职位搜索与简历定制
使用 Mistral AI、LinkedIn 和 Google Sheets 自动化职位搜索与简历定制
Set
Code
Html
+18
46 节点Jordan Hoyle
个人效率
文件夹和子文件夹中PDF文件的文档审查
使用Mistral AI和OneDrive进行嵌套PDF文档摘要分析
If
Set
Merge
+12
50 节点Jordan Hoyle
文档提取
社交媒体监控
使用AnySite API和GPT的跨平台品牌监控与分析
Code
Merge
Data Table
+8
42 节点Andrey
市场调研
发送定时n8n发布说明通知到Gmail
基于AI的n8n发布说明摘要通知(通过Gmail与GPT-5-Mini)
Set
Code
Html
+7
16 节点Jeff Huera
个人效率
从Monday.com和Jira到Outlook的AI驱动反馈分类与报告
使用Azure GPT-4、Jira任务和Outlook报告分析来自Monday.com的客户反馈
Set
Code
Jira
+12
27 节点Rahul Joshi
基于 SerpAPI、Gemini AI 过滤器和邮件通知的自动化职位爬取
基于 SerpAPI、Gemini AI 过滤器和邮件通知的自动化职位爬取
Set
Wait
Merge
+13
35 节点Louis
个人效率