{
  "name": "Auto-generate product comparison pages with OpenAI & Google Sheets",
  "nodes": [
    {
      "id": "d7025bd7-197d-4c0d-949c-9b5f8f5c2c66",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        120,
        -160
      ],
      "parameters": {
        "width": null,
        "height": 220,
        "content": "Providers & their overview"
      }
    },
    {
      "id": "176b92ac-d8b7-4198-b6cf-ca9014d1192b",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        120,
        100
      ],
      "parameters": {
        "width": null,
        "height": 200,
        "content": "Features"
      }
    },
    {
      "id": "8c4fc5ad-ca65-4305-8162-b97c9ad04026",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        120,
        340
      ],
      "parameters": {
        "width": null,
        "height": 200,
        "content": "Pricing"
      }
    },
    {
      "id": "88f9d6b7-f61c-401f-8edc-6ec0eb02fa30",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -540,
        -1380
      ],
      "parameters": {
        "width": 3040,
        "height": 2420,
        "content": "Product Comparison pages"
      }
    },
    {
      "id": "7cf7b91f-b5ec-4145-b569-4e4bab58c0e1",
      "name": "AI Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        760,
        -460
      ]
    },
    {
      "id": "f89ab3f6-163e-4139-b8f7-c023304b4486",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        760,
        -340
      ]
    },
    {
      "id": "e50e2a07-bb82-47f8-8f86-34dc52f9ee8c",
      "name": "Simple Memory",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        880,
        -340
      ]
    },
    {
      "id": "d18ba028-a902-486f-b36b-38ffb4bb57f8",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1620,
        -240
      ],
      "parameters": {
        "width": 800,
        "height": 360,
        "content": "ALL ROADS LEAD TO ROME"
      }
    },
    {
      "id": "b3ccd911-27ad-49fc-9913-027c03920715",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        620,
        100
      ],
      "parameters": {
        "width": 620,
        "height": 360,
        "content": "Comparison Table"
      }
    },
    {
      "id": "05698cec-baa0-4983-85de-b23dd8c00e8b",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        620,
        -860
      ],
      "parameters": {
        "width": 620,
        "height": 340,
        "content": "Product activation process"
      }
    },
    {
      "id": "94860e6e-4517-49e7-958a-84737bd399eb",
      "name": "Sticky Note9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        620,
        480
      ],
      "parameters": {
        "width": 620,
        "height": 440,
        "content": "User Ratings"
      }
    },
    {
      "id": "ffe18bcb-c8f4-4e1f-b82c-bb821e3e1827",
      "name": "Sticky Note10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        620,
        -1180
      ],
      "parameters": {
        "width": 620,
        "height": 300,
        "content": "FAQs\n"
      }
    },
    {
      "id": "73c46227-4fbf-4a69-af6c-19af6067968d",
      "name": "Sticky Note11",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        620,
        -500
      ],
      "parameters": {
        "width": 620,
        "height": 300,
        "content": "PRODUCT OVERVIEW"
      }
    },
    {
      "id": "c274d098-918c-43e5-87cc-aa13ab5f3bce",
      "name": "Google Sheets6",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1340,
        -460
      ]
    },
    {
      "id": "8f4fcd17-205b-42b7-b9f8-09ed913ffe63",
      "name": "AI Agent1",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        880,
        180
      ]
    },
    {
      "id": "591621c9-9ae5-4028-9724-e452533f4d67",
      "name": "Merge",
      "type": "n8n-nodes-base.merge",
      "position": [
        700,
        220
      ]
    },
    {
      "id": "ad0abe47-08cd-4103-a75b-a3938292e0d2",
      "name": "OpenAI Chat Model1",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        880,
        340
      ]
    },
    {
      "id": "700cca6b-9e3d-4158-81a5-c8c86bd425e6",
      "name": "Simple Memory1",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        980,
        340
      ]
    },
    {
      "id": "5d05d7b0-6b2a-4155-b3ea-923bed52c23d",
      "name": "Google Sheets7",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1340,
        180
      ]
    },
    {
      "id": "8a33fce0-c50a-4e7e-94f4-696e31a3f14a",
      "name": "AI Agent2",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        760,
        -820
      ]
    },
    {
      "id": "858cc1d9-47cc-45b4-b14a-2bc177e69e4c",
      "name": "OpenAI Chat Model2",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        760,
        -660
      ]
    },
    {
      "id": "1951eb45-e401-4516-bb64-c5090dcfad17",
      "name": "Simple Memory2",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        920,
        -660
      ]
    },
    {
      "id": "cf94400a-59b6-49ab-9785-6c9e2db1b22e",
      "name": "Google Sheets8",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1340,
        -820
      ]
    },
    {
      "id": "781d63d8-9ccd-4bd0-8f8e-2cdf941b9c1d",
      "name": "Features",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        180,
        140
      ]
    },
    {
      "id": "978478ae-8de9-4892-9364-5eafa8d47d27",
      "name": "Pricing",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        180,
        380
      ]
    },
    {
      "id": "e5f5d687-8d8d-4362-af2d-0d850f589c39",
      "name": "Products",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -260,
        -100
      ]
    },
    {
      "id": "3dcc7d9e-a147-4481-8424-8a8822ce07f9",
      "name": "Product Overview",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        180,
        -100
      ]
    },
    {
      "id": "93396c42-2b80-4e9a-9344-e680c42c2a25",
      "name": "Sticky Note12",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        120,
        580
      ],
      "parameters": {
        "width": null,
        "height": 240,
        "content": "User Ratings data\n"
      }
    },
    {
      "id": "fc81db8e-52db-49df-9e10-537d1f1fe1ca",
      "name": "User Ratings",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        180,
        640
      ]
    },
    {
      "id": "bc807d1b-5fd6-496a-bd23-f31fcde62574",
      "name": "User Ratings Maker",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        800,
        620
      ]
    },
    {
      "id": "029d13ab-2920-4d0f-8538-b10593282e6b",
      "name": "OpenAI Chat Model3",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        800,
        760
      ]
    },
    {
      "id": "94d9e455-7d79-4237-827e-8e54758edeff",
      "name": "Simple Memory3",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        920,
        780
      ]
    },
    {
      "id": "d5bb7fcc-bdf7-4611-ac8f-87aeff58f6a5",
      "name": "Google Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1340,
        620
      ]
    },
    {
      "id": "5c58713d-b435-4dea-b0a1-d827ffbcd088",
      "name": "AI Agent3",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        780,
        -1140
      ]
    },
    {
      "id": "682b3409-edeb-4fee-b034-17c495e0a329",
      "name": "OpenAI Chat Model4",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        780,
        -1000
      ]
    },
    {
      "id": "b0624bce-d72c-486e-b3d0-15b3235518a8",
      "name": "Simple Memory4",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        940,
        -1000
      ]
    },
    {
      "id": "e710caf6-d6a5-4bec-ad6b-01b1837b3b45",
      "name": "Google Sheets1",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1340,
        -1140
      ]
    },
    {
      "id": "5f155698-23dc-4930-bfe0-a5ac4efa1cf6",
      "name": "Dorik CMS",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2220,
        -120
      ]
    },
    {
      "id": "58da9b60-21a7-4f66-a805-7c16090fb503",
      "name": "Code",
      "type": "n8n-nodes-base.code",
      "position": [
        2020,
        -120
      ]
    },
    {
      "id": "e4dda855-3b3a-4013-8f5c-d3a3c0513e86",
      "name": "Merge2",
      "type": "n8n-nodes-base.merge",
      "position": [
        1800,
        -180
      ]
    },
    {
      "id": "309c7d10-bd75-4451-b8f3-9dc273beb693",
      "name": "Code1",
      "type": "n8n-nodes-base.code",
      "position": [
        -120,
        -100
      ]
    },
    {
      "id": "c6ff7fe1-d26d-4bb2-8099-ea2391fbe9cf",
      "name": "Names and slugs",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1340,
        -100
      ]
    },
    {
      "id": "7b688c38-8578-41ce-9360-b6d88c3b0ca8",
      "name": "Sticky Note14",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1260,
        -1180
      ],
      "parameters": {
        "width": 280,
        "height": 2100,
        "content": "Assembling"
      }
    },
    {
      "id": "293af7a5-f2c2-4570-af5c-72156b3d7cfd",
      "name": "Sticky Note13",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1340,
        -1240
      ],
      "parameters": {
        "width": 720,
        "height": 320,
        "content": "# 🧠 Generate SEO Product Comparisons Using AI & Google Sheets\n\nThis workflow allows users to **automatically generate “vs” comparison pages** between SaaS tools using GPT-4o, data from Google Sheets, "
      }
    },
    {
      "id": "7bb2f478-6299-46aa-ad02-eb4e19f2b62d",
      "name": "Sticky Note15",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1340,
        -880
      ],
      "parameters": {
        "width": 720,
        "height": 300,
        "content": "## ✅ STEP 1 – GOOGLE SHEET SETUP\n\nCreate a Google Sheet structured like this:\n\n| Column                   | Purpose                                      |\n|--------------------------|-----------------"
      }
    },
    {
      "id": "2a3538a2-6b82-4f94-9fb6-77f2d24ffc00",
      "name": "Sticky Note16",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1340,
        -540
      ],
      "parameters": {
        "width": 720,
        "height": 360,
        "content": "## 🔁 STEP 2 – COMBINE PRODUCTS TO GENERATE “VS” PAIRS\n\nThe Code node dynamically combines all products into pairs like:\n\n- `Truely vs Zapier`\n- `Truely vs Make`\n- `Make vs IFTTT`\n- …406 total combinat"
      }
    },
    {
      "id": "064df6de-be16-4129-971c-88a7465b4d6b",
      "name": "Sticky Note17",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1340,
        -120
      ],
      "parameters": {
        "width": 720,
        "height": 320,
        "content": "## 💬 STEP 3 – GENERATE CONTENT USING AI\n\nEach section of the page is written using GPT-4o, powered through LangChain inside n8n:\n\n| Section            | Description                                    "
      }
    },
    {
      "id": "46bbd6f6-eda4-4b0a-9b2d-dcaa857d280b",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1340,
        260
      ],
      "parameters": {
        "width": 720,
        "height": 300,
        "content": "## 🧱 STEP 4 – BUILD FINAL HTML & PUBLISH\n\nOnce content is generated:\n\n- A final `Code` node assembles everything into clean HTML blocks.\n- The data is pushed to your CMS via API (e.g., Dorik), using:\n"
      }
    },
    {
      "id": "c4ee7dd6-e0b2-420d-9b4b-c5f0666cdebb",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1340,
        640
      ],
      "parameters": {
        "width": 720,
        "height": 280,
        "content": "## 🕒 STEP 5 – RUN THE WORKFLOW\n\nThe automation can be triggered:\n\n- 📆 On a schedule (e.g., every 10 minutes)\n- 🚀 Or manually (with “Test Workflow” in n8n)\n\nEach run checks for new or updated product r"
      }
    },
    {
      "id": "d5f14618-2796-4bd4-a054-b595cb24fbba",
      "name": "When clicking ‘Test workflow’",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -420,
        -100
      ]
    }
  ],
  "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
          }
        ]
      ]
    }
  }
}