8
n8n 中文网amn8n.com

带实时状态更新的自动化订单记录器

高级

这是一个CRM, Miscellaneous, Multimodal AI领域的自动化工作流,包含 16 个节点。主要使用 If, Set, Webhook, HttpRequest, GoogleSheets 等节点。 在Google Sheets中记录电商订单,支持月度分页和状态跟踪

前置要求
  • HTTP Webhook 端点(n8n 会自动生成)
  • 可能需要目标 API 的认证凭证
  • Google Sheets API 凭证
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "id": "OskOgJPf2GrczCTF",
  "meta": {
    "instanceId": "54982cbe9f8132ea9a4a7e9e8f355b9eb6ea3f69d2ba679cde0f482c65ee4fcb",
    "templateCredsSetupCompleted": true
  },
  "name": "📊 带实时状态更新的自动化订单记录器",
  "tags": [],
  "nodes": [
    {
      "id": "eb4915cc-2cbc-43cb-a1ee-0714066b19a7",
      "name": "配置(设置电子表格ID)",
      "type": "n8n-nodes-base.set",
      "position": [
        -208,
        160
      ],
      "parameters": {
        "values": {
          "string": [
            {
              "name": "spreadsheetId",
              "value": "<spreadsheetID>"
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 2
    },
    {
      "id": "56cfe15b-f599-4998-99e4-575c16511885",
      "name": "创建月度工作表",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        912,
        256
      ],
      "parameters": {
        "url": "=https://sheets.googleapis.com/v4/spreadsheets/{{$node[\"Config (set spreadsheetId)\"].json.spreadsheetId}}:batchUpdate",
        "body": "={ \"requests\": [ { \"addSheet\": { \"properties\": { \"title\": \"{{ $json['Sheet name'].replace(/(?:\\r?\\n|\\\\n)+$/,'').trimEnd() }}\", \"gridProperties\": { \"frozenRowCount\": 1 } } } } ] }",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "contentType": "raw",
        "authentication": "predefinedCredentialType",
        "rawContentType": "application/json",
        "nodeCredentialType": "googleSheetsOAuth2Api"
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "qEgp5kyhWuhE456l",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "f866f538-850a-403f-8b94-dc46b6e4b27f",
      "name": "写入表头(A1:I1)",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1136,
        256
      ],
      "parameters": {
        "url": "=https://sheets.googleapis.com/v4/spreadsheets/{{$json.spreadsheetId}}:batchUpdate",
        "body": "={\n  \"requests\": [\n    {\n      \"updateCells\": {\n        \"start\": { \"sheetId\": {{ $json.replies[0].addSheet.properties.sheetId }}, \"rowIndex\": 0, \"columnIndex\": 0 },\n        \"rows\": [\n          { \"values\": [\n            { \"userEnteredValue\": { \"stringValue\": \"OrderId\" } },\n            { \"userEnteredValue\": { \"stringValue\": \"Date\" } },\n            { \"userEnteredValue\": { \"stringValue\": \"Customer Name\" } },\n            { \"userEnteredValue\": { \"stringValue\": \"Order\" } },\n            { \"userEnteredValue\": { \"stringValue\": \"Order Value\" } },\n            { \"userEnteredValue\": { \"stringValue\": \"Status\" } }\n          ] }\n        ],\n        \"fields\": \"userEnteredValue\"\n      }\n    },\n  {\n  \"repeatCell\": {\n    \"range\": {\n      \"sheetId\": {{ $json.replies[0].addSheet.properties.sheetId }},\n      \"startRowIndex\": 1,         \n      \"startColumnIndex\": 1,     \n      \"endColumnIndex\": 2\n    },\n    \"cell\": {\n      \"userEnteredFormat\": {\n        \"numberFormat\": {\n          \"type\": \"DATE\",\n          \"pattern\": \"dd mmm\"\n        }\n      }\n    },\n    \"fields\": \"userEnteredFormat.numberFormat\"\n  }\n},\n\n    { \"setDataValidation\": { \"range\": { \"sheetId\": {{ $json.replies[0].addSheet.properties.sheetId }}, \"startRowIndex\": 1, \"startColumnIndex\": 5, \"endColumnIndex\": 6 },\n      \"rule\": { \"condition\": { \"type\": \"ONE_OF_LIST\", \"values\": [\n        { \"userEnteredValue\": \"Not Shipped\" },\n        { \"userEnteredValue\": \"Pickup Scheduled\" },\n        { \"userEnteredValue\": \"Shipped\" },\n        { \"userEnteredValue\": \"InTransit\" },\n        { \"userEnteredValue\": \"Delivered\" },\n        { \"userEnteredValue\": \"Cancelled\" }\n      ] }, \"strict\": true, \"showCustomUi\": true } } },\n\n\n    { \"addConditionalFormatRule\": { \"rule\": { \"ranges\": [{ \"sheetId\": {{ $json.replies[0].addSheet.properties.sheetId }}, \"startRowIndex\": 1, \"startColumnIndex\": 5, \"endColumnIndex\": 6 }],\n      \"booleanRule\": { \"condition\": { \"type\": \"TEXT_EQ\", \"values\": [{ \"userEnteredValue\": \"Delivered\" }] },\n      \"format\": { \"backgroundColor\": { \"red\": 0.40, \"green\": 0.73, \"blue\": 0.42 } } } }, \"index\": 0 } },\n    { \"addConditionalFormatRule\": { \"rule\": { \"ranges\": [{ \"sheetId\": {{ $json.replies[0].addSheet.properties.sheetId }}, \"startRowIndex\": 1, \"startColumnIndex\": 5, \"endColumnIndex\": 6 }],\n      \"booleanRule\": { \"condition\": { \"type\": \"TEXT_EQ\", \"values\": [{ \"userEnteredValue\": \"Shipped\" }] },\n      \"format\": { \"backgroundColor\": { \"red\": 0.65, \"green\": 0.84, \"blue\": 0.66 } } } }, \"index\": 1 } },\n    { \"addConditionalFormatRule\": { \"rule\": { \"ranges\": [{ \"sheetId\": {{ $json.replies[0].addSheet.properties.sheetId }}, \"startRowIndex\": 1, \"startColumnIndex\": 5, \"endColumnIndex\": 6 }],\n      \"booleanRule\": { \"condition\": { \"type\": \"TEXT_EQ\", \"values\": [{ \"userEnteredValue\": \"InTransit\" }] },\n      \"format\": { \"backgroundColor\": { \"red\": 0.69, \"green\": 0.75, \"blue\": 0.77 } } } }, \"index\": 2 } },\n    { \"addConditionalFormatRule\": { \"rule\": { \"ranges\": [{ \"sheetId\": {{ $json.replies[0].addSheet.properties.sheetId }}, \"startRowIndex\": 1, \"startColumnIndex\": 5, \"endColumnIndex\": 6 }],\n      \"booleanRule\": { \"condition\": { \"type\": \"TEXT_EQ\", \"values\": [{ \"userEnteredValue\": \"Not Shipped\" }] },\n      \"format\": { \"backgroundColor\": { \"red\": 0.96, \"green\": 0.83, \"blue\": 0.40 } } } }, \"index\": 3 } },\n    { \"addConditionalFormatRule\": { \"rule\": { \"ranges\": [{ \"sheetId\": {{ $json.replies[0].addSheet.properties.sheetId }}, \"startRowIndex\": 1, \"startColumnIndex\": 5, \"endColumnIndex\": 6 }],\n      \"booleanRule\": { \"condition\": { \"type\": \"TEXT_EQ\", \"values\": [{ \"userEnteredValue\": \"Pickup Scheduled\" }] },\n      \"format\": { \"backgroundColor\": { \"red\": 0.88, \"green\": 0.88, \"blue\": 0.88 } } } }, \"index\": 4 } },\n    { \"addConditionalFormatRule\": { \"rule\": { \"ranges\": [{ \"sheetId\": {{ $json.replies[0].addSheet.properties.sheetId }}, \"startRowIndex\": 1, \"startColumnIndex\": 5, \"endColumnIndex\": 6 }],\n      \"booleanRule\": { \"condition\": { \"type\": \"TEXT_EQ\", \"values\": [{ \"userEnteredValue\": \"Cancelled\" }] },\n      \"format\": { \"backgroundColor\": { \"red\": 0.94, \"green\": 0.33, \"blue\": 0.31 } } } }, \"index\": 5 } }\n  ]\n}\n",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "contentType": "raw",
        "authentication": "predefinedCredentialType",
        "rawContentType": "application/json",
        "nodeCredentialType": "googleSheetsOAuth2Api"
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "qEgp5kyhWuhE456l",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "ad5a0bd0-81d8-46e8-8e2a-3e2cce0a8be1",
      "name": "订单已创建",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -432,
        160
      ],
      "webhookId": "0ad91e1c-4e03-499c-9376-c096c30a354d",
      "parameters": {
        "path": "0ad91e1c-4e03-499c-9376-c096c30a354d",
        "options": {},
        "httpMethod": "POST"
      },
      "typeVersion": 2.1
    },
    {
      "id": "4e47467b-2dcf-4837-bb83-557ceae7e58f",
      "name": "条件判断",
      "type": "n8n-nodes-base.if",
      "position": [
        464,
        160
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "loose"
          },
          "combinator": "or",
          "conditions": [
            {
              "id": "ef13dc32-becb-4456-b67e-1820c057817b",
              "operator": {
                "type": "boolean",
                "operation": "true",
                "singleValue": true
              },
              "leftValue": "={{\n  (() => {\n    const target = String($node[\"Generate Sheet Name\"].json[\"Sheet name\"] ?? \"\")\n      .replace(/[\\r\\n\\u2028\\u2029]/g,\"\").replace(/\\\\n/g,\"\").trim();\n\n    const titles = ($node[\"Get Order Sheets metadata\"].json.sheets || [])\n      .map(s => String(s.properties?.title ?? \"\")\n        .replace(/[\\r\\n\\u2028\\u2029]/g,\"\").replace(/\\\\n/g,\"\").trim());\n\n    return titles.includes(target);   // <-- boolean\n  })()\n}}",
              "rightValue": true
            }
          ]
        },
        "looseTypeValidation": true
      },
      "typeVersion": 2.2
    },
    {
      "id": "7289baf5-cd38-48b2-923e-b98b48f95468",
      "name": "Google Sheets 行值",
      "type": "n8n-nodes-base.set",
      "position": [
        1360,
        256
      ],
      "parameters": {
        "values": {
          "number": [
            {
              "name": "Date",
              "value": "={{\n  (() => {\n    const tz='Asia/Kolkata';\n    const d = new Date($('Order created').item.json.body.updated_at);\n    const y = +d.toLocaleString('en-US',{year:'numeric',  timeZone:tz});\n    const m = +d.toLocaleString('en-US',{month:'2-digit', timeZone:tz});\n    const day = +d.toLocaleString('en-US',{day:'2-digit', timeZone:tz});\n    const serial = Date.UTC(y, m-1, day) / 86400000 + 25569;\n    return Math.round(serial * 1e5) / 1e5;   // number; no leading apostrophe\n  })()\n}}"
            }
          ],
          "string": [
            {
              "name": "OrderName",
              "value": "={{\n  (( $('Order created').item.json.body.line_items ?? $json.line_items) || [])\n    .map(li => {\n      const t = (li.name ?? '').trim();\n      const q = Number(li.quantity ?? 1);\n      return `${t}${q>1 ? ' x'+q : ''}`;\n    })\n    .filter(Boolean)\n    .join('\\n')\n}}"
            },
            {
              "name": "PaymentMode",
              "value": "={{   (() => {     const s = String($('Order created').item.json.body.financial_status ?? '');      if (s === 'paid') return 'Prepaid';     if (s === \"partially_paid\") return 'COD';     if (s === \"voided\") return 'voided';     return s;   })() }}"
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 2
    },
    {
      "id": "6f268d17-bfe3-4ac6-a18a-ecff9d258733",
      "name": "生成工作表名称",
      "type": "n8n-nodes-base.set",
      "position": [
        240,
        160
      ],
      "parameters": {
        "values": {
          "string": [
            {
              "name": "Sheet name",
              "value": "={{\n  ( () => {\n    const tz = 'Asia/Kolkata';\n    const d  = new Date(); // or new Date($json.date || Date.now())\n    const MONTH = d.toLocaleString('en-US', { month: 'long', timeZone: tz }).toUpperCase();\n    const YY    = String(d.getFullYear()).slice(-2);\n     const raw   = `${MONTH} ORDERS'${YY}`;\n    // remove real newlines \\n or \\r, literal \"\\n\", and any stray unicode line separators\n   return raw.split(/(?:\\r?\\n|\\\\n|[\\u2028\\u2029])/)[0].trim();\n  })()\n}}\n"
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 2
    },
    {
      "id": "8e2059e0-3412-4fba-a629-b627d90814f2",
      "name": "Google Sheets 现有行值",
      "type": "n8n-nodes-base.set",
      "position": [
        688,
        64
      ],
      "parameters": {
        "values": {
          "number": [
            {
              "name": "Date",
              "value": "={{\n  (() => {\n    const tz='Asia/Kolkata';\n    const d = new Date($('Order created').item.json.body.updated_at);\n    const y = +d.toLocaleString('en-US',{year:'numeric',  timeZone:tz});\n    const m = +d.toLocaleString('en-US',{month:'2-digit', timeZone:tz});\n    const day = +d.toLocaleString('en-US',{day:'2-digit', timeZone:tz});\n    const serial = Date.UTC(y, m-1, day) / 86400000 + 25569;\n    return Math.round(serial * 1e5) / 1e5;   // number; no leading apostrophe\n  })()\n}}"
            }
          ],
          "string": [
            {
              "name": "OrderName",
              "value": "={{\n  (( $('Order created').item.json.body.line_items ?? $json.line_items) || [])\n    .map(li => {\n      const t = (li.name ?? '').trim();\n      const q = Number(li.quantity ?? 1);\n      return `${t}${q>1 ? ' x'+q : ''}`;\n    })\n    .filter(Boolean)\n    .join('\\n')\n}}"
            },
            {
              "name": "PaymentMode",
              "value": "={{   (() => {     const s = String($('Order created').item.json.body.financial_status ?? '');      \nif (s === 'paid') \nreturn 'Prepaid';     if (s === \"partially_paid\") return 'COD';     if (s === \"voided\") return 'voided';     return s;   })() }}"
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 2
    },
    {
      "id": "d068bf77-aecd-4a12-a969-b880d9912b7d",
      "name": "设置工作表起始行列",
      "type": "n8n-nodes-base.set",
      "position": [
        688,
        256
      ],
      "parameters": {
        "values": {
          "string": [
            {
              "name": "Sheet Starting Row Col",
              "value": "={{\n  (() => {\n    // take whatever you stored earlier as \"Sheet name\"\n    const raw = String($json['Sheet name'] ?? '');\n\n    // 1) remove real line breaks + literal \"\\n\"\n    const clean = raw\n      .replace(/[\\r\\n\\u2028\\u2029]/g, '')  // real newlines\n      .replace(/\\\\n/g, '')                 // literal backslash+n\n      .trim();\n\n    // 2) escape apostrophes for A1 and wrap in single quotes\n    const quoted = `'${ clean.replace(/'/g, \"''\") }'`;\n\n    // 3) return A1 range\n    return `${quoted}!A1`;\n  })()\n}}"
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 2
    },
    {
      "id": "cdbf4821-1a28-410b-8811-3cf94aec8acc",
      "name": "获取订单工作表元数据",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        16,
        160
      ],
      "parameters": {
        "url": "=https://sheets.googleapis.com/v4/spreadsheets/{{$json.spreadsheetId}}?fields=sheets.properties.title",
        "options": {},
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "googleSheetsOAuth2Api"
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "qEgp5kyhWuhE456l",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "4dcf159b-4292-462d-9df9-2c7b27a2beae",
      "name": "追加到现有订单工作表",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        912,
        64
      ],
      "parameters": {
        "columns": {
          "value": {
            "Date": "={{ $json.Date }}",
            "Order": "={{ $json.OrderName }}",
            "Status": "={{ \"Not Shipped\" }}",
            "OrderId": "={{ $('Config (set spreadsheetId)').item.json.body.name }}",
            "Order Value": "={{ $('Order created').item.json.body.current_total_price }}",
            "Customer Name": "={{ $('Order created').item.json.body.billing_address.name }}"
          },
          "schema": [
            {
              "id": "OrderId",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "OrderId",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Date",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Customer Name",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Customer Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Order",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Order",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Order Value",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Order Value",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Payment mode",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Payment mode",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Packing status",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Packing status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Remittance status",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Remittance status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Confirmation",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Confirmation",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "name",
          "value": "={{ $('Generate Sheet Name').item.json['Sheet name'].replace(/(?:\\r?\\n|\\\\n)+$/,'').trimEnd() }}"
        },
        "documentId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('Config (set spreadsheetId)').item.json.spreadsheetId }}"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "qEgp5kyhWuhE456l",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4
    },
    {
      "id": "5a05849a-d37c-4411-8146-6213bdd78210",
      "name": "追加到订单工作表",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1584,
        256
      ],
      "parameters": {
        "columns": {
          "value": {
            "Date": "={{ $json.Date }}",
            "Order": "={{ $json.OrderName }}",
            "Status": "={{ \"Not Shipped\" }}",
            "OrderId": "={{ $('Config (set spreadsheetId)').item.json.body.name }}",
            "Order Value": "={{ $('Order created').item.json.body.current_total_price }}",
            "Customer Name": "={{ $('Order created').item.json.body.billing_address.name }}"
          },
          "schema": [
            {
              "id": "OrderId",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "OrderId",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Date",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Customer Name",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Customer Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Order",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Order",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Order Value",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Order Value",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Payment mode",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Payment mode",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Packing status",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Packing status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Remittance status",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Remittance status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Confirmation",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Confirmation",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "name",
          "value": "={{ $('Generate Sheet Name').item.json['Sheet name'].replace(/(?:\\r?\\n|\\\\n)+$/,'').trimEnd()}}"
        },
        "documentId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $json.spreadsheetId }}"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "qEgp5kyhWuhE456l",
          "name": "N8n Google Sheets account"
        }
      },
      "typeVersion": 4
    },
    {
      "id": "aaca5f17-a1cf-449d-b322-7af562087bd1",
      "name": "便签 2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -960,
        64
      ],
      "parameters": {
        "color": 3,
        "width": 460,
        "height": 328,
        "content": "## 输入"
      },
      "typeVersion": 1
    },
    {
      "id": "80d21450-be10-426a-a5e9-12a93473cec8",
      "name": "便签 1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -304,
        0
      ],
      "parameters": {
        "width": 272,
        "height": 144,
        "content": "### 更新您的 Google 电子表格 ID"
      },
      "typeVersion": 1
    },
    {
      "id": "b9fe7e61-3f90-404c-9a07-661bdbb83f9a",
      "name": "便签 3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -64,
        336
      ],
      "parameters": {
        "width": 352,
        "height": 240,
        "content": "### 获取现有工作表详情"
      },
      "typeVersion": 1
    },
    {
      "id": "4f0222b4-b959-458c-ae58-82e204eb451e",
      "name": "便签 4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1808,
        0
      ],
      "parameters": {
        "color": 4,
        "width": 672,
        "height": 560,
        "content": "## 输出"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "c27e7ae9-6acb-47cb-bd20-1ac84b127e76",
  "connections": {
    "If": {
      "main": [
        [
          {
            "node": "Google Sheets Row values existing",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Set Sheet Starting row col",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Order created": {
      "main": [
        [
          {
            "node": "Config (set spreadsheetId)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create Month Sheet": {
      "main": [
        [
          {
            "node": "Write Headers (A1:I1)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate Sheet Name": {
      "main": [
        [
          {
            "node": "If",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Write Headers (A1:I1)": {
      "main": [
        [
          {
            "node": "Google Sheets Row values",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets Row values": {
      "main": [
        [
          {
            "node": "Append to Orders Sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Order Sheets metadata": {
      "main": [
        [
          {
            "node": "Generate Sheet Name",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Config (set spreadsheetId)": {
      "main": [
        [
          {
            "node": "Get Order Sheets metadata",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Sheet Starting row col": {
      "main": [
        [
          {
            "node": "Create Month Sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets Row values existing": {
      "main": [
        [
          {
            "node": "Append to Existing Orders Sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

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

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

高级 - 客户关系管理, 杂项, 多模态 AI

需要付费吗?

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

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

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

外部链接
在 n8n.io 查看

分享此工作流