{
  "id": "hEt4K6p0NxH8EKdf",
  "name": "Automated_Forum_Monetering_via_Bright_data",
  "tags": [],
  "nodes": [
    {
      "id": "d46077f8-080f-4611-afd9-75b3c50fd912",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        3280,
        820
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "e8147cbd-97f6-40c3-84b3-2d30d10e7e04",
      "name": "Run Periodically",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        1780,
        600
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "triggerAtHour": 9
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "e60c1249-dc44-46b9-b691-5329f58d7e41",
      "name": "Define Search Keyword",
      "type": "n8n-nodes-base.set",
      "position": [
        2000,
        600
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "96c78660-315e-491f-8942-56dc4365c093",
              "name": "keyword",
              "type": "string",
              "value": "iPhone+16"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "fd3c6b86-2f82-4290-84cf-50627dc38fb7",
      "name": "Google Search Results",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2240,
        600
      ],
      "parameters": {
        "url": "https://api.brightdata.com/request",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"zone\": \"n8n_unblocker\",\n  \"url\": \"https://www.google.com/search?q=site:quora.com+{{ $json.keyword }}\",\n  \"country\": \"us\",\n  \"format\": \"raw\",\n  \"headers\": {\n    \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64)\"\n  }\n}",
        "sendBody": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer YOUR_TOKEN_HERE"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "edddbf94-87ed-4d59-9fed-4994dedc618d",
      "name": "Links from Google HTML",
      "type": "n8n-nodes-base.html",
      "position": [
        2440,
        600
      ],
      "parameters": {
        "options": {},
        "operation": "extractHtmlContent",
        "extractionValues": {
          "values": [
            {
              "key": "Thread Titles",
              "cssSelector": "h3",
              "returnArray": true
            },
            {
              "key": "b",
              "cssSelector": "div.yuRUbf a",
              "returnArray": true,
              "returnValue": "attribute"
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "2bb4b2c0-49a5-49e5-afc8-220d0e39d0ce",
      "name": "Format Thread URLs",
      "type": "n8n-nodes-base.code",
      "position": [
        2620,
        600
      ],
      "parameters": {
        "jsCode": "const titles = items[0].json[\"Thread Titles\"];\nconst urls = items[0].json[\"b\"].map(obj => obj.href);\n\n// Build array of { title, url }\nconst output = [];\n\nfor (let i = 0; i < Math.min(titles.length, urls.length); i++) {\n  output.push({\n    json: {\n      title: titles[i],\n      url: urls[i]\n    }\n  });\n}\n\nreturn output;\n"
      },
      "typeVersion": 2
    },
    {
      "id": "a3f3ad74-a548-4135-b07f-69f38bf7dd9b",
      "name": "Individual Quora Threads",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2860,
        600
      ],
      "parameters": {
        "url": "https://api.brightdata.com/request",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"zone\": \"n8n_unblocker\",\n  \"url\": \"{{ $json.url }}\",\n  \"country\": \"us\",\n  \"format\": \"raw\",\n  \"headers\": {\n    \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64)\"\n  }\n}",
        "sendBody": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer YOUR_TOKEN_HERE"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "3c1de319-64fc-4cb8-b78f-92fbf0d7ecba",
      "name": "Save to Google Sheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        3660,
        600
      ],
      "parameters": {
        "columns": {
          "value": {
            "Topic": "={{ $('Define Search Keyword').item.json.keyword }}",
            "Discussion Summary": "={{ $json.output }}"
          },
          "schema": [
            {
              "id": "Topic",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Topic",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Discussion Summary",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Discussion Summary",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1eCtVRklGjweUv7HS4wfMEGtdyd8YGzNl0D-3zNbExgM/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1eCtVRklGjweUv7HS4wfMEGtdyd8YGzNl0D-3zNbExgM",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1eCtVRklGjweUv7HS4wfMEGtdyd8YGzNl0D-3zNbExgM/edit?usp=drivesdk",
          "cachedResultName": "Quora discussion summary"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "efd597da-ed96-49b5-94d9-c5202e39eeca",
      "name": "AI Feedback Summary1",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        3300,
        600
      ],
      "parameters": {
        "text": "=Summarize the following consumer feedback from Quora:\n{{ $json.answers }}",
        "options": {},
        "promptType": "define"
      },
      "typeVersion": 2
    },
    {
      "id": "99bc2765-9f81-449c-9eac-9138aad22117",
      "name": "Answers from Threads",
      "type": "n8n-nodes-base.html",
      "position": [
        3080,
        600
      ],
      "parameters": {
        "options": {},
        "operation": "extractHtmlContent",
        "extractionValues": {
          "values": [
            {
              "key": "answers",
              "cssSelector": "=<span style=\"font-weight: normal; font-style: normal; background: none;\">Well, from what I know, it depends what you're hoping to get out of it . Like , honestly, if your 15 is working fine , why bother ? I mean , my brother just got the 15 and he's already talking about the 16 , it's crazy . He's always gotta have the newest thing, you know ? Waste of money, probably . Unless there's something *really* different, a game changer , a must-have feature.. . which there probably isnt, but marketing makes you think there is! I upgraded from a 13 to a 14, and honestly? Didn't notice much difference . The camera was *slightly* better, I guess , but not a huge jump. Maybe </span>",
              "returnArray": true
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "e80004d6-b806-40cc-b91c-f04315a2cbf5",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1740,
        0
      ],
      "parameters": {
        "color": 5,
        "width": 420,
        "height": 780,
        "content": "### \ud83d\udd39 **SECTION 1: Define and Trigger the Search**\n\n**\ud83d\udd52 Trigger + \u270f\ufe0f Input Field**\n\n| Node | Name                           | Icon | Purpose                                                                                 |\n| ---- | ------------------------------ | ---- | --------------------------------------------------------------------------------------- |\n| \ud83d\udd52   | `Trigger: Run Periodically`    | \u23f0    | This node starts the workflow automatically based on a schedule (e.g., every 24 hours). |\n| \u270f\ufe0f   | `Input: Define Search Keyword` | \ud83d\udcdd   | Manually input the product name or topic to monitor (e.g., \"iPhone 16\").                |\n\n#### \ud83d\udca1 Why it's useful:\n\nThis section ensures your automation runs regularly and searches for the **right product/topic** you\u2019re interested in monitoring.\n\n---\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "875b5fef-45b8-494d-9984-252731491437",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2180,
        40
      ],
      "parameters": {
        "color": 6,
        "width": 580,
        "height": 740,
        "content": "### \ud83d\udd39 **SECTION 2: Scrape Quora Discussion Links via Google**\n\n**\ud83c\udf10 Scrape Google \u2192 \ud83e\uddfe Extract Links \u2192 \ud83d\udd27 Clean Links**\n\n| Node | Name                              | Icon | Purpose                                                                                   |\n| ---- | --------------------------------- | ---- | ----------------------------------------------------------------------------------------- |\n| \ud83c\udf10   | `Scrape: Google Search Results`   | \ud83c\udf0d   | Performs a Google search using Bright Data's Web Unlocker (`site:quora.com {{keyword}}`). |\n| \ud83d\udcc4   | `Extract: Links from Google HTML` | \ud83e\udde9   | Extracts thread URLs from Google\u2019s search result HTML using an HTML Extractor.            |\n| \ud83d\udd27   | `Code: Format Thread URLs`        | \ud83d\udee0\ufe0f  | Cleans up and structures the extracted thread links into usable format for next steps.    |\n\n#### \ud83d\udca1 Why it's useful:\n\nThis part **finds actual Quora discussions** relevant to your keyword (like \u201ciPhone 16\u201d), even bypassing limitations like logins or anti-bot measures using Bright Data.\n\n---\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "198121dc-1955-4528-a4be-9f80b837e98c",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2780,
        100
      ],
      "parameters": {
        "color": 3,
        "width": 440,
        "height": 680,
        "content": "### \ud83d\udd39 **SECTION 3: Scrape Actual Quora Answers**\n\n**\ud83c\udf10 Scrape Threads \u2192 \ud83d\udcc4 Extract Answer Content**\n\n| Node | Name                               | Icon | Purpose                                                   |\n| ---- | ---------------------------------- | ---- | --------------------------------------------------------- |\n| \ud83c\udf10   | `Scrape: Individual Quora Threads` | \ud83c\udf10   | Fetches full HTML of each Quora thread using Bright Data. |\n| \ud83d\udcc4   | `Extract: Answers from Threads`    | \ud83d\udcd1   | Extracts useful answers/comments from each thread\u2019s HTML. |\n\n#### \ud83d\udca1 Why it's useful:\n\nThis section dives deep into each Quora thread and **extracts actual user feedback**, questions, and opinions \u2014 the real goldmine for consumer insights.\n\n---\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "8a48bc8d-18fc-4561-81dd-4bdb47118a29",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3240,
        140
      ],
      "parameters": {
        "color": 2,
        "width": 580,
        "height": 800,
        "content": "### \ud83d\udd39 **SECTION 4: Summarize & Store the Insights**\n\n**\ud83e\udd16 AI Summary \u2192 \ud83d\udcca Google Sheet**\n\n| Node | Name                             | Icon | Purpose                                                                                        |\n| ---- | -------------------------------- | ---- | ---------------------------------------------------------------------------------------------- |\n| \ud83e\udd16   | `Summarize: AI Feedback Summary` | \ud83e\udd16   | Feeds all extracted text into OpenAI to generate a human-like summary of consumer feedback.    |\n| \ud83d\udcca   | `Store: Save to Google Sheet`    | \ud83d\udcc8   | Saves the summarized output into Google Sheets for record-keeping, reporting, or team sharing. |\n\n#### \ud83d\udca1 Why it's useful:\n\nThis section **turns raw user opinions into actionable insights** and logs them automatically in a spreadsheet, making it easy for marketers, product teams, or analysts to access.\n\n---\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "afb12d4e-a33e-4075-af50-6baea9823663",
      "name": "Sticky Note9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        0,
        0
      ],
      "parameters": {
        "color": 4,
        "width": 1300,
        "height": 320,
        "content": "=======================================\n            WORKFLOW ASSISTANCE\n=======================================\nFor any questions or support, please contact:\n    Yaron@nofluff.online\n\nExplore more tips and tutorials here:\n   - YouTube: https://www.youtube.com/@YaronBeen/videos\n   - LinkedIn: https://www.linkedin.com/in/yaronbeen/\n=======================================\n"
      },
      "typeVersion": 1
    },
    {
      "id": "50dca867-69b8-4f76-a72f-4d528d721da0",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        0,
        340
      ],
      "parameters": {
        "color": 4,
        "width": 1289,
        "height": 1958,
        "content": "## \ud83e\udde0 **AUTOMATED FORUM MONITORING & INSIGHT GENERATOR**\n\n**Powered by Bright Data, n8n, OpenAI, and Google Sheets**\n\n---\n\n### \ud83d\udd39 **SECTION 1: Define and Trigger the Search**\n\n**\ud83d\udd52 Trigger + \u270f\ufe0f Input Field**\n\n| Node | Name                           | Icon | Purpose                                                                                 |\n| ---- | ------------------------------ | ---- | --------------------------------------------------------------------------------------- |\n| \ud83d\udd52   | `Trigger: Run Periodically`    | \u23f0    | This node starts the workflow automatically based on a schedule (e.g., every 24 hours). |\n| \u270f\ufe0f   | `Input: Define Search Keyword` | \ud83d\udcdd   | Manually input the product name or topic to monitor (e.g., \"iPhone 16\").                |\n\n#### \ud83d\udca1 Why it's useful:\n\nThis section ensures your automation runs regularly and searches for the **right product/topic** you\u2019re interested in monitoring.\n\n---\n\n### \ud83d\udd39 **SECTION 2: Scrape Quora Discussion Links via Google**\n\n**\ud83c\udf10 Scrape Google \u2192 \ud83e\uddfe Extract Links \u2192 \ud83d\udd27 Clean Links**\n\n| Node | Name                              | Icon | Purpose                                                                                   |\n| ---- | --------------------------------- | ---- | ----------------------------------------------------------------------------------------- |\n| \ud83c\udf10   | `Scrape: Google Search Results`   | \ud83c\udf0d   | Performs a Google search using Bright Data's Web Unlocker (`site:quora.com {{keyword}}`). |\n| \ud83d\udcc4   | `Extract: Links from Google HTML` | \ud83e\udde9   | Extracts thread URLs from Google\u2019s search result HTML using an HTML Extractor.            |\n| \ud83d\udd27   | `Code: Format Thread URLs`        | \ud83d\udee0\ufe0f  | Cleans up and structures the extracted thread links into usable format for next steps.    |\n\n#### \ud83d\udca1 Why it's useful:\n\nThis part **finds actual Quora discussions** relevant to your keyword (like \u201ciPhone 16\u201d), even bypassing limitations like logins or anti-bot measures using Bright Data.\n\n---\n\n### \ud83d\udd39 **SECTION 3: Scrape Actual Quora Answers**\n\n**\ud83c\udf10 Scrape Threads \u2192 \ud83d\udcc4 Extract Answer Content**\n\n| Node | Name                               | Icon | Purpose                                                   |\n| ---- | ---------------------------------- | ---- | --------------------------------------------------------- |\n| \ud83c\udf10   | `Scrape: Individual Quora Threads` | \ud83c\udf10   | Fetches full HTML of each Quora thread using Bright Data. |\n| \ud83d\udcc4   | `Extract: Answers from Threads`    | \ud83d\udcd1   | Extracts useful answers/comments from each thread\u2019s HTML. |\n\n#### \ud83d\udca1 Why it's useful:\n\nThis section dives deep into each Quora thread and **extracts actual user feedback**, questions, and opinions \u2014 the real goldmine for consumer insights.\n\n---\n\n### \ud83d\udd39 **SECTION 4: Summarize & Store the Insights**\n\n**\ud83e\udd16 AI Summary \u2192 \ud83d\udcca Google Sheet**\n\n| Node | Name                             | Icon | Purpose                                                                                        |\n| ---- | -------------------------------- | ---- | ---------------------------------------------------------------------------------------------- |\n| \ud83e\udd16   | `Summarize: AI Feedback Summary` | \ud83e\udd16   | Feeds all extracted text into OpenAI to generate a human-like summary of consumer feedback.    |\n| \ud83d\udcca   | `Store: Save to Google Sheet`    | \ud83d\udcc8   | Saves the summarized output into Google Sheets for record-keeping, reporting, or team sharing. |\n\n#### \ud83d\udca1 Why it's useful:\n\nThis section **turns raw user opinions into actionable insights** and logs them automatically in a spreadsheet, making it easy for marketers, product teams, or analysts to access.\n\n---\n\n## \ud83c\udf81 **Benefits of This Workflow**\n\n\u2705 Automates tracking of online discussions around product launches\n\u2705 Bypasses anti-bot walls using Bright Data\n\u2705 Uses AI to summarize user feedback \u2014 no manual reading required\n\u2705 Saves results to Google Sheets for easy collaboration\n\u2705 Fully modular \u2014 change the topic anytime!\n\n---\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "ae18ba38-888b-4cf1-b6fb-6d0648d1bbdb",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3900,
        140
      ],
      "parameters": {
        "color": 7,
        "width": 380,
        "height": 240,
        "content": "## I\u2019ll receive a tiny commission if you join Bright Data through this link\u2014thanks for fueling more free content!\n\n### https://get.brightdata.com/1tndi4600b25"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "f3426c3d-894c-4ba7-bb50-8ffc1f444bb7",
  "connections": {
    "Run Periodically": {
      "main": [
        [
          {
            "node": "Define Search Keyword",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Feedback Summary1",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Format Thread URLs": {
      "main": [
        [
          {
            "node": "Individual Quora Threads",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Feedback Summary1": {
      "main": [
        [
          {
            "node": "Save to Google Sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Answers from Threads": {
      "main": [
        [
          {
            "node": "AI Feedback Summary1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Define Search Keyword": {
      "main": [
        [
          {
            "node": "Google Search Results",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Search Results": {
      "main": [
        [
          {
            "node": "Links from Google HTML",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Links from Google HTML": {
      "main": [
        [
          {
            "node": "Format Thread URLs",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Individual Quora Threads": {
      "main": [
        [
          {
            "node": "Answers from Threads",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}