AutomationFlowsAI & RAG › Auto-generate Product Comparison Pages with Openai & Google Sheets

Auto-generate Product Comparison Pages with Openai & Google Sheets

ByAbrar Sami @abrarsami on n8n.io

This workflow creates detailed "X vs Y" product comparison pages designed to help readers make faster, more confident purchase decisions — all with zero manual writing. Triggered manually or via Google Sheets row Takes two product names as input (e.g. “Notion vs Evernote”) Uses…

Event trigger★★★★★ complexityAI-powered50 nodesAgentOpenAI ChatMemory Buffer WindowGoogle SheetsHTTP Request
AI & RAG Trigger: Event Nodes: 50 Complexity: ★★★★★ AI nodes: yes Added:
Auto-generate Product Comparison Pages with Openai & Google Sheets — n8n workflow card showing Agent, OpenAI Chat, Memory Buffer Window integration

This workflow corresponds to n8n.io template #5843 — we link there as the canonical source.

This workflow follows the Agent → Google Sheets recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "id": "UpNXeGPDsa1GIWMw",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "Versus page workflow",
  "tags": [],
  "nodes": [
    {
      "id": "d7025bd7-197d-4c0d-949c-9b5f8f5c2c66",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        120,
        -160
      ],
      "parameters": {
        "color": 4,
        "height": 220,
        "content": "Providers & their overview"
      },
      "typeVersion": 1
    },
    {
      "id": "176b92ac-d8b7-4198-b6cf-ca9014d1192b",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        120,
        100
      ],
      "parameters": {
        "color": 4,
        "height": 200,
        "content": "Features"
      },
      "typeVersion": 1
    },
    {
      "id": "8c4fc5ad-ca65-4305-8162-b97c9ad04026",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        120,
        340
      ],
      "parameters": {
        "color": 4,
        "height": 200,
        "content": "Pricing"
      },
      "typeVersion": 1
    },
    {
      "id": "88f9d6b7-f61c-401f-8edc-6ec0eb02fa30",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -540,
        -1380
      ],
      "parameters": {
        "color": 3,
        "width": 3040,
        "height": 2420,
        "content": "Product Comparison pages"
      },
      "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 Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        760,
        -340
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "e50e2a07-bb82-47f8-8f86-34dc52f9ee8c",
      "name": "Simple Memory",
      "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": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1620,
        -240
      ],
      "parameters": {
        "color": 4,
        "width": 800,
        "height": 360,
        "content": "ALL ROADS LEAD TO ROME"
      },
      "typeVersion": 1
    },
    {
      "id": "b3ccd911-27ad-49fc-9913-027c03920715",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        620,
        100
      ],
      "parameters": {
        "color": 5,
        "width": 620,
        "height": 360,
        "content": "Comparison Table"
      },
      "typeVersion": 1
    },
    {
      "id": "05698cec-baa0-4983-85de-b23dd8c00e8b",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        620,
        -860
      ],
      "parameters": {
        "color": 5,
        "width": 620,
        "height": 340,
        "content": "Product activation process"
      },
      "typeVersion": 1
    },
    {
      "id": "94860e6e-4517-49e7-958a-84737bd399eb",
      "name": "Sticky Note9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        620,
        480
      ],
      "parameters": {
        "color": 5,
        "width": 620,
        "height": 440,
        "content": "User Ratings"
      },
      "typeVersion": 1
    },
    {
      "id": "ffe18bcb-c8f4-4e1f-b82c-bb821e3e1827",
      "name": "Sticky Note10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        620,
        -1180
      ],
      "parameters": {
        "color": 5,
        "width": 620,
        "height": 300,
        "content": "FAQs\n"
      },
      "typeVersion": 1
    },
    {
      "id": "73c46227-4fbf-4a69-af6c-19af6067968d",
      "name": "Sticky Note11",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        620,
        -500
      ],
      "parameters": {
        "color": 5,
        "width": 620,
        "height": 300,
        "content": "PRODUCT OVERVIEW"
      },
      "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": {
          "name": "<your credential>"
        }
      },
      "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 \u2014 imagine you\u2019re 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\u2019s 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": "Merge",
      "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 Chat Model1",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        880,
        340
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "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": {
          "name": "<your credential>"
        }
      },
      "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 Chat Model2",
      "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": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "1951eb45-e401-4516-bb64-c5090dcfad17",
      "name": "Simple Memory2",
      "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": {
          "name": "<your credential>"
        }
      },
      "retryOnFail": true,
      "typeVersion": 4.5
    },
    {
      "id": "781d63d8-9ccd-4bd0-8f8e-2cdf941b9c1d",
      "name": "Features",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        180,
        140
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 671004843,
          "cachedResultUrl": "https://docs.google.YOUR_AWS_SECRET_KEY_HERE_r3oDSNwbcVzg6wpSo0kDCk/edit#gid=671004843",
          "cachedResultName": "[[DATA]] Features Data"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1s70R1Djw3nCdqQdz8nOE_r3oDSNwbcVzg6wpSo0kDCk",
          "cachedResultUrl": "https://docs.google.YOUR_AWS_SECRET_KEY_HERE_r3oDSNwbcVzg6wpSo0kDCk/edit?usp=drivesdk",
          "cachedResultName": "THE KRANES Product Comparison page template "
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "retryOnFail": true,
      "typeVersion": 4.5
    },
    {
      "id": "978478ae-8de9-4892-9364-5eafa8d47d27",
      "name": "Pricing",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        180,
        380
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1708880266,
          "cachedResultUrl": "https://docs.google.YOUR_AWS_SECRET_KEY_HERE_r3oDSNwbcVzg6wpSo0kDCk/edit#gid=1708880266",
          "cachedResultName": "[[DATA]] Product Pricing"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1s70R1Djw3nCdqQdz8nOE_r3oDSNwbcVzg6wpSo0kDCk",
          "cachedResultUrl": "https://docs.google.YOUR_AWS_SECRET_KEY_HERE_r3oDSNwbcVzg6wpSo0kDCk/edit?usp=drivesdk",
          "cachedResultName": "THE KRANES Product Comparison page template "
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "retryOnFail": true,
      "typeVersion": 4.5
    },
    {
      "id": "e5f5d687-8d8d-4362-af2d-0d850f589c39",
      "name": "Products",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -260,
        -100
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 784599460,
          "cachedResultUrl": "https://docs.google.YOUR_AWS_SECRET_KEY_HERE_r3oDSNwbcVzg6wpSo0kDCk/edit#gid=784599460",
          "cachedResultName": "[[DATA]] Products"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1s70R1Djw3nCdqQdz8nOE_r3oDSNwbcVzg6wpSo0kDCk",
          "cachedResultUrl": "https://docs.google.YOUR_AWS_SECRET_KEY_HERE_r3oDSNwbcVzg6wpSo0kDCk/edit?usp=drivesdk",
          "cachedResultName": "THE KRANES Product Comparison page template "
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "retryOnFail": true,
      "typeVersion": 4.5
    },
    {
      "id": "3dcc7d9e-a147-4481-8424-8a8822ce07f9",
      "name": "Product Overview",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        180,
        -100
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1692888920,
          "cachedResultUrl": "https://docs.google.YOUR_AWS_SECRET_KEY_HERE_r3oDSNwbcVzg6wpSo0kDCk/edit#gid=1692888920",
          "cachedResultName": "[[DATA]] Product Overview"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1s70R1Djw3nCdqQdz8nOE_r3oDSNwbcVzg6wpSo0kDCk",
          "cachedResultUrl": "https://docs.google.YOUR_AWS_SECRET_KEY_HERE_r3oDSNwbcVzg6wpSo0kDCk/edit?usp=drivesdk",
          "cachedResultName": "THE KRANES Product Comparison page template "
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "retryOnFail": true,
      "typeVersion": 4.5
    },
    {
      "id": "93396c42-2b80-4e9a-9344-e680c42c2a25",
      "name": "Sticky Note12",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        120,
        580
      ],
      "parameters": {
        "color": 4,
        "height": 240,
        "content": "User Ratings data\n"
      },
      "typeVersion": 1
    },
    {
      "id": "fc81db8e-52db-49df-9e10-537d1f1fe1ca",
      "name": "User Ratings",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        180,
        640
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 76885548,
          "cachedResultUrl": "https://docs.google.YOUR_AWS_SECRET_KEY_HERE_r3oDSNwbcVzg6wpSo0kDCk/edit#gid=76885548",
          "cachedResultName": "[[DATA]] Product User Reviews"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1s70R1Djw3nCdqQdz8nOE_r3oDSNwbcVzg6wpSo0kDCk",
          "cachedResultUrl": "https://docs.google.YOUR_AWS_SECRET_KEY_HERE_r3oDSNwbcVzg6wpSo0kDCk/edit?usp=drivesdk",
          "cachedResultName": "THE KRANES Product Comparison page template "
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "retryOnFail": true,
      "typeVersion": 4.5
    },
    {
      "id": "bc807d1b-5fd6-496a-bd23-f31fcde62574",
      "name": "User Ratings Maker",
      "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 Chat Model3",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        800,
        760
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "94d9e455-7d79-4237-827e-8e54758edeff",
      "name": "Simple Memory3",
      "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": {
          "name": "<your credential>"
        }
      },
      "retryOnFail": true,
      "typeVersion": 4.5
    },
    {
      "id": "5c58713d-b435-4dea-b0a1-d827ffbcd088",
      "name": "AI Agent3",
      "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 Chat Model4",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        780,
        -1000
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "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": {
          "name": "<your credential>"
        }
      },
      "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": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "58da9b60-21a7-4f66-a805-7c16090fb503",
      "name": "Code",
      "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": "Merge2",
      "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": "Code1",
      "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": "Names and slugs",
      "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.YOUR_AWS_SECRET_KEY_HERE_r3oDSNwbcVzg6wpSo0kDCk/edit#gid=784599460",
          "cachedResultName": "[[DATA]] Products"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1s70R1Djw3nCdqQdz8nOE_r3oDSNwbcVzg6wpSo0kDCk",
          "cachedResultUrl": "https://docs.google.YOUR_AWS_SECRET_KEY_HERE_r3oDSNwbcVzg6wpSo0kDCk/edit?usp=drivesdk",
          "cachedResultName": "THE KRANES Product Comparison page template "
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "7b688c38-8578-41ce-9360-b6d88c3b0ca8",
      "name": "Sticky Note14",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1260,
        -1180
      ],
      "parameters": {
        "color": 6,
        "width": 280,
        "height": 2100,
        "content": "Assembling"
      },
      "typeVersion": 1
    },
    {
      "id": "293af7a5-f2c2-4570-af5c-72156b3d7cfd",
      "name": "Sticky Note13",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1340,
        -1240
      ],
      "parameters": {
        "width": 720,
        "height": 320,
        "content": "# \ud83e\udde0 Generate SEO Product Comparisons Using AI & Google Sheets\n\nThis workflow allows users to **automatically generate \u201cvs\u201d comparison pages** between SaaS tools using GPT-4o, data from Google Sheets, and publish-ready HTML for your CMS. The entire process is powered by a Google Sheet that acts as the control panel for product input and triggers.\n\nIt automates research, copywriting, and formatting \u2014 ensuring seamless integration between Google Sheets, OpenAI, and your publishing backend."
      },
      "typeVersion": 1
    },
    {
      "id": "7bb2f478-6299-46aa-ad02-eb4e19f2b62d",
      "name": "Sticky Note15",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1340,
        -880
      ],
      "parameters": {
        "width": 720,
        "height": 300,
        "content": "## \u2705 STEP 1 \u2013 GOOGLE SHEET SETUP\n\nCreate a Google Sheet structured like this:\n\n| Column                   | Purpose                                      |\n|--------------------------|----------------------------------------------|\n| All Products             | Add the full list of products to compare     |\n| Product Overview         | Add 2\u20133 line blurbs for each product         |\n| Features Data            | List of product features and their strengths |\n| Product Pricing          | Cost, tiers, and model                       |\n| Product User Reviews     | Summary of user sentiment                    |\n\n> No need to list pairs manually \u2014 the system will generate combinations automatically.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "2a3538a2-6b82-4f94-9fb6-77f2d24ffc00",
      "name": "Sticky Note16",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1340,
        -540
      ],
      "parameters": {
        "width": 720,
        "height": 360,
        "content": "## \ud83d\udd01 STEP 2 \u2013 COMBINE PRODUCTS TO GENERATE \u201cVS\u201d 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- \u2026406 total combinations for 29 tools!\n\nEach pair is labeled with:\n\n- `name`: `\"Zapier vs Make\"`\n- `slug`: `\"zapier-vs-make\"`\n\nThese become your page titles and URLs.\n\n---"
      },
      "typeVersion": 1
    },
    {
      "id": "064df6de-be16-4129-971c-88a7465b4d6b",
      "name": "Sticky Note17",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1340,
        -120
      ],
      "parameters": {
        "width": 720,
        "height": 320,
        "content": "## \ud83d\udcac STEP 3 \u2013 GENERATE CONTENT USING AI\n\nEach section of the page is written using GPT-4o, powered through LangChain inside n8n:\n\n| Section            | Description                                      |\n|--------------------|--------------------------------------------------|\n| \ud83d\udcdd Intro            | Contextual intro for the comparison              |\n| \ud83d\udcca Feature Table    | Key features and comparison grid                 |\n| \ud83d\udcb5 Pricing Summary  | Who offers better value and how                  |\n| \ud83d\ude80 Activation Guide | How to get started with each tool                |\n| \ud83c\udf1f User Ratings     | Summary of what people say about each tool       |\n| \u2753 FAQs             | Common doubts or decision criteria explained     |\n\n> These are written in a friendly, helpful tone and subtly highlight Truely when relevant.\n\n---"
      },
      "typeVersion": 1
    },
    {
      "id": "46bbd6f6-eda4-4b0a-9b2d-dcaa857d280b",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1340,
        260
      ],
      "parameters": {
        "width": 720,
        "height": 300,
        "content": "## \ud83e\uddf1 STEP 4 \u2013 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  - `\"name\"`: Page title  \n  - `\"slug\"`: SEO URL  \n  - `\"htmlContent\"`: Full HTML for the page\n\nYou now have a fully functioning \u201cProduct A vs Product B\u201d page!\n\n---"
      },
      "typeVersion": 1
    },
    {
      "id": "c4ee7dd6-e0b2-420d-9b4b-c5f0666cdebb",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1340,
        640
      ],
      "parameters": {
        "width": 720,
        "height": 280,
        "content": "## \ud83d\udd52 STEP 5 \u2013 RUN THE WORKFLOW\n\nThe automation can be triggered:\n\n- \ud83d\udcc6 On a schedule (e.g., every 10 minutes)\n- \ud83d\ude80 Or manually (with \u201cTest Workflow\u201d in n8n)\n\nEach run checks for new or updated product rows and processes them into full pages automatically.\n\n---\n"
      },
      "typeVersion": 1
    },
    {
      "id": "d5f14618-2796-4bd4-a054-b595cb24fbba",
      "name": "When clicking \u2018Test workflow\u2019",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -420,
        -100
      ],
      "parameters": {},
      "typeVersion": 1
    }
  ],
  "active": false,
  "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 \u2018Test workflow\u2019": {
      "main": [
        [
          {
            "node": "Products",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

This workflow creates detailed "X vs Y" product comparison pages designed to help readers make faster, more confident purchase decisions — all with zero manual writing. Triggered manually or via Google Sheets row Takes two product names as input (e.g. “Notion vs Evernote”) Uses…

Source: https://n8n.io/workflows/5843/ — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

This automation is designed to help you generate AI-powered music tracks, cover art, and fully rendered music videos — all triggered from a simple Telegram chat and managed via Google Sheets.

OpenAI Chat, Memory Buffer Window, Output Parser Structured +11
AI & RAG

This n8n workflow is designed for Facebook Page administrators, social media managers, and community moderators who want to automate comment management on their Facebook Pages. It's perfect for busine

Facebook Graph Api, Agent, HTTP Request +8
AI & RAG

This n8n workflow creates an intelligent WhatsApp customer support bot that can handle text, image, audio, and document messages. The workflow automatically processes incoming messages through differe

HTTP Request, N8N Nodes Rapiwa, Agent Tool +9
AI & RAG

This workflow contains community nodes that are only compatible with the self-hosted version of n8n.

Output Parser Structured, Telegram, N8N Nodes Tesseractjs +14
AI & RAG

AI Blog Publisher – Automated Blog Content Workflow This workflow is designed for individuals and teams who regularly publish content on their blog and want to automate the entire process from start t

WordPress, HTTP Request, Memory Buffer Window +9