AutomationFlowsAI & RAG › Forum Monitoring Automation with Bright Data & N8n

Forum Monitoring Automation with Bright Data & N8n

ByYaron Been @yaron-nofluff on n8n.io

This workflow automatically monitors online forums for specific keywords, topics, or competitor mentions. It helps you stay on top of relevant discussions without manually checking multiple forums throughout the day.

Cron / scheduled trigger★★★★☆ complexityAI-powered17 nodesOpenAI ChatHTTP RequestGoogle SheetsAgent
AI & RAG Trigger: Cron / scheduled Nodes: 17 Complexity: ★★★★☆ AI nodes: yes Added:

This workflow corresponds to n8n.io template #5213 — 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": "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
          }
        ]
      ]
    }
  }
}

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 automatically monitors online forums for specific keywords, topics, or competitor mentions. It helps you stay on top of relevant discussions without manually checking multiple forums throughout the day.

Source: https://n8n.io/workflows/5213/ — 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 n8n automation workflow automates the creation, scripting, production, and posting of YouTube videos. It leverages AI (OpenAI), image generation (PIAPI), video rendering (Shotstack), and platform

Agent, OpenAI Chat, Airtable Tool +7
AI & RAG

This workflow is designed for: Content creators and marketers E-commerce and product-based businesses Agencies producing social media visuals and videos Automation builders looking for AI-powered crea

HTTP Request, Edit Image, Google Drive +7
AI & RAG

Generate product images with NanoBanana Pro to Veo videos and Blotato - vide 2 ok. Uses httpRequest, editImage, googleDrive, googleSheets. Scheduled trigger; 76 nodes.

HTTP Request, Edit Image, Google Drive +7
AI & RAG

Created by: Peyton Leveillee Last updated: October 2025

OpenAI Chat, Google Sheets, HTTP Request +5
AI & RAG

The Multi-Model Agency Content Engine is a high-performance editorial system designed for agencies. It solves the "blank page" problem by alternating between real-world social proof and strategic expe

Google Sheets, Gmail, Google Drive +6