8
n8n 中文网amn8n.com

对比页面工作流

高级

这是一个Content Creation, Multimodal AI领域的自动化工作流,包含 50 个节点。主要使用 Code, Merge, HttpRequest, GoogleSheets, ManualTrigger 等节点。 使用OpenAI和Google Sheets自动生成产品对比页面

前置要求
  • 可能需要目标 API 的认证凭证
  • Google Sheets API 凭证
  • OpenAI API Key
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "id": "UpNXeGPDsa1GIWMw",
  "meta": {
    "instanceId": "c87a766eb8ed4a39121cf119a5038250a8ca0a11ed90cdd244f6beb7336758b3",
    "templateCredsSetupCompleted": true
  },
  "name": "对比页面工作流",
  "tags": [],
  "nodes": [
    {
      "id": "d7025bd7-197d-4c0d-949c-9b5f8f5c2c66",
      "name": "便签2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        120,
        -160
      ],
      "parameters": {
        "color": 4,
        "height": 220,
        "content": "提供商及其概览"
      },
      "typeVersion": 1
    },
    {
      "id": "176b92ac-d8b7-4198-b6cf-ca9014d1192b",
      "name": "便签3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        120,
        100
      ],
      "parameters": {
        "color": 4,
        "height": 200,
        "content": "功能特性"
      },
      "typeVersion": 1
    },
    {
      "id": "8c4fc5ad-ca65-4305-8162-b97c9ad04026",
      "name": "便签4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        120,
        340
      ],
      "parameters": {
        "color": 4,
        "height": 200,
        "content": "定价"
      },
      "typeVersion": 1
    },
    {
      "id": "88f9d6b7-f61c-401f-8edc-6ec0eb02fa30",
      "name": "便签5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -540,
        -1380
      ],
      "parameters": {
        "color": 3,
        "width": 3040,
        "height": 2420,
        "content": "产品对比页面"
      },
      "typeVersion": 1
    },
    {
      "id": "7cf7b91f-b5ec-4145-b569-4e4bab58c0e1",
      "name": "AI Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        760,
        -460
      ],
      "parameters": {
        "text": "=This is an overview of: {{ $json.Overview }}\n\nYou are an expert copywriter for a comparison site. \n\nUse this information to write a unique introductory paragraph for the page titled: {{ $('Code1').item.json.name }}. The intro should be engaging, informative, and briefly explain what makes this comparison interesting or relevant to travelers looking for an eSIM. Avoid generic language. Mention specific strengths or positioning of each provider when introducing them. Make the language easily readable and use basic vocabulary.",
        "options": {},
        "promptType": "define"
      },
      "typeVersion": 1.9
    },
    {
      "id": "f89ab3f6-163e-4139-b8f7-c023304b4486",
      "name": "OpenAI 聊天模型",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        760,
        -340
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "HIKBWjUjcycw5pnA",
          "name": "OpenAi account 2"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "e50e2a07-bb82-47f8-8f86-34dc52f9ee8c",
      "name": "简单记忆",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        880,
        -340
      ],
      "parameters": {
        "sessionKey": "=intro-{{ $json.Provider }}",
        "sessionIdType": "customKey"
      },
      "typeVersion": 1.3
    },
    {
      "id": "d18ba028-a902-486f-b36b-38ffb4bb57f8",
      "name": "便签6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1620,
        -240
      ],
      "parameters": {
        "color": 4,
        "width": 800,
        "height": 360,
        "content": "条条大路通罗马"
      },
      "typeVersion": 1
    },
    {
      "id": "b3ccd911-27ad-49fc-9913-027c03920715",
      "name": "便签7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        620,
        100
      ],
      "parameters": {
        "color": 5,
        "width": 620,
        "height": 360,
        "content": "对比表格"
      },
      "typeVersion": 1
    },
    {
      "id": "05698cec-baa0-4983-85de-b23dd8c00e8b",
      "name": "便签8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        620,
        -860
      ],
      "parameters": {
        "color": 5,
        "width": 620,
        "height": 340,
        "content": "产品激活流程"
      },
      "typeVersion": 1
    },
    {
      "id": "94860e6e-4517-49e7-958a-84737bd399eb",
      "name": "便签9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        620,
        480
      ],
      "parameters": {
        "color": 5,
        "width": 620,
        "height": 440,
        "content": "用户评分"
      },
      "typeVersion": 1
    },
    {
      "id": "ffe18bcb-c8f4-4e1f-b82c-bb821e3e1827",
      "name": "便签10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        620,
        -1180
      ],
      "parameters": {
        "color": 5,
        "width": 620,
        "height": 300,
        "content": "常见问题解答"
      },
      "typeVersion": 1
    },
    {
      "id": "73c46227-4fbf-4a69-af6c-19af6067968d",
      "name": "便利贴11",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        620,
        -500
      ],
      "parameters": {
        "color": 5,
        "width": 620,
        "height": 300,
        "content": "产品概览"
      },
      "typeVersion": 1
    },
    {
      "id": "c274d098-918c-43e5-87cc-aa13ab5f3bce",
      "name": "Google Sheets6",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1340,
        -460
      ],
      "parameters": {
        "columns": {
          "value": {
            "Intro": "={{ $json.output }}"
          },
          "schema": [
            {
              "id": "Provider",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Provider",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Intro",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Intro",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1416889088,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/17fG29HKhQMZKZVIJgFNBKqA5zyIGV_RFw9axiG0k1dQ/edit#gid=1416889088",
          "cachedResultName": "Test data 1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "17fG29HKhQMZKZVIJgFNBKqA5zyIGV_RFw9axiG0k1dQ",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/17fG29HKhQMZKZVIJgFNBKqA5zyIGV_RFw9axiG0k1dQ/edit?usp=drivesdk",
          "cachedResultName": "Programmatic SEO of Truely vs. pages"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "Nos9qO5bcL3vdPcg",
          "name": "Google Sheets account 4"
        }
      },
      "retryOnFail": true,
      "typeVersion": 4.5
    },
    {
      "id": "8f4fcd17-205b-42b7-b9f8-09ed913ffe63",
      "name": "AI Agent1",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        880,
        180
      ],
      "parameters": {
        "text": "=Take in this information about:-  {{ $json.Features }},{{ $json.Pricing }}\n\nPage Title: {{ $('Code1').item.json.name }}\n\nYour tone should be easy to read, neutral, and informative — imagine you’re helping a traveler quickly decide which provider is better for them.\n\n\n---\n\n**Write a comparison table** with clear, distinct rows that compare both products across relevant categories. Make sure each row focuses on what a user would care about most when choosing between them.\n\nUse only what’s relevant based on the overview data and general context. Be concise but helpful in every row.\n\nRemember, I only need the table as output, nothing else\n",
        "options": {},
        "promptType": "define"
      },
      "typeVersion": 1.9
    },
    {
      "id": "591621c9-9ae5-4028-9724-e452533f4d67",
      "name": "合并",
      "type": "n8n-nodes-base.merge",
      "position": [
        700,
        220
      ],
      "parameters": {
        "mode": "combine",
        "options": {
          "includeUnpaired": true
        },
        "combineBy": "combineByPosition",
        "numberInputs": 3
      },
      "typeVersion": 3.1
    },
    {
      "id": "ad0abe47-08cd-4103-a75b-a3938292e0d2",
      "name": "OpenAI 聊天模型1",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        880,
        340
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "HIKBWjUjcycw5pnA",
          "name": "OpenAi account 2"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "700cca6b-9e3d-4158-81a5-c8c86bd425e6",
      "name": "Simple Memory1",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        980,
        340
      ],
      "parameters": {
        "sessionKey": "={{ $json.Comparison }}",
        "sessionIdType": "customKey"
      },
      "typeVersion": 1.3
    },
    {
      "id": "5d05d7b0-6b2a-4155-b3ea-923bed52c23d",
      "name": "Google Sheets7",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1340,
        180
      ],
      "parameters": {
        "columns": {
          "value": {
            "Comparison Table": "={{ $json.output }}"
          },
          "schema": [
            {
              "id": "Provider",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Provider",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Intro",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Intro",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Comparison Table",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Comparison Table",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1416889088,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/17fG29HKhQMZKZVIJgFNBKqA5zyIGV_RFw9axiG0k1dQ/edit#gid=1416889088",
          "cachedResultName": "Test data 1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "17fG29HKhQMZKZVIJgFNBKqA5zyIGV_RFw9axiG0k1dQ",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/17fG29HKhQMZKZVIJgFNBKqA5zyIGV_RFw9axiG0k1dQ/edit?usp=drivesdk",
          "cachedResultName": "Programmatic SEO of Truely vs. pages"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "Nos9qO5bcL3vdPcg",
          "name": "Google Sheets account 4"
        }
      },
      "retryOnFail": true,
      "typeVersion": 4.5
    },
    {
      "id": "8a33fce0-c50a-4e7e-94f4-696e31a3f14a",
      "name": "AI Agent2",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        760,
        -820
      ],
      "parameters": {
        "text": "=Write a product learning curve comparison paragraph for  {{ $json['Product Vs. Dynamic'] }}\n\nWrite in simple vocabulary and make sure you provide accurate info of the activation process of each provider\n\nThe output should only contain the activation process text, nothing else",
        "options": {},
        "promptType": "define"
      },
      "typeVersion": 1.9
    },
    {
      "id": "858cc1d9-47cc-45b4-b14a-2bc177e69e4c",
      "name": "OpenAI 聊天模型2",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        760,
        -660
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1",
          "cachedResultName": "gpt-4.1"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "HIKBWjUjcycw5pnA",
          "name": "OpenAi account 2"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "1951eb45-e401-4516-bb64-c5090dcfad17",
      "name": "简单记忆2",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        920,
        -660
      ],
      "parameters": {
        "sessionKey": "={{ $json.providers }}",
        "sessionIdType": "customKey"
      },
      "typeVersion": 1.3
    },
    {
      "id": "cf94400a-59b6-49ab-9785-6c9e2db1b22e",
      "name": "Google Sheets8",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1340,
        -820
      ],
      "parameters": {
        "columns": {
          "value": {
            "eSIM Activation": "={{ $json.output }}"
          },
          "schema": [
            {
              "id": "Provider",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Provider",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Intro",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Intro",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Comparison Table",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Comparison Table",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "eSIM Activation",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "eSIM Activation",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1416889088,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/17fG29HKhQMZKZVIJgFNBKqA5zyIGV_RFw9axiG0k1dQ/edit#gid=1416889088",
          "cachedResultName": "Test data 1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "17fG29HKhQMZKZVIJgFNBKqA5zyIGV_RFw9axiG0k1dQ",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/17fG29HKhQMZKZVIJgFNBKqA5zyIGV_RFw9axiG0k1dQ/edit?usp=drivesdk",
          "cachedResultName": "Programmatic SEO of Truely vs. pages"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "Nos9qO5bcL3vdPcg",
          "name": "Google Sheets account 4"
        }
      },
      "retryOnFail": true,
      "typeVersion": 4.5
    },
    {
      "id": "781d63d8-9ccd-4bd0-8f8e-2cdf941b9c1d",
      "name": "功能特性",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        180,
        140
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 671004843,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1s70R1Djw3nCdqQdz8nOE_r3oDSNwbcVzg6wpSo0kDCk/edit#gid=671004843",
          "cachedResultName": "[[DATA]] Features Data"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1s70R1Djw3nCdqQdz8nOE_r3oDSNwbcVzg6wpSo0kDCk",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1s70R1Djw3nCdqQdz8nOE_r3oDSNwbcVzg6wpSo0kDCk/edit?usp=drivesdk",
          "cachedResultName": "THE KRANES Product Comparison page template "
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "gPEEiziU0kLV5lvj",
          "name": "Google Sheets account 3"
        }
      },
      "retryOnFail": true,
      "typeVersion": 4.5
    },
    {
      "id": "978478ae-8de9-4892-9364-5eafa8d47d27",
      "name": "定价",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        180,
        380
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1708880266,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1s70R1Djw3nCdqQdz8nOE_r3oDSNwbcVzg6wpSo0kDCk/edit#gid=1708880266",
          "cachedResultName": "[[DATA]] Product Pricing"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1s70R1Djw3nCdqQdz8nOE_r3oDSNwbcVzg6wpSo0kDCk",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1s70R1Djw3nCdqQdz8nOE_r3oDSNwbcVzg6wpSo0kDCk/edit?usp=drivesdk",
          "cachedResultName": "THE KRANES Product Comparison page template "
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "gPEEiziU0kLV5lvj",
          "name": "Google Sheets account 3"
        }
      },
      "retryOnFail": true,
      "typeVersion": 4.5
    },
    {
      "id": "e5f5d687-8d8d-4362-af2d-0d850f589c39",
      "name": "产品",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -260,
        -100
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 784599460,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1s70R1Djw3nCdqQdz8nOE_r3oDSNwbcVzg6wpSo0kDCk/edit#gid=784599460",
          "cachedResultName": "[[DATA]] Products"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1s70R1Djw3nCdqQdz8nOE_r3oDSNwbcVzg6wpSo0kDCk",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1s70R1Djw3nCdqQdz8nOE_r3oDSNwbcVzg6wpSo0kDCk/edit?usp=drivesdk",
          "cachedResultName": "THE KRANES Product Comparison page template "
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "gPEEiziU0kLV5lvj",
          "name": "Google Sheets account 3"
        }
      },
      "retryOnFail": true,
      "typeVersion": 4.5
    },
    {
      "id": "3dcc7d9e-a147-4481-8424-8a8822ce07f9",
      "name": "产品概览",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        180,
        -100
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1692888920,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1s70R1Djw3nCdqQdz8nOE_r3oDSNwbcVzg6wpSo0kDCk/edit#gid=1692888920",
          "cachedResultName": "[[DATA]] Product Overview"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1s70R1Djw3nCdqQdz8nOE_r3oDSNwbcVzg6wpSo0kDCk",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1s70R1Djw3nCdqQdz8nOE_r3oDSNwbcVzg6wpSo0kDCk/edit?usp=drivesdk",
          "cachedResultName": "THE KRANES Product Comparison page template "
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "gPEEiziU0kLV5lvj",
          "name": "Google Sheets account 3"
        }
      },
      "retryOnFail": true,
      "typeVersion": 4.5
    },
    {
      "id": "93396c42-2b80-4e9a-9344-e680c42c2a25",
      "name": "便签12",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        120,
        580
      ],
      "parameters": {
        "color": 4,
        "height": 240,
        "content": "用户评分数据"
      },
      "typeVersion": 1
    },
    {
      "id": "fc81db8e-52db-49df-9e10-537d1f1fe1ca",
      "name": "用户评分",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        180,
        640
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 76885548,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1s70R1Djw3nCdqQdz8nOE_r3oDSNwbcVzg6wpSo0kDCk/edit#gid=76885548",
          "cachedResultName": "[[DATA]] Product User Reviews"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1s70R1Djw3nCdqQdz8nOE_r3oDSNwbcVzg6wpSo0kDCk",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1s70R1Djw3nCdqQdz8nOE_r3oDSNwbcVzg6wpSo0kDCk/edit?usp=drivesdk",
          "cachedResultName": "THE KRANES Product Comparison page template "
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "gPEEiziU0kLV5lvj",
          "name": "Google Sheets account 3"
        }
      },
      "retryOnFail": true,
      "typeVersion": 4.5
    },
    {
      "id": "bc807d1b-5fd6-496a-bd23-f31fcde62574",
      "name": "用户评分生成器",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        800,
        620
      ],
      "parameters": {
        "text": "=I want you to create a user review comparison table of \n\nTake info from this user review data: {{ $json['User Rating Summary'] }}\n\nI want the table to be easy to read and concise\n\nThe output should only contain the table, nothing else",
        "options": {},
        "promptType": "define"
      },
      "typeVersion": 1.9
    },
    {
      "id": "029d13ab-2920-4d0f-8538-b10593282e6b",
      "name": "OpenAI 聊天模型3",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        800,
        760
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "HIKBWjUjcycw5pnA",
          "name": "OpenAi account 2"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "94d9e455-7d79-4237-827e-8e54758edeff",
      "name": "简单记忆3",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        920,
        780
      ],
      "parameters": {
        "sessionKey": "={{ $json.providers }}",
        "sessionIdType": "customKey"
      },
      "typeVersion": 1.3
    },
    {
      "id": "d5bb7fcc-bdf7-4611-ac8f-87aeff58f6a5",
      "name": "Google Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1340,
        620
      ],
      "parameters": {
        "columns": {
          "value": {
            "User Ratings": "={{ $json.output }}"
          },
          "schema": [
            {
              "id": "Provider",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Provider",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Intro",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Intro",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Comparison Table",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Comparison Table",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "eSIM Activation",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "eSIM Activation",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "User Ratings",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "User Ratings",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1416889088,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/17fG29HKhQMZKZVIJgFNBKqA5zyIGV_RFw9axiG0k1dQ/edit#gid=1416889088",
          "cachedResultName": "Test data 1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "17fG29HKhQMZKZVIJgFNBKqA5zyIGV_RFw9axiG0k1dQ",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/17fG29HKhQMZKZVIJgFNBKqA5zyIGV_RFw9axiG0k1dQ/edit?usp=drivesdk",
          "cachedResultName": "Programmatic SEO of Truely vs. pages"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "Nos9qO5bcL3vdPcg",
          "name": "Google Sheets account 4"
        }
      },
      "retryOnFail": true,
      "typeVersion": 4.5
    },
    {
      "id": "5c58713d-b435-4dea-b0a1-d827ffbcd088",
      "name": "AI 代理 3",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        780,
        -1140
      ],
      "parameters": {
        "text": "=Write an FAQ section for:  {{ $json['Product Vs. Dynamic'] }}\n\nNote: If one of the provider is Truely, make sure to write it in a convincing way so that the reader thinks Truely is more popular\n\nThe output should only contain the FAQ text, nothing else",
        "options": {},
        "promptType": "define"
      },
      "typeVersion": 1.9
    },
    {
      "id": "682b3409-edeb-4fee-b034-17c495e0a329",
      "name": "OpenAI 聊天模型4",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        780,
        -1000
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "HIKBWjUjcycw5pnA",
          "name": "OpenAi account 2"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "b0624bce-d72c-486e-b3d0-15b3235518a8",
      "name": "Simple Memory4",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        940,
        -1000
      ],
      "parameters": {
        "sessionKey": "={{ $json['Product Vs. Dynamic'] }}",
        "sessionIdType": "customKey"
      },
      "typeVersion": 1.3
    },
    {
      "id": "e710caf6-d6a5-4bec-ad6b-01b1837b3b45",
      "name": "Google Sheets1",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1340,
        -1140
      ],
      "parameters": {
        "columns": {
          "value": {
            "User Ratings": "={{ $json.output }}"
          },
          "schema": [
            {
              "id": "Provider",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Provider",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Intro",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Intro",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Comparison Table",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Comparison Table",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "eSIM Activation",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "eSIM Activation",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "User Ratings",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "User Ratings",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1416889088,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/17fG29HKhQMZKZVIJgFNBKqA5zyIGV_RFw9axiG0k1dQ/edit#gid=1416889088",
          "cachedResultName": "Test data 1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "17fG29HKhQMZKZVIJgFNBKqA5zyIGV_RFw9axiG0k1dQ",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/17fG29HKhQMZKZVIJgFNBKqA5zyIGV_RFw9axiG0k1dQ/edit?usp=drivesdk",
          "cachedResultName": "Programmatic SEO of Truely vs. pages"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "Nos9qO5bcL3vdPcg",
          "name": "Google Sheets account 4"
        }
      },
      "retryOnFail": true,
      "typeVersion": 4.5
    },
    {
      "id": "5f155698-23dc-4930-bfe0-a5ac4efa1cf6",
      "name": "Dorik CMS",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2220,
        -120
      ],
      "parameters": {
        "url": "https://api.cmsfly.com/api/v1/collections/6855985e93afef001268bfbb/items",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "sendHeaders": true,
        "authentication": "genericCredentialType",
        "bodyParameters": {
          "parameters": [
            {
              "name": "=name",
              "value": "={{ $json.name }}"
            },
            {
              "name": "slug",
              "value": "={{ $json.slug }}"
            },
            {
              "name": "htmlContent",
              "value": "={{ $json.htmlContent }}"
            }
          ]
        },
        "genericAuthType": "httpHeaderAuth",
        "headerParameters": {
          "parameters": [
            {
              "name": "X-Dorik-Key",
              "value": "1307e09d45ad0db928ce567ef171fca3c05468437016d13af170075ef058024b"
            }
          ]
        }
      },
      "credentials": {
        "httpHeaderAuth": {
          "id": "4Hzemqi0UYcjm8Kx",
          "name": "Header Auth account"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "58da9b60-21a7-4f66-a805-7c16090fb503",
      "name": "代码",
      "type": "n8n-nodes-base.code",
      "position": [
        2020,
        -120
      ],
      "parameters": {
        "jsCode": "const provider = $json[\"Provider vs.\"];\nconst slug = provider.toLowerCase().replace(/\\s+/g, \"-\");\n\nconst safe = (v) => v || \"\";\n\nreturn [{\n  json: {\n    name: provider,\n    slug,\n    htmlContent: `\n      <h1>${safe(provider)}</h1>\n      <section>${safe($json.Intro)}</section>\n      <section>${safe($json[\"Comparison Table\"])}</section>\n      <section>${safe($json[\"eSIM Activation\"])}</section>\n      <section>${safe($json[\"User Ratings\"])}</section>\n      <section>${safe($json.FAQs)}</section>\n    `\n  }\n}];\n"
      },
      "typeVersion": 2
    },
    {
      "id": "e4dda855-3b3a-4013-8f5c-d3a3c0513e86",
      "name": "合并2",
      "type": "n8n-nodes-base.merge",
      "position": [
        1800,
        -180
      ],
      "parameters": {
        "mode": "combine",
        "options": {},
        "combineBy": "combineByPosition",
        "numberInputs": 6
      },
      "typeVersion": 3.1
    },
    {
      "id": "309c7d10-bd75-4451-b8f3-9dc273beb693",
      "name": "代码1",
      "type": "n8n-nodes-base.code",
      "position": [
        -120,
        -100
      ],
      "parameters": {
        "jsCode": "// Extract product names from the \"All Products\" column\nconst productNames = $input.all().map(item => item.json[\"All Products\"]).filter(Boolean);\n\nconst pairs = [];\n\nfor (let i = 0; i < productNames.length; i++) {\n  for (let j = i + 1; j < productNames.length; j++) {\n    const name = `${productNames[i]} vs ${productNames[j]}`;\n    const slug = name.toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-|-$/g, '');\n    pairs.push({\n      json: {\n        name,\n        slug,\n        product1: productNames[i],\n        product2: productNames[j]\n      }\n    });\n  }\n}\n\nreturn pairs;\n"
      },
      "typeVersion": 2
    },
    {
      "id": "c6ff7fe1-d26d-4bb2-8099-ea2391fbe9cf",
      "name": "名称和别名",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1340,
        -100
      ],
      "parameters": {
        "columns": {
          "value": {
            "slug": "={{ $json.slug }}",
            "Product Vs. Dynamic": "={{ $json.name }}"
          },
          "schema": [
            {
              "id": "All Products",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "All Products",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Product Vs. Dynamic",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Product Vs. Dynamic",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "slug",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "slug",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "All Products"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 784599460,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1s70R1Djw3nCdqQdz8nOE_r3oDSNwbcVzg6wpSo0kDCk/edit#gid=784599460",
          "cachedResultName": "[[DATA]] Products"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1s70R1Djw3nCdqQdz8nOE_r3oDSNwbcVzg6wpSo0kDCk",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1s70R1Djw3nCdqQdz8nOE_r3oDSNwbcVzg6wpSo0kDCk/edit?usp=drivesdk",
          "cachedResultName": "THE KRANES Product Comparison page template "
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "gPEEiziU0kLV5lvj",
          "name": "Google Sheets account 3"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "7b688c38-8578-41ce-9360-b6d88c3b0ca8",
      "name": "便签14",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1260,
        -1180
      ],
      "parameters": {
        "color": 6,
        "width": 280,
        "height": 2100,
        "content": "组装"
      },
      "typeVersion": 1
    },
    {
      "id": "293af7a5-f2c2-4570-af5c-72156b3d7cfd",
      "name": "便签13",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1340,
        -1240
      ],
      "parameters": {
        "width": 720,
        "height": 320,
        "content": "# 🧠 使用 AI 和 Google Sheets 生成 SEO 产品对比"
      },
      "typeVersion": 1
    },
    {
      "id": "7bb2f478-6299-46aa-ad02-eb4e19f2b62d",
      "name": "便签15",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1340,
        -880
      ],
      "parameters": {
        "width": 720,
        "height": 300,
        "content": "## ✅ 步骤 1 – GOOGLE SHEET 设置"
      },
      "typeVersion": 1
    },
    {
      "id": "2a3538a2-6b82-4f94-9fb6-77f2d24ffc00",
      "name": "便签 16",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1340,
        -540
      ],
      "parameters": {
        "width": 720,
        "height": 360,
        "content": "## 🔁 步骤 2 – 组合产品生成\"对比\"配对"
      },
      "typeVersion": 1
    },
    {
      "id": "064df6de-be16-4129-971c-88a7465b4d6b",
      "name": "便签17",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1340,
        -120
      ],
      "parameters": {
        "width": 720,
        "height": 320,
        "content": "## 💬 步骤 3 – 使用 AI 生成内容"
      },
      "typeVersion": 1
    },
    {
      "id": "46bbd6f6-eda4-4b0a-9b2d-dcaa857d280b",
      "name": "便签",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1340,
        260
      ],
      "parameters": {
        "width": 720,
        "height": 300,
        "content": "## 🧱 步骤 4 – 构建最终 HTML 并发布"
      },
      "typeVersion": 1
    },
    {
      "id": "c4ee7dd6-e0b2-420d-9b4b-c5f0666cdebb",
      "name": "便签1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1340,
        640
      ],
      "parameters": {
        "width": 720,
        "height": 280,
        "content": "## 🕒 步骤 5 – 运行工作流"
      },
      "typeVersion": 1
    },
    {
      "id": "d5f14618-2796-4bd4-a054-b595cb24fbba",
      "name": "当点击\"测试工作流\"时",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -420,
        -100
      ],
      "parameters": {},
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "920d3061-29e9-41c6-bc8a-8c1a26030c97",
  "connections": {
    "Code": {
      "main": [
        [
          {
            "node": "Dorik CMS",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code1": {
      "main": [
        [
          {
            "node": "Product Overview",
            "type": "main",
            "index": 0
          },
          {
            "node": "Names and slugs",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge": {
      "main": [
        [
          {
            "node": "AI Agent1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge2": {
      "main": [
        [
          {
            "node": "Code",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Pricing": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 2
          }
        ]
      ]
    },
    "AI Agent": {
      "main": [
        [
          {
            "node": "Google Sheets6",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Features": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Products": {
      "main": [
        [
          {
            "node": "AI Agent2",
            "type": "main",
            "index": 0
          },
          {
            "node": "AI Agent3",
            "type": "main",
            "index": 0
          },
          {
            "node": "Code1",
            "type": "main",
            "index": 0
          },
          {
            "node": "Features",
            "type": "main",
            "index": 0
          },
          {
            "node": "Pricing",
            "type": "main",
            "index": 0
          },
          {
            "node": "User Ratings",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Agent1": {
      "main": [
        [
          {
            "node": "Google Sheets7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Agent2": {
      "main": [
        [
          {
            "node": "Google Sheets8",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Agent3": {
      "main": [
        [
          {
            "node": "Google Sheets1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "User Ratings": {
      "main": [
        [
          {
            "node": "User Ratings Maker",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets": {
      "main": [
        [
          {
            "node": "Merge2",
            "type": "main",
            "index": 5
          }
        ]
      ]
    },
    "Simple Memory": {
      "ai_memory": [
        [
          {
            "node": "AI Agent",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets1": {
      "main": [
        [
          {
            "node": "Merge2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets6": {
      "main": [
        [
          {
            "node": "Merge2",
            "type": "main",
            "index": 2
          }
        ]
      ]
    },
    "Google Sheets7": {
      "main": [
        [
          {
            "node": "Merge2",
            "type": "main",
            "index": 4
          }
        ]
      ]
    },
    "Google Sheets8": {
      "main": [
        [
          {
            "node": "Merge2",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Simple Memory1": {
      "ai_memory": [
        [
          {
            "node": "AI Agent1",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "Simple Memory2": {
      "ai_memory": [
        [
          {
            "node": "AI Agent2",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "Simple Memory3": {
      "ai_memory": [
        [
          {
            "node": "User Ratings Maker",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "Simple Memory4": {
      "ai_memory": [
        [
          {
            "node": "AI Agent3",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "Names and slugs": {
      "main": [
        [
          {
            "node": "Merge2",
            "type": "main",
            "index": 3
          }
        ]
      ]
    },
    "Product Overview": {
      "main": [
        [
          {
            "node": "AI Agent",
            "type": "main",
            "index": 0
          },
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model1": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent1",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model2": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent2",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model3": {
      "ai_languageModel": [
        [
          {
            "node": "User Ratings Maker",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model4": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent3",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "User Ratings Maker": {
      "main": [
        [
          {
            "node": "Google Sheets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking ‘Test workflow’": {
      "main": [
        [
          {
            "node": "Products",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

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

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

高级 - 内容创作, 多模态 AI

需要付费吗?

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

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

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

作者
Abrar Sami

Abrar Sami

@abrarsami

I love marketing automations

外部链接
在 n8n.io 查看

分享此工作流