8
n8n 中文网amn8n.com

通过Webhook集成将Google Tasks转换为Google Calendar事件

高级

这是一个Personal Productivity, Multimodal AI领域的自动化工作流,包含 16 个节点。主要使用 If, Set, Webhook, DateTime, GoogleTasks 等节点。 通过Webhook集成将Google Tasks转换为Google Calendar事件

前置要求
  • HTTP Webhook 端点(n8n 会自动生成)
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "meta": {
    "instanceId": "6d95cfcfdb5941832863c02ceb9fcbd0e7cde6400b76244f830811247606f9a4",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "e617195e-a1e2-4bb4-95b9-c7751ee8782c",
      "name": "模板说明",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        272,
        0
      ],
      "parameters": {
        "color": 5,
        "width": 528,
        "height": 288,
        "content": "## 此模板的功能"
      },
      "typeVersion": 1
    },
    {
      "id": "8baf3bc2-affd-4427-ad8f-0a8eef5995e9",
      "name": "配置",
      "type": "n8n-nodes-base.set",
      "position": [
        320,
        480
      ],
      "parameters": {
        "values": {
          "number": [
            {
              "name": "defaultMinutes",
              "value": 30
            },
            {
              "name": "eventColor",
              "value": 8
            }
          ],
          "string": [
            {
              "name": "calendarId",
              "value": "primary"
            },
            {
              "name": "tasklistId",
              "value": "REPLACE_WITH_TASKLIST_ID"
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 2
    },
    {
      "id": "6d90eb2d-3275-4525-b5d7-f7e761417683",
      "name": "Google Tasks",
      "type": "n8n-nodes-base.googleTasks",
      "position": [
        544,
        480
      ],
      "parameters": {
        "task": "={{ $('Configuration').item.json.tasklistId }}",
        "operation": "getAll",
        "additionalFields": {
          "showCompleted": false
        }
      },
      "credentials": {
        "googleTasksOAuth2Api": {
          "id": "r2Y8GsrO4PklYdVd",
          "name": "Google Tasks account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "668b1608-7a1b-4ac2-8570-fcbf8278cfaa",
      "name": "日期与时间",
      "type": "n8n-nodes-base.dateTime",
      "position": [
        752,
        480
      ],
      "parameters": {
        "date": "={{ $('Webhook').item.json.body.DueDateTimeSeconds.toDateTime(\"s\") }}",
        "format": "custom",
        "options": {},
        "operation": "formatDate",
        "customFormat": "=yyyy-MM-dd HH:mm:ss"
      },
      "typeVersion": 2
    },
    {
      "id": "0be0e8d0-b369-47e4-9419-90b3def746ad",
      "name": "Google Calendar",
      "type": "n8n-nodes-base.googleCalendar",
      "position": [
        1392,
        560
      ],
      "parameters": {
        "end": "={{ $('Date & Time').item.json.formattedDate.toDateTime().plus($('Configuration').item.json.defaultMinutes, 'minutes').format(\"yyyy-MM-dd HH:mm:ss\") }}",
        "start": "={{ $('Date & Time').item.json.formattedDate }}",
        "calendar": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('Configuration').item.json.calendarId }}"
        },
        "additionalFields": {
          "color": "={{ $('Configuration').item.json.eventColor }}",
          "summary": "={{ $('Google Tasks').item.json.title }}"
        }
      },
      "credentials": {
        "googleCalendarOAuth2Api": {
          "id": "20g8lCLkphJifaBd",
          "name": "Google Calendar account"
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "530619d8-52f2-4bb6-9fed-4068e686127a",
      "name": "Google Tasks1",
      "type": "n8n-nodes-base.googleTasks",
      "position": [
        1616,
        560
      ],
      "parameters": {
        "task": "MTQ4MDk5NDE1Mjc2NjA5MTA5MjE6MDow",
        "taskId": "={{ $('Google Tasks').item.json.id }}",
        "operation": "delete"
      },
      "credentials": {
        "googleTasksOAuth2Api": {
          "id": "r2Y8GsrO4PklYdVd",
          "name": "Google Tasks account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "36a1682b-8390-4273-ac26-1c35ec932294",
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        112,
        480
      ],
      "webhookId": "task-to-calendar",
      "parameters": {
        "path": "task-to-calendar",
        "options": {},
        "httpMethod": "POST"
      },
      "typeVersion": 2
    },
    {
      "id": "0fde8152-49b5-49e5-b52e-23fdb8000d03",
      "name": "Google Calendar9",
      "type": "n8n-nodes-base.googleCalendar",
      "position": [
        960,
        480
      ],
      "parameters": {
        "limit": 3,
        "options": {
          "query": "={{ $('Webhook').item.json.body.TaskName }}",
          "updatedMin": "={{ $now.minus(5, 'minutes') }}",
          "showDeleted": "=false"
        },
        "calendar": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('Configuration').item.json.calendarId }}"
        },
        "operation": "getAll"
      },
      "credentials": {
        "googleCalendarOAuth2Api": {
          "id": "20g8lCLkphJifaBd",
          "name": "Google Calendar account"
        }
      },
      "typeVersion": 1.1,
      "alwaysOutputData": true
    },
    {
      "id": "de1caa4c-f1fc-44cc-baf4-9522f72f2b8d",
      "name": "条件判断1",
      "type": "n8n-nodes-base.if",
      "position": [
        1152,
        480
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "f08129c7-f807-4915-9012-020c59db3629",
              "operator": {
                "type": "string",
                "operation": "exists",
                "singleValue": true
              },
              "leftValue": "={{ $json.summary }}",
              "rightValue": "={{ $json.summary }}"
            },
            {
              "id": "66c9e6d4-82bd-4e28-9456-4b9c9c1e54a3",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "{{ $('Webhook').item.json.body.TaskName }}",
              "rightValue": "{{ $json.summary }}"
            }
          ]
        }
      },
      "typeVersion": 2,
      "alwaysOutputData": false
    },
    {
      "id": "b6b89761-d9dd-4f41-b150-c3e1de4246b6",
      "name": "步骤 1 – 触发器",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        96,
        736
      ],
      "parameters": {
        "color": "blue",
        "height": 288,
        "content": "## 步骤 1 – 触发器 (Webhook)"
      },
      "typeVersion": 1
    },
    {
      "id": "63bc5ca7-8930-434a-b293-6168a11f5881",
      "name": "步骤 2 – 配置",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        368,
        736
      ],
      "parameters": {
        "color": "blue",
        "height": 288,
        "content": "## 步骤 2 – 配置"
      },
      "typeVersion": 1
    },
    {
      "id": "91d84006-1103-4686-877d-7135245db2a1",
      "name": "步骤 3 – 日期",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        640,
        736
      ],
      "parameters": {
        "color": "blue",
        "height": 176,
        "content": "## 步骤 3 – 日期格式化"
      },
      "typeVersion": 1
    },
    {
      "id": "d4b1604a-8d40-466b-b8a8-a8d7dcdf6f03",
      "name": "步骤 4 – 去重",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        912,
        736
      ],
      "parameters": {
        "color": "blue",
        "height": 224,
        "content": "## 步骤 4 – 重复防护"
      },
      "typeVersion": 1
    },
    {
      "id": "c74b5b51-10c0-4a4f-ada8-450a25846258",
      "name": "步骤 5 – 创建事件",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1184,
        736
      ],
      "parameters": {
        "color": "blue",
        "height": 192,
        "content": "## 步骤 5 – 创建事件"
      },
      "typeVersion": 1
    },
    {
      "id": "680dfb47-1ef5-482b-a772-01ea49eb67f1",
      "name": "步骤 6 – 清理",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1456,
        736
      ],
      "parameters": {
        "color": "blue",
        "height": 192,
        "content": "## 步骤 6 – 清理(可选)"
      },
      "typeVersion": 1
    },
    {
      "id": "ba3e90cf-b8ce-40d7-adfa-f8c8f48891b5",
      "name": "流程概览",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        832,
        0
      ],
      "parameters": {
        "color": "blue",
        "width": 400,
        "height": 192,
        "content": "## 流程概览"
      },
      "typeVersion": 1
    }
  ],
  "pinData": {},
  "connections": {
    "If1": {
      "main": [
        [],
        [
          {
            "node": "Google Calendar",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webhook": {
      "main": [
        [
          {
            "node": "Configuration",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Date & Time": {
      "main": [
        [
          {
            "node": "Google Calendar9",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Tasks": {
      "main": [
        [
          {
            "node": "Date & Time",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Configuration": {
      "main": [
        [
          {
            "node": "Google Tasks",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Calendar": {
      "main": [
        [
          {
            "node": "Google Tasks1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Calendar9": {
      "main": [
        [
          {
            "node": "If1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

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

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

高级 - 个人效率, 多模态 AI

需要付费吗?

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

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

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

作者
R4wd0G

R4wd0G

@r4wd0g

Feel free to send me an email if you have any questions: n8n.eldest410@aleeas.com

外部链接
在 n8n.io 查看

分享此工作流