{
  "id": "mHb0ll5xMypLPAPi",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "Competitive Roadmap & Trend Arbitrage",
  "tags": [
    {
      "id": "xRJNyiRIpAsEzL8y",
      "name": "Olostep",
      "createdAt": "2026-01-31T11:17:46.807Z",
      "updatedAt": "2026-01-31T11:17:46.807Z"
    }
  ],
  "nodes": [
    {
      "id": "a6540ea8-e17d-4716-8632-5584947469ac",
      "name": "On form submission",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        0,
        0
      ],
      "parameters": {
        "options": {},
        "formTitle": "Competitive Roadmap & Trend Arbitrage",
        "formFields": {
          "values": [
            {
              "fieldLabel": "industry",
              "placeholder": "Creator Economy / Solopreneur SaaS",
              "requiredField": true
            },
            {
              "fieldLabel": "top competitor",
              "placeholder": "Convert Kit (Kit)",
              "requiredField": true
            },
            {
              "fieldType": "textarea",
              "fieldLabel": "feature list"
            }
          ]
        }
      },
      "typeVersion": 2.5
    },
    {
      "id": "16046c1c-34d9-4351-8d6f-7e3599b09099",
      "name": "Research",
      "type": "n8n-nodes-olostep.olostepScrape",
      "position": [
        192,
        0
      ],
      "parameters": {
        "task": "=Search for {{ $json.industry }} trends, {{ $json['top competitor'] }} new features, and {{ $json.industry }} customer pain points forums.",
        "resource": "answer"
      },
      "credentials": {
        "olostepScrapeApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "3feb0949-3dfc-4846-8e2a-bb89b12d9414",
      "name": "Analyze and compare research data",
      "type": "@n8n/n8n-nodes-langchain.googleGemini",
      "position": [
        384,
        0
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "models/gemini-2.5-flash",
          "cachedResultName": "models/gemini-2.5-flash"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "role": "model",
              "content": "You are a Senior Product Strategist."
            },
            {
              "content": "=Analyze the provided market research and compare it against our current feature list.\n\nI. The Competitive Gap Identify 2 specific features or capabilities that our competitors have recently launched, or that customers are frequently demanding, which we currently lack. Rank them by 'Urgency' (High/Medium/Low).\n\nII. Market Trend Alignment Identify the top 2 macro trends in our industry (e.g., 'Shift toward local-first data' or 'Voice-only interfaces'). For each trend, state if our current product is 'Aligned', 'Lagging', or 'At Risk'.\n\nIII. The 'White Space' Opportunity Identify one 'Unmet Need'\u2014a problem that customers are complaining about across the industry that neither we nor our competitors have solved yet.\n\nProvide the output in structured Markdown. Be brutally honest and objective."
            },
            {
              "content": "=Research Data:\n{{ $json.result.result }}\n\nOur Feature List:\n{{ $('On form submission').item.json['feature list'] }}"
            }
          ]
        },
        "builtInTools": {}
      },
      "credentials": {
        "googlePalmApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "202bf760-5c97-4def-898b-de7b0e3dcbd2",
      "name": "Product strategist",
      "type": "@n8n/n8n-nodes-langchain.googleGemini",
      "position": [
        672,
        0
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "models/gemini-2.5-flash",
          "cachedResultName": "models/gemini-2.5-flash"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "role": "model",
              "content": "You are a Senior Product Strategist."
            },
            {
              "content": "=Based on the identified Gaps and the 'White Space' opportunity, generate three strategic recommendations for our product roadmap:\n\nRecommendation 1: The 'Catch-Up' Play What is the single most important feature we need to build just to stay competitive with the current market leaders?\n\nRecommendation 2: The 'Trend Pivot' Suggest one modification to an existing feature that would align us better with the identified macro trends.\n\nRecommendation 3: The 'Leapfrog' Feature Propose a brand-new, innovative feature that solves the 'White Space' opportunity. This should be something that would allow us to jump ahead of the competition.\n\nProvide the output in clean Markdown without any intro/outro text."
            },
            {
              "content": "=Gap Analysis:\n{{ $json.content.parts.last().text }}"
            }
          ]
        },
        "builtInTools": {}
      },
      "credentials": {
        "googlePalmApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "b3b839c4-3fb2-49d8-b85a-e7397d81b741",
      "name": "Report editor",
      "type": "@n8n/n8n-nodes-langchain.googleGemini",
      "position": [
        992,
        0
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "models/gemini-2.5-flash",
          "cachedResultName": "models/gemini-2.5-flash"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "role": "model",
              "content": "You are the Chief Product Officer."
            },
            {
              "content": "=Compile the following analysis and recommendations into a professional Strategic Product Roadmap & Market Opportunity Report.\n\nFormat the document with these headers:\n\nStrategic Intelligence Report: [Current Month/Year]\n\nMarket Landscape & Gap Analysis\n\n[Summarize the Competitive Gaps and Trend Alignment]\n\nIdentified 'White Space' Opportunity\n\n[Describe the unmet need that represents a market opening]\n\nRoadmap Recommendations\n\n[Include the Catch-Up, Trend Pivot, and Leapfrog recommendations]\n\nAction Plan\n\n[Provide a 2-sentence summary of what the engineering/product team should prioritize in the next 90 days]\n\nFormat the entire output as clean Markdown ready for a Google Docs Writer node. Do not include any meta-commentary. Do not include any additional text like \"markdown\" or something like that, just output the clean markdown."
            },
            {
              "content": "=\nIndustry: {{ $('On form submission').item.json.industry }}\n\nGap Analysis:\n{{ $('Analyze and compare research data').item.json.content.parts.last().text }}\n\nStrategic Recommendations:\n{{ $json.content.parts.last().text }}\n\nCurrent Date: {{ $now }}"
            }
          ]
        },
        "builtInTools": {}
      },
      "credentials": {
        "googlePalmApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "4c104db5-2c4b-46e9-a451-753669f1326d",
      "name": "Markdown",
      "type": "n8n-nodes-base.markdown",
      "position": [
        0,
        288
      ],
      "parameters": {
        "mode": "markdownToHtml",
        "options": {
          "tables": true,
          "simplifiedAutoLink": true,
          "completeHTMLDocument": true
        },
        "markdown": "={{ $json.content.parts.last().text }}"
      },
      "typeVersion": 1
    },
    {
      "id": "27c8792d-e299-43c3-8be5-12dccd70dc81",
      "name": "Transfer HTML to Doc",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        528,
        288
      ],
      "parameters": {
        "url": "=https://www.googleapis.com/drive/v3/files/{{ $json.id }}/copy?fields=id,name,mimeType,webViewLink",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"name\":     \"Competitive Roadmap: {{ $('On form submission').item.json.industry }}\",\n  \"mimeType\": \"application/vnd.google-apps.document\"\n}",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "googleDriveOAuth2Api"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "832a1974-a7be-4582-90ac-8e90922d94ec",
      "name": "Generate HTML Binary File",
      "type": "n8n-nodes-base.code",
      "position": [
        176,
        288
      ],
      "parameters": {
        "jsCode": "// Loop over alle items\nreturn $input.all().map(item => {\n  const html = $input.first().json.data;            // jouw HTML-string\n  // Zet \u2018m om naar een Buffer\n  item.binary = {\n    htmlFile: {\n      data: Buffer.from(html, 'utf8').toString('base64'),\n      mimeType: 'text/html',\n      fileName: 'output.html'\n    }\n  };\n  // Je hebt verder geen JSON nodig, dus ruim op:\n  return { json: {}, binary: item.binary };\n});"
      },
      "typeVersion": 2
    },
    {
      "id": "5cb8d70f-8b86-4dfd-abd5-ae5bf01eb4e9",
      "name": "Share link & email",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        880,
        288
      ],
      "parameters": {
        "fileId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('Transfer HTML to Doc').item.json.id }}"
        },
        "options": {
          "emailMessage": "=Hey,\n\nYour \"Competitive Roadmap: {{ $('On form submission').item.json.industry }}\" report is ready, find it at this link."
        },
        "operation": "share",
        "permissionsUi": {
          "permissionsValues": {
            "role": "reader",
            "type": "user",
            "emailAddress": "user@example.com"
          }
        }
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "42384d6c-5e4e-4591-8045-82d9deeabc04",
      "name": "Delete html file",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        704,
        288
      ],
      "parameters": {
        "fileId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('Upload html file').item.json.id }}"
        },
        "options": {},
        "operation": "deleteFile"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "5f502318-ab30-462a-b32b-7fdc047cbf85",
      "name": "Upload html file",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        352,
        288
      ],
      "parameters": {
        "name": "working isa",
        "driveId": {
          "__rl": true,
          "mode": "list",
          "value": "My Drive"
        },
        "options": {},
        "folderId": {
          "__rl": true,
          "mode": "list",
          "value": "root",
          "cachedResultUrl": "https://drive.google.com/drive",
          "cachedResultName": "/ (Root folder)"
        },
        "inputDataFieldName": "htmlFile"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "f271a6bd-a7c4-4c57-89ac-c743fd6a9ac7",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -832,
        -272
      ],
      "parameters": {
        "width": 704,
        "height": 1072,
        "content": "## Competitive Roadmap & Trend Arbitrage: Data-Driven Product Strategy\n\nStop guessing what to build next. The **Competitive Roadmap & Trend Arbitrage** workflow acts as your automated R&D department. It compares your current product capabilities against real-time market data, competitor launches, and macro industry trends to identify \"White Space\" opportunities\u2014high-value features that neither you nor your competitors have solved yet.\n\nBy leveraging **Gemini 2.5 Flash** and **Olostep**, it transforms raw research into a structured \"Strategic Intelligence Report\" complete with actionable roadmap recommendations.\n\n---\n\n### Who\u2019s it for?\n*   **Product Managers & CPOs:** Align your product roadmap with actual market shifts and competitor movements.\n*   **SaaS Founders:** Identify the \"Catch-Up\" plays needed to stay relevant and the \"Leapfrog\" features needed to dominate.\n*   **Product Marketers:** Gain a brutally honest assessment of how your product stacks up against industry macro-trends.\n*   **Strategy Consultants:** Deliver high-level, data-backed strategic reports to clients in minutes.\n\n### How it works / What it does\n1.  **Trigger:** Submit your **Industry**, **Top Competitor**, and **Current Feature List** via an n8n Form.\n2.  **Market Research:** **Olostep** scrapes the web for the latest industry trends, recent competitor feature launches, and customer pain point forums.\n3.  **Gap Analysis:** Gemini identifies specific capabilities you lack compared to leaders and ranks them by urgency.\n4.  **Trend Mapping:** The AI assesses if your product is \"Aligned,\" \"Lagging,\" or \"At Risk\" regarding top macro industry trends.\n5.  **Strategic Recommendations:** The workflow generates three specific plays:\n    *   **The Catch-Up:** Crucial features needed for parity.\n    *   **The Trend Pivot:** Existing feature modifications for better market alignment.\n    *   **The Leapfrog:** Innovative solutions for identified \"White Space\" opportunities.\n6.  **Reporting:** All insights are compiled into a professional Markdown document, converted to a Google Doc, and sent to your email.\n\n### How to set up\n1.  **Credentials:** Connect your API keys for **Google Gemini (PaLM)**, **Olostep**, and **Google Drive**.\n2.  **Form Trigger:** Activate the workflow to get your internal submission link.\n3.  **Email Configuration:** Ensure your email is updated in the \"Share link & email\" node to receive the final strategy reports.\n\n### Requirements\n*   **Google Gemini API:** For senior-level strategic analysis and product roadmapping.\n*   **Olostep API:** To conduct deep competitive research and trend discovery.\n*   **Google Drive (OAuth2):** For automated report storage and permission sharing.\n\n### How to customize the workflow\n*   **Competitive Depth:** Duplicate the **Research** node to scrape data for multiple competitors simultaneously for a broader market view.\n*   **Custom Frameworks:** Adjust the **Analyze and compare** prompt to use specific frameworks like SWOT, Blue Ocean Strategy, or Jobs-to-be-Done (JTBD).\n*   **Automated Backlog:** Connect this workflow to **Jira**, **Linear**, or **Productboard** to automatically push \"Catch-Up\" or \"Leapfrog\" features into your engineering backlog."
      },
      "typeVersion": 1
    },
    {
      "id": "dc9fe148-a35a-4691-b4f7-9a6f145989b1",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        304,
        176
      ],
      "parameters": {
        "color": 7,
        "width": 528,
        "height": 272,
        "content": "## Upload The File\nUploads the HTML file and converts the HTML file to google doc format and re-upload the file. And then deletes the old HTML file."
      },
      "typeVersion": 1
    },
    {
      "id": "a8236ac0-877e-4baa-8041-0ffd36561823",
      "name": "Sticky Note9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -48,
        -128
      ],
      "parameters": {
        "color": 7,
        "width": 192,
        "height": 304,
        "content": "## Input form\nEnter the industry, top competitor, and your feature list"
      },
      "typeVersion": 1
    },
    {
      "id": "9b14fc83-5edd-490f-ad66-b6d7189f3866",
      "name": "Sticky Note10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        832,
        176
      ],
      "parameters": {
        "color": 7,
        "width": 224,
        "height": 272,
        "content": "## Share & Notify\nShares the doc and sends an email with the link."
      },
      "typeVersion": 1
    },
    {
      "id": "6a8fa209-556f-4adf-b570-861b4f9b4a26",
      "name": "Sticky Note11",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -48,
        176
      ],
      "parameters": {
        "color": 7,
        "width": 352,
        "height": 272,
        "content": "## Markdown to HTML\nConverts Markdown content into HTML and creates an HTML binary file."
      },
      "typeVersion": 1
    },
    {
      "id": "88249501-5ade-495e-b075-714a04c606ca",
      "name": "Sticky Note12",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        144,
        -128
      ],
      "parameters": {
        "color": 7,
        "width": 192,
        "height": 304,
        "content": "## Olostep API\nSearches for industry trends, competitor new features, and customers pain points"
      },
      "typeVersion": 1
    },
    {
      "id": "c0664da5-5feb-4de4-893b-158723eb05f2",
      "name": "Sticky Note14",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        336,
        -128
      ],
      "parameters": {
        "color": 7,
        "width": 288,
        "height": 304,
        "content": "## Analyze and compare\nAnalyzes the provided market research and compares it against your current feature list."
      },
      "typeVersion": 1
    },
    {
      "id": "483358fc-da3f-4734-a327-42c0665d8ef4",
      "name": "Sticky Note15",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        624,
        -128
      ],
      "parameters": {
        "color": 7,
        "width": 320,
        "height": 304,
        "content": "## Product strategist\nGenerates three strategic recommendations for your product roadmap based on the identified Gaps and the 'White Space' opportunity."
      },
      "typeVersion": 1
    },
    {
      "id": "7df33c1b-938c-4407-b969-7a824fd0ad13",
      "name": "Sticky Note16",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        944,
        -128
      ],
      "parameters": {
        "color": 7,
        "width": 320,
        "height": 304,
        "content": "## Report editor\nCompiles the analysis and recommendations into a professional Strategic Product Roadmap & Market Opportunity Report."
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "binaryMode": "separate",
    "executionOrder": "v1"
  },
  "versionId": "dca365b9-4dae-4cb5-a4b1-ad00c2320ac8",
  "connections": {
    "Markdown": {
      "main": [
        [
          {
            "node": "Generate HTML Binary File",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Research": {
      "main": [
        [
          {
            "node": "Analyze and compare research data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Report editor": {
      "main": [
        [
          {
            "node": "Markdown",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Delete html file": {
      "main": [
        [
          {
            "node": "Share link & email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Upload html file": {
      "main": [
        [
          {
            "node": "Transfer HTML to Doc",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "On form submission": {
      "main": [
        [
          {
            "node": "Research",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Product strategist": {
      "main": [
        [
          {
            "node": "Report editor",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Transfer HTML to Doc": {
      "main": [
        [
          {
            "node": "Delete html file",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate HTML Binary File": {
      "main": [
        [
          {
            "node": "Upload html file",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Analyze and compare research data": {
      "main": [
        [
          {
            "node": "Product strategist",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}