使用OpenAI和Google Sheets自动生成产品对比页面
高级
这是一个Content Creation, Multimodal AI领域的自动化工作流,包含 50 个节点。主要使用 Code, Merge, HttpRequest, GoogleSheets, ManualTrigger 等节点。 使用OpenAI和Google Sheets自动生成产品对比页面
前置要求
- •可能需要目标 API 的认证凭证
- •Google Sheets API 凭证
- •OpenAI API Key
使用的节点 (50)
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 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": {
"58da9b60-21a7-4f66-a805-7c16090fb503": {
"main": [
[
{
"node": "5f155698-23dc-4930-bfe0-a5ac4efa1cf6",
"type": "main",
"index": 0
}
]
]
},
"309c7d10-bd75-4451-b8f3-9dc273beb693": {
"main": [
[
{
"node": "3dcc7d9e-a147-4481-8424-8a8822ce07f9",
"type": "main",
"index": 0
},
{
"node": "c6ff7fe1-d26d-4bb2-8099-ea2391fbe9cf",
"type": "main",
"index": 0
}
]
]
},
"591621c9-9ae5-4028-9724-e452533f4d67": {
"main": [
[
{
"node": "8f4fcd17-205b-42b7-b9f8-09ed913ffe63",
"type": "main",
"index": 0
}
]
]
},
"e4dda855-3b3a-4013-8f5c-d3a3c0513e86": {
"main": [
[
{
"node": "58da9b60-21a7-4f66-a805-7c16090fb503",
"type": "main",
"index": 0
}
]
]
},
"978478ae-8de9-4892-9364-5eafa8d47d27": {
"main": [
[
{
"node": "591621c9-9ae5-4028-9724-e452533f4d67",
"type": "main",
"index": 2
}
]
]
},
"7cf7b91f-b5ec-4145-b569-4e4bab58c0e1": {
"main": [
[
{
"node": "c274d098-918c-43e5-87cc-aa13ab5f3bce",
"type": "main",
"index": 0
}
]
]
},
"781d63d8-9ccd-4bd0-8f8e-2cdf941b9c1d": {
"main": [
[
{
"node": "591621c9-9ae5-4028-9724-e452533f4d67",
"type": "main",
"index": 1
}
]
]
},
"e5f5d687-8d8d-4362-af2d-0d850f589c39": {
"main": [
[
{
"node": "8a33fce0-c50a-4e7e-94f4-696e31a3f14a",
"type": "main",
"index": 0
},
{
"node": "5c58713d-b435-4dea-b0a1-d827ffbcd088",
"type": "main",
"index": 0
},
{
"node": "309c7d10-bd75-4451-b8f3-9dc273beb693",
"type": "main",
"index": 0
},
{
"node": "781d63d8-9ccd-4bd0-8f8e-2cdf941b9c1d",
"type": "main",
"index": 0
},
{
"node": "978478ae-8de9-4892-9364-5eafa8d47d27",
"type": "main",
"index": 0
},
{
"node": "fc81db8e-52db-49df-9e10-537d1f1fe1ca",
"type": "main",
"index": 0
}
]
]
},
"8f4fcd17-205b-42b7-b9f8-09ed913ffe63": {
"main": [
[
{
"node": "5d05d7b0-6b2a-4155-b3ea-923bed52c23d",
"type": "main",
"index": 0
}
]
]
},
"8a33fce0-c50a-4e7e-94f4-696e31a3f14a": {
"main": [
[
{
"node": "cf94400a-59b6-49ab-9785-6c9e2db1b22e",
"type": "main",
"index": 0
}
]
]
},
"5c58713d-b435-4dea-b0a1-d827ffbcd088": {
"main": [
[
{
"node": "e710caf6-d6a5-4bec-ad6b-01b1837b3b45",
"type": "main",
"index": 0
}
]
]
},
"fc81db8e-52db-49df-9e10-537d1f1fe1ca": {
"main": [
[
{
"node": "bc807d1b-5fd6-496a-bd23-f31fcde62574",
"type": "main",
"index": 0
}
]
]
},
"d5bb7fcc-bdf7-4611-ac8f-87aeff58f6a5": {
"main": [
[
{
"node": "e4dda855-3b3a-4013-8f5c-d3a3c0513e86",
"type": "main",
"index": 5
}
]
]
},
"e50e2a07-bb82-47f8-8f86-34dc52f9ee8c": {
"ai_memory": [
[
{
"node": "7cf7b91f-b5ec-4145-b569-4e4bab58c0e1",
"type": "ai_memory",
"index": 0
}
]
]
},
"e710caf6-d6a5-4bec-ad6b-01b1837b3b45": {
"main": [
[
{
"node": "e4dda855-3b3a-4013-8f5c-d3a3c0513e86",
"type": "main",
"index": 0
}
]
]
},
"c274d098-918c-43e5-87cc-aa13ab5f3bce": {
"main": [
[
{
"node": "e4dda855-3b3a-4013-8f5c-d3a3c0513e86",
"type": "main",
"index": 2
}
]
]
},
"5d05d7b0-6b2a-4155-b3ea-923bed52c23d": {
"main": [
[
{
"node": "e4dda855-3b3a-4013-8f5c-d3a3c0513e86",
"type": "main",
"index": 4
}
]
]
},
"cf94400a-59b6-49ab-9785-6c9e2db1b22e": {
"main": [
[
{
"node": "e4dda855-3b3a-4013-8f5c-d3a3c0513e86",
"type": "main",
"index": 1
}
]
]
},
"700cca6b-9e3d-4158-81a5-c8c86bd425e6": {
"ai_memory": [
[
{
"node": "8f4fcd17-205b-42b7-b9f8-09ed913ffe63",
"type": "ai_memory",
"index": 0
}
]
]
},
"1951eb45-e401-4516-bb64-c5090dcfad17": {
"ai_memory": [
[
{
"node": "8a33fce0-c50a-4e7e-94f4-696e31a3f14a",
"type": "ai_memory",
"index": 0
}
]
]
},
"94d9e455-7d79-4237-827e-8e54758edeff": {
"ai_memory": [
[
{
"node": "bc807d1b-5fd6-496a-bd23-f31fcde62574",
"type": "ai_memory",
"index": 0
}
]
]
},
"b0624bce-d72c-486e-b3d0-15b3235518a8": {
"ai_memory": [
[
{
"node": "5c58713d-b435-4dea-b0a1-d827ffbcd088",
"type": "ai_memory",
"index": 0
}
]
]
},
"c6ff7fe1-d26d-4bb2-8099-ea2391fbe9cf": {
"main": [
[
{
"node": "e4dda855-3b3a-4013-8f5c-d3a3c0513e86",
"type": "main",
"index": 3
}
]
]
},
"3dcc7d9e-a147-4481-8424-8a8822ce07f9": {
"main": [
[
{
"node": "7cf7b91f-b5ec-4145-b569-4e4bab58c0e1",
"type": "main",
"index": 0
},
{
"node": "591621c9-9ae5-4028-9724-e452533f4d67",
"type": "main",
"index": 0
}
]
]
},
"f89ab3f6-163e-4139-b8f7-c023304b4486": {
"ai_languageModel": [
[
{
"node": "7cf7b91f-b5ec-4145-b569-4e4bab58c0e1",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"ad0abe47-08cd-4103-a75b-a3938292e0d2": {
"ai_languageModel": [
[
{
"node": "8f4fcd17-205b-42b7-b9f8-09ed913ffe63",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"858cc1d9-47cc-45b4-b14a-2bc177e69e4c": {
"ai_languageModel": [
[
{
"node": "8a33fce0-c50a-4e7e-94f4-696e31a3f14a",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"029d13ab-2920-4d0f-8538-b10593282e6b": {
"ai_languageModel": [
[
{
"node": "bc807d1b-5fd6-496a-bd23-f31fcde62574",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"682b3409-edeb-4fee-b034-17c495e0a329": {
"ai_languageModel": [
[
{
"node": "5c58713d-b435-4dea-b0a1-d827ffbcd088",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"bc807d1b-5fd6-496a-bd23-f31fcde62574": {
"main": [
[
{
"node": "d5bb7fcc-bdf7-4611-ac8f-87aeff58f6a5",
"type": "main",
"index": 0
}
]
]
},
"d5f14618-2796-4bd4-a054-b595cb24fbba": {
"main": [
[
{
"node": "e5f5d687-8d8d-4362-af2d-0d850f589c39",
"type": "main",
"index": 0
}
]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
高级 - 内容创作, 多模态 AI
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
使用 OpenAI、ElevenLabs 和 Fal.ai 自动化病毒式内容创作
使用 OpenAI、ElevenLabs 和 Fal.ai 自动化病毒式内容创作,适用于视频、播客和 ASMR
Set
Code
Wait
+
Set
Code
Wait
97 节点Adam Crafts
内容创作
基于 YouTube 视频的自主博客发布
使用 ChatGPT、Sheets、Apify、Pexels 和 WordPress 从 YouTube 视频自主发布博客
If
Set
Code
+
If
Set
Code
80 节点Oriol Seguí
内容创作
使用 OpenAI、LangChain 和 API 集成的工作流自动化初学者指南
使用 OpenAI、LangChain 和 API 集成的工作流自动化初学者指南
If
Set
Code
+
If
Set
Code
33 节点Meelioo
内容创作
批量SEO内容生成与带AI图片的Webflow草稿创建(模板)
使用GPT、Gemini图片和Webflow草稿创建进行批量SEO内容生成
If
Set
Code
+
If
Set
Code
54 节点Dahiana
内容创作
使用OpenAI、ElevenLabs和Hedra创建病毒式婴儿播客YouTub
使用OpenAI、ElevenLabs和Hedra创建病毒式婴儿播客YouTube短视频
Code
Wait
Merge
+
Code
Wait
Merge
38 节点Electrabot
内容创作
使用GPT-4o、RunwayML和ElevenLabs的AI旅游视频生成器(用于社交媒体)
GPT-4o、RunwayML、ElevenLabs社交媒体应用
Set
Code
Wait
+
Set
Code
Wait
36 节点Mohan Gopal
内容创作