{"workflow":{"id":13685,"name":"Scrape Reddit posts with BrowserAct, summarize with Gemini, and save to Google Sheets","views":94,"recentViews":1,"totalViews":94,"createdAt":"2026-02-25T07:40:34.366Z","description":"# 🕵️‍♂️ Reddit Intelligence Monitor: AI-Powered Scraping with BrowserAct\n\nAutomate your market research and competitor analysis with this powerful \"Set and Forget\" workflow. It monitors Reddit for specific keywords and competitor subreddits, uses **BrowserAct** for stealth scraping, analyzes the sentiment with AI, and delivers a daily intelligence digest to your Google Sheets.\n\n## 💡 Key Features\n- **Powered by BrowserAct**: Leverages cloud browser automation to stealthily scrape Reddit data without getting blocked.\n- **Dual-Track Monitoring**: Simultaneously tracks \"Brand Competitors\" (Subreddits) and \"Topic Keywords\" (Search Results).\n- **AI Analysis**: Summarizes the top 3 trending posts into a single concise daily report, filtering out noise.\n- **Structured Archive**: Automatically cleans, formats, and archives intelligence with source links into Google Sheets.\n\n## 🛠️ How it Works\n1. **Config Read**: Reads a list of monitoring targets from a Google Sheet.\n2. **Route**: Splits the task into two paths (Competitor vs. Keyword) based on input type.\n3. **Scrape**: **BrowserAct** navigates to the target Reddit pages and extracts the latest posts.\n4. **Process**: Custom Code nodes clean the data and merge top 3 posts into a single prompt.\n5. **Analyze**: AI Agent generates an executive summary for each topic.\n6. **Archive**: Final reports are appended to your \"Report\" Google Sheet.\n\n## 📋 Setup Guide\n1. **Google Sheets**: Create a sheet with two tabs:\n   - `Config`: Columns `keywords` (for search terms) and `competitor` (for subreddit names).\n   - `Report`: Columns `Date`, `Competitor/Keyword`, `Summary`, `Link`.\n2. **BrowserAct**: Connect your BrowserAct credentials and ensure you have the Reddit scraping task template ready.\n3. **AI Model**: Configure the Google Gemini Chat Model (or swap for OpenAI).\n4. **Schedule**: Enable the Schedule Trigger for daily automated runs.","workflow":{"id":"NqiKUyx6sTACfJyr","meta":{"instanceId":"8727c5985d37ac81c88b5d17199bedc005056c07551fea699d1140f95e6b10c4","templateCredsSetupCompleted":true},"name":"Reddit Intelligence Monitor: AI-Powered Scraping with BrowserAct","tags":[],"nodes":[{"id":"2b0263d5-2b2b-46dc-a4d3-dc0574f672bd","name":"Google Gemini Chat Model","type":"@n8n/n8n-nodes-langchain.lmChatGoogleGemini","position":[752,144],"parameters":{"options":{}},"credentials":{"googlePalmApi":{"id":"YMAlDzOtUExPuDdZ","name":"Google Gemini(PaLM) Api account 12"}},"typeVersion":1},{"id":"db0ed312-d201-43d9-a4c4-cc244a9c9c5c","name":"Google Gemini Chat Model1","type":"@n8n/n8n-nodes-langchain.lmChatGoogleGemini","position":[704,432],"parameters":{"options":{}},"credentials":{"googlePalmApi":{"id":"YMAlDzOtUExPuDdZ","name":"Google Gemini(PaLM) Api account 12"}},"typeVersion":1},{"id":"e4bc6c82-4380-4b12-9e11-0a4f27b8f427","name":"Schedule Trigger","type":"n8n-nodes-base.scheduleTrigger","position":[-128,-336],"parameters":{"rule":{"interval":[{"triggerAtHour":10}]}},"typeVersion":1.3},{"id":"0d1688a8-d586-4f37-8592-40fbe3326f32","name":"GSheets: Read Config","type":"n8n-nodes-base.googleSheets","position":[160,-336],"parameters":{"options":{},"sheetName":{"__rl":true,"mode":"list","value":"gid=0","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1nlneOUxetIxbTQBezlFnSO-wpd8jpxPgpACBglJ3Xhk/edit#gid=0","cachedResultName":"Config"},"documentId":{"__rl":true,"mode":"list","value":"1nlneOUxetIxbTQBezlFnSO-wpd8jpxPgpACBglJ3Xhk","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1nlneOUxetIxbTQBezlFnSO-wpd8jpxPgpACBglJ3Xhk/edit?usp=drivesdk","cachedResultName":"reddit competitor"},"authentication":"serviceAccount"},"credentials":{"googleApi":{"id":"wFw7MKsj8yedQe0i","name":"Google Service Account account 2"}},"typeVersion":4.7},{"id":"6bd7e52d-2467-446e-b21b-01773a88b40e","name":"If: Is Keyword?","type":"n8n-nodes-base.if","position":[432,-336],"parameters":{"options":{},"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"or","conditions":[{"id":"ab5280db-58a4-4b25-8324-8f481c4566eb","operator":{"type":"string","operation":"notEmpty","singleValue":true},"leftValue":"={{ $json.keywords }}","rightValue":""},{"id":"256ed4ef-9903-4550-89b6-9a7cef14e0b8","operator":{"type":"string","operation":"notEmpty","singleValue":true},"leftValue":"={{ $json.competitor }}","rightValue":""}]}},"typeVersion":2.3},{"id":"facf1e54-d089-4705-b4f3-7b5411a914e4","name":"Loop: Keyword List","type":"n8n-nodes-base.splitInBatches","position":[-160,-16],"parameters":{"options":{}},"typeVersion":3},{"id":"4658c82c-3e25-4d76-8c02-b33ff51e5f46","name":"BrowserAct: Scrape Keywords","type":"n8n-nodes-browseract.browserAct","position":[128,-16],"parameters":{"type":"WORKFLOW","workflowId":"77989276444567106","workflowConfig":{"value":{"input-keywords":"={{ $json.keywords }}"},"schema":[{"id":"input-target_url","type":"string","display":true,"removed":true,"required":false,"description":"If left blank, the default value defined in BrowserAct will be used.","displayName":"target_url","defaultMatch":true},{"id":"input-keywords","type":"string","display":true,"removed":false,"required":true,"description":"keywords is required","displayName":"* keywords","defaultMatch":true},{"id":"input-dropdown-menu","type":"string","display":true,"removed":true,"required":false,"description":"If left blank, the default value defined in BrowserAct will be used.","displayName":"dropdown-menu","defaultMatch":true}],"mappingMode":"defineBelow","matchingColumns":["input-target_url","input-keywords","input-dropdown-menu"],"attemptToConvertTypes":false,"convertFieldsToString":false}},"credentials":{"browserActApi":{"id":"B9O5ngIi316K8Djm","name":"BrowserAct account"}},"typeVersion":1},{"id":"073fa66f-e581-44cb-8b8b-a75e35a05cf5","name":"Clean Keyword Data","type":"n8n-nodes-base.code","position":[336,0],"parameters":{"jsCode":"\n\nlet posts = [];\nconst item = $input.first();\n\n\ntry {\n  const rawString = item.json.output.string || item.json.output || \"[]\";\n  if (typeof rawString === 'string') {\n    posts = JSON.parse(rawString);\n  } else if (Array.isArray(rawString)) {\n    posts = rawString;\n  }\n} catch (e) { posts = []; }\n\nconst results = [];\nconst topPosts = posts.slice(0, 3); \n\n\nfor (const post of topPosts) {\n  \n \n  const title = post[\"Title\"] || post[\"title\"] || \"无标题\";\n\n  \n  let content = post[\"content\"] || post[\"Content\"] || post[\"Post Content\"] || post[\"selftext\"] || \"无正文\";\n  \n\n  let url = \"\";\n  for (const key in post) {\n    const val = post[key];\n    if (typeof val === 'string' && val.startsWith(\"http\") && !val.match(/\\.(jpg|png|gif)$/i)) {\n       if (key.toLowerCase().includes(\"url\") || key.toLowerCase().includes(\"link\")) { \n         url = val; \n         break; \n       }\n       if (!url) url = val;\n    }\n  }\n\n  if (!url) url = post[\"Post URL\"] || post[\"post_url\"] || post[\"reddit_url\"] || \"\";\n\n \n  results.push({\n    json: {\n      title: title,\n      content: content, \n      url: url,\n      competitor: post[\"competitor\"] || post[\"Competitor\"] || \"未知竞品\"\n    }\n  });\n}\n\n\nif (results.length === 0) return [{json: {title: \"无数据\", content: \"\", url: \"\"}}];\n\nreturn results;"},"typeVersion":2},{"id":"080f16b5-183b-4ad3-881b-ee2e7450a702","name":"Format Keyword Digest","type":"n8n-nodes-base.code","position":[512,0],"parameters":{"jsCode":"\nconst items = $input.all();\n\nlet mergedText = \"\";\nconst competitorName = items[0]?.json?.competitor || \"未知竞品\";\n\n\nfor (let i = 0; i < items.length; i++) {\n  const item = items[i].json;\n  \n \n  mergedText += `\\n========== 第 ${i + 1} 篇动态 ==========\\n`;\n  mergedText += `【标题】：${item.title}\\n`;\n  mergedText += `【链接】：${item.url}\\n`;\n  mergedText += `【内容】：${item.content}\\n`; \n}\n\n\nreturn {\n  json: {\n    batch_content: mergedText, \n    competitor: competitorName\n  }\n};"},"typeVersion":2},{"id":"5f375240-e381-4ca2-8d2d-c717b07f216e","name":"Keyword Analyst","type":"@n8n/n8n-nodes-langchain.chainLlm","position":[704,0],"parameters":{"text":"=You are an efficient intelligence analyst. I will provide a text block containing **3 separate Reddit posts** regarding the competitor \"{{ $json.competitor }}\".\n\n**Your Task:**\nAnalyze each post individually and write a concise **English summary** (2-3 sentences max) for each.\n\n**Guidelines:**\n1. **Focus on Content:** What is the user actually saying? (Bug report, feature request, or general discussion?)\n2. **Be Direct:** No fluff. Get straight to the point.\n3. **Low Value:** If a post is pure spam, just a greeting, or has no substance, summarize it as \"No significant value.\"\n\n**Required Output Format:**\n\n1. **[Insert Post Title Here]**\n   Link: [Insert the specific post URL found in the text]\n   Summary: [Your English summary here]\n\n2. **[Insert Post Title Here]**\n   Link: [Insert the specific post URL found in the text]\n   Summary: [Your English summary here]\n\n3. **[Insert Post Title Here]**\n   Link: [Insert the specific post URL found in the text]\n   Summary: [Your English summary here]\n\n**Here is the content to analyze:**\n\"\"\"\n{{ $json.batch_content }}\n\"\"\"\n\n","batching":{},"promptType":"define"},"typeVersion":1.7},{"id":"a18c2fe6-c39a-4c58-bece-d2b7c70aa971","name":"Archive Keywords","type":"n8n-nodes-base.googleSheets","position":[976,0],"parameters":{"columns":{"value":{"Date":"={{ new Date().toLocaleDateString() }}","Summary":"={{ $json.text }}","Competitor":"={{ $('Format Keyword Digest').item.json.competitor }}"},"schema":[{"id":"Date","type":"string","display":true,"required":false,"displayName":"Date","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Competitor","type":"string","display":true,"required":false,"displayName":"Competitor","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Summary","type":"string","display":true,"required":false,"displayName":"Summary","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"append","sheetName":{"__rl":true,"mode":"list","value":533462161,"cachedResultUrl":"https://docs.google.com/spreadsheets/d/1nlneOUxetIxbTQBezlFnSO-wpd8jpxPgpACBglJ3Xhk/edit#gid=533462161","cachedResultName":"Report"},"documentId":{"__rl":true,"mode":"list","value":"1nlneOUxetIxbTQBezlFnSO-wpd8jpxPgpACBglJ3Xhk","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1nlneOUxetIxbTQBezlFnSO-wpd8jpxPgpACBglJ3Xhk/edit?usp=drivesdk","cachedResultName":"reddit competitor"},"authentication":"serviceAccount"},"credentials":{"googleApi":{"id":"wFw7MKsj8yedQe0i","name":"Google Service Account account 2"}},"typeVersion":4.7},{"id":"23248e31-0b61-4dc1-8972-95f6c28d2ae8","name":"Is Competitor?","type":"n8n-nodes-base.if","position":[880,-224],"parameters":{"options":{},"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"or","conditions":[{"id":"954ae4dd-2baf-4242-8c61-b2fc40ad2a17","operator":{"type":"string","operation":"notEmpty","singleValue":true},"leftValue":"={{ $json.keywords }}","rightValue":""},{"id":"a976edb7-f6cf-4ac5-852a-31464ce8ebba","operator":{"type":"string","operation":"notEmpty","singleValue":true},"leftValue":"={{ $json.competitor }}","rightValue":""}]}},"typeVersion":2.3},{"id":"782fba02-cee0-4a92-86f8-0cd454687d68","name":"Loop: Competitor List","type":"n8n-nodes-base.splitInBatches","position":[-176,272],"parameters":{"options":{}},"typeVersion":3},{"id":"b5c385b4-ec5b-409a-b219-512301f8194f","name":"BrowserAct: Scrape Subreddit","type":"n8n-nodes-browseract.browserAct","position":[64,288],"parameters":{"type":"WORKFLOW","workflowId":"78319322191107145","workflowConfig":{"value":{"input-keywords":"={{ $json.competitor }}"},"schema":[{"id":"input-target_url","type":"string","display":true,"removed":true,"required":false,"description":"If left blank, the default value defined in BrowserAct will be used.","displayName":"target_url","defaultMatch":true},{"id":"input-keywords","type":"string","display":true,"removed":false,"required":true,"description":"keywords is required","displayName":"* keywords","defaultMatch":true},{"id":"input-dropdown-menu","type":"string","display":true,"removed":true,"required":false,"description":"If left blank, the default value defined in BrowserAct will be used.","displayName":"dropdown-menu","defaultMatch":true}],"mappingMode":"defineBelow","matchingColumns":["input-target_url","input-keywords","input-dropdown-menu"],"attemptToConvertTypes":false,"convertFieldsToString":false}},"credentials":{"browserActApi":{"id":"B9O5ngIi316K8Djm","name":"BrowserAct account"}},"typeVersion":1},{"id":"60640869-450b-4dbd-906e-c7722d5bdb3b","name":"Clean Competitor Data","type":"n8n-nodes-base.code","position":[256,288],"parameters":{"jsCode":"\n\nlet posts = [];\nconst item = $input.first();\n\n\ntry {\n  const rawString = item.json.output.string || item.json.output || \"[]\";\n  if (typeof rawString === 'string') {\n    posts = JSON.parse(rawString);\n  } else if (Array.isArray(rawString)) {\n    posts = rawString;\n  }\n} catch (e) { posts = []; }\n\nconst results = [];\nconst topPosts = posts.slice(0, 3); \n\n\nfor (const post of topPosts) {\n  \n \n  const title = post[\"Title\"] || post[\"title\"] || \"无标题\";\n\n  \n  let content = post[\"content\"] || post[\"Content\"] || post[\"Post Content\"] || post[\"selftext\"] || \"无正文\";\n  \n\n  let url = \"\";\n  for (const key in post) {\n    const val = post[key];\n    if (typeof val === 'string' && val.startsWith(\"http\") && !val.match(/\\.(jpg|png|gif)$/i)) {\n       if (key.toLowerCase().includes(\"url\") || key.toLowerCase().includes(\"link\")) { \n         url = val; \n         break; \n       }\n       if (!url) url = val;\n    }\n  }\n\n  if (!url) url = post[\"Post URL\"] || post[\"post_url\"] || post[\"reddit_url\"] || \"\";\n\n \n  results.push({\n    json: {\n      title: title,\n      content: content, \n      url: url,\n      competitor: post[\"competitor\"] || post[\"Competitor\"] || \"未知竞品\"\n    }\n  });\n}\n\n\nif (results.length === 0) return [{json: {title: \"无数据\", content: \"\", url: \"\"}}];\n\nreturn results;"},"typeVersion":2},{"id":"766657f9-3c48-47bc-9cb0-b71a2bba546e","name":"Format Competitor Digest","type":"n8n-nodes-base.code","position":[464,288],"parameters":{"jsCode":"\nconst items = $input.all();\n\nlet mergedText = \"\";\nconst competitorName = items[0]?.json?.competitor || \"未知竞品\";\n\n\nfor (let i = 0; i < items.length; i++) {\n  const item = items[i].json;\n  \n \n  mergedText += `\\n========== 第 ${i + 1} 篇动态 ==========\\n`;\n  mergedText += `【标题】：${item.title}\\n`;\n  mergedText += `【链接】：${item.url}\\n`;\n  mergedText += `【内容】：${item.content}\\n`; \n}\n\n\nreturn {\n  json: {\n    batch_content: mergedText, \n    competitor: competitorName\n  }\n};"},"typeVersion":2},{"id":"9ee816e9-5b50-44fc-a5d1-bdd4cc0ee7c2","name":"Competitor Analyst","type":"@n8n/n8n-nodes-langchain.chainLlm","position":[640,288],"parameters":{"text":"=You are an efficient intelligence analyst. I will provide a text block containing **3 separate Reddit posts** regarding the competitor \"{{ $json.competitor }}\".\n\n**Your Task:**\nAnalyze each post individually and write a concise **English summary** (2-3 sentences max) for each.\n\n**Guidelines:**\n1. **Focus on Content:** What is the user actually saying? (Bug report, feature request, or general discussion?)\n2. **Be Direct:** No fluff. Get straight to the point.\n3. **Low Value:** If a post is pure spam, just a greeting, or has no substance, summarize it as \"No significant value.\"\n\n**Required Output Format:**\n\n1. **[Insert Post Title Here]**\n   Link: [Insert the specific post URL found in the text]\n   Summary: [Your English summary here]\n\n2. **[Insert Post Title Here]**\n   Link: [Insert the specific post URL found in the text]\n   Summary: [Your English summary here]\n\n3. **[Insert Post Title Here]**\n   Link: [Insert the specific post URL found in the text]\n   Summary: [Your English summary here]\n\n**Here is the content to analyze:**\n\"\"\"\n{{ $json.batch_content }}\n\"\"\"\n\n","batching":{},"promptType":"define"},"typeVersion":1.7},{"id":"ebc716df-18b4-4cd5-a512-7f875773ef3b","name":"Archive Competitors","type":"n8n-nodes-base.googleSheets","position":[992,288],"parameters":{"columns":{"value":{"Date":"={{ new Date().toLocaleDateString() }}","Summary":"={{ $json.text }}","keywords":"={{ $('Format Competitor Digest').item.json.competitor }}"},"schema":[{"id":"Date","type":"string","display":true,"required":false,"displayName":"Date","defaultMatch":false,"canBeUsedToMatch":true},{"id":"keywords","type":"string","display":true,"required":false,"displayName":"keywords","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Summary","type":"string","display":true,"required":false,"displayName":"Summary","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"append","sheetName":{"__rl":true,"mode":"list","value":1496097554,"cachedResultUrl":"https://docs.google.com/spreadsheets/d/1nlneOUxetIxbTQBezlFnSO-wpd8jpxPgpACBglJ3Xhk/edit#gid=1496097554","cachedResultName":"Report02"},"documentId":{"__rl":true,"mode":"list","value":"1nlneOUxetIxbTQBezlFnSO-wpd8jpxPgpACBglJ3Xhk","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1nlneOUxetIxbTQBezlFnSO-wpd8jpxPgpACBglJ3Xhk/edit?usp=drivesdk","cachedResultName":"reddit competitor"},"authentication":"serviceAccount"},"credentials":{"googleApi":{"id":"wFw7MKsj8yedQe0i","name":"Google Service Account account 2"}},"typeVersion":4.7},{"id":"e9c8abb0-1237-4d16-8a8a-0b227ce22382","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[-1024,-336],"parameters":{"width":800,"height":832,"content":"# 🕵️‍♂️ Reddit Intelligence Monitor: AI-Powered Scraping with BrowserAct\n\nAutomate your market research and competitor analysis with this powerful \"Set and Forget\" workflow. It monitors Reddit for specific keywords and competitor subreddits, uses **BrowserAct** for stealth scraping, analyzes the sentiment with AI, and delivers a daily intelligence digest to your Google Sheets.\n\n## 💡 Key Features\n- **Powered by BrowserAct**: Leverages cloud browser automation to stealthily scrape Reddit data without getting blocked.\n- **Dual-Track Monitoring**: Simultaneously tracks \"Brand Competitors\" (Subreddits) and \"Topic Keywords\" (Search Results).\n- **AI Analysis**: Summarizes the top 3 trending posts into a single concise daily report, filtering out noise.\n- **Structured Archive**: Automatically cleans, formats, and archives intelligence with source links into Google Sheets.\n\n## 🛠️ How it Works\n1. **Config Read**: Reads a list of monitoring targets from a Google Sheet.\n2. **Route**: Splits the task into two paths (Competitor vs. Keyword) based on input type.\n3. **Scrape**: **BrowserAct** navigates to the target Reddit pages and extracts the latest posts.\n4. **Process**: Custom Code nodes clean the data and merge top 3 posts into a single prompt.\n5. **Analyze**: AI Agent generates an executive summary for each topic.\n6. **Archive**: Final reports are appended to your \"Report\" Google Sheet.\n\n## 📋 Setup Guide\n1. **Google Sheets**: Create a sheet with two tabs:\n   - `Config`: Columns `keywords` (for search terms) and `competitor` (for subreddit names).\n   - `Report`: Columns `Date`, `Competitor/Keyword`, `Summary`, `Link`.\n2. **BrowserAct**: Connect your BrowserAct credentials and ensure you have the Reddit scraping task template ready.\n3. **AI Model**: Configure the Google Gemini Chat Model (or swap for OpenAI).\n4. **Schedule**: Enable the Schedule Trigger for daily automated runs."},"typeVersion":1},{"id":"83718d7f-58fc-4222-9867-6a51a20e2ce5","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[-192,-432],"parameters":{"color":3,"width":608,"height":240,"content":"Title: 1. Prep Your Google Sheet\nText: Make a sheet with two tabs. \"Config\" needs columns: keywords, competitor. \"Report\" needs columns: Date, Competitor, Summary, Link to save your results."},"typeVersion":1},{"id":"da30cd01-4126-49b9-a74c-f6251f99ccd1","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[-192,-160],"parameters":{"color":5,"width":448,"height":656,"content":"Title: 2. Link BrowserAct\nText: This node acts as your robot to browse Reddit. Just paste your own \"Task ID\" from your BrowserAct account so it knows what to do."},"typeVersion":1},{"id":"a4a0d519-a285-467c-8b23-419e86da4f01","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[512,-128],"parameters":{"color":4,"width":438,"height":624,"content":"Title: 3. Smart AI Summary\nText: Instead of reading posts one by one, we pack 3 posts together for the AI. This saves you money on AI tokens and gives one clean summary."},"typeVersion":1}],"active":false,"pinData":{},"settings":{"timezone":"Asia/Shanghai","callerPolicy":"workflowsFromSameOwner","timeSavedMode":"fixed","availableInMCP":false,"executionOrder":"v1"},"versionId":"5aec712e-9d88-4332-9fff-ca6bc7ea4a38","connections":{"Is Competitor?":{"main":[[{"node":"Loop: Competitor List","type":"main","index":0}]]},"If: Is Keyword?":{"main":[[{"node":"Loop: Keyword List","type":"main","index":0}]]},"Keyword Analyst":{"main":[[{"node":"Archive Keywords","type":"main","index":0}]]},"Archive Keywords":{"main":[[{"node":"Loop: Keyword List","type":"main","index":0}]]},"Schedule Trigger":{"main":[[{"node":"GSheets: Read Config","type":"main","index":0}]]},"Clean Keyword Data":{"main":[[{"node":"Format Keyword Digest","type":"main","index":0}]]},"Competitor Analyst":{"main":[[{"node":"Archive Competitors","type":"main","index":0}]]},"Loop: Keyword List":{"main":[[],[{"node":"BrowserAct: Scrape Keywords","type":"main","index":0}]]},"Archive Competitors":{"main":[[{"node":"Loop: Competitor List","type":"main","index":0}]]},"GSheets: Read Config":{"main":[[{"node":"If: Is Keyword?","type":"main","index":0},{"node":"Is Competitor?","type":"main","index":0}]]},"Clean Competitor Data":{"main":[[{"node":"Format Competitor Digest","type":"main","index":0}]]},"Format Keyword Digest":{"main":[[{"node":"Keyword Analyst","type":"main","index":0}]]},"Loop: Competitor List":{"main":[[],[{"node":"BrowserAct: Scrape Subreddit","type":"main","index":0}]]},"Format Competitor Digest":{"main":[[{"node":"Competitor Analyst","type":"main","index":0}]]},"Google Gemini Chat Model":{"ai_languageModel":[[{"node":"Keyword Analyst","type":"ai_languageModel","index":0}]]},"Google Gemini Chat Model1":{"ai_languageModel":[[{"node":"Competitor Analyst","type":"ai_languageModel","index":0}]]},"BrowserAct: Scrape Keywords":{"main":[[{"node":"Clean Keyword Data","type":"main","index":0}]]},"BrowserAct: Scrape Subreddit":{"main":[[{"node":"Clean Competitor Data","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":22,"nodeTypes":{"n8n-nodes-base.if":{"count":2},"n8n-nodes-base.code":{"count":4},"n8n-nodes-base.stickyNote":{"count":4},"n8n-nodes-base.googleSheets":{"count":3},"n8n-nodes-base.splitInBatches":{"count":2},"n8n-nodes-base.scheduleTrigger":{"count":1},"n8n-nodes-browseract.browserAct":{"count":2},"@n8n/n8n-nodes-langchain.chainLlm":{"count":2},"@n8n/n8n-nodes-langchain.lmChatGoogleGemini":{"count":2}}},"status":"published","readyToDemo":null,"user":{"name":"browseract","username":"browseract","bio":"","verified":true,"links":[],"avatar":"https://gravatar.com/avatar/54143c5aa390dc23f24e61f6ff9b1c68770ecbaa6cd8dd387c3d5054097248f4?r=pg&d=retro&size=200"},"nodes":[{"id":18,"icon":"file:googleSheets.svg","name":"n8n-nodes-base.googleSheets","codex":{"data":{"alias":["CSV","Sheet","Spreadsheet","GS"],"resources":{"generic":[{"url":"https://n8n.io/blog/love-at-first-sight-ricardos-n8n-journey/","icon":"❤️","label":"Love at first sight: Ricardo’s n8n journey"},{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/","icon":"🧾","label":"Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"},{"url":"https://n8n.io/blog/supercharging-your-conference-registration-process-with-n8n/","icon":"🎫","label":"Supercharging your conference registration process with n8n"},{"url":"https://n8n.io/blog/creating-triggers-for-n8n-workflows-using-polling/","icon":"⏲","label":"Creating triggers for n8n workflows using polling"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/migrating-community-metrics-to-orbit-using-n8n/","icon":"📈","label":"Migrating Community Metrics to Orbit using n8n"},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/your-business-doesnt-need-you-to-operate/","icon":" 🖥️","label":"Hey founders! Your business doesn't need you to operate"},{"url":"https://n8n.io/blog/how-honest-burgers-use-automation-to-save-100k-per-year/","icon":"🍔","label":"How Honest Burgers Use Automation to Save $100k per year"},{"url":"https://n8n.io/blog/how-a-digital-strategist-uses-n8n-for-online-marketing/","icon":"💻","label":"How a digital strategist uses n8n for online marketing"},{"url":"https://n8n.io/blog/why-this-product-manager-loves-workflow-automation-with-n8n/","icon":"🧠","label":"Why this Product Manager loves workflow automation with n8n"},{"url":"https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/","icon":"🙌","label":"Sending Automated Congratulations with Google Sheets, Twilio, and n8n "},{"url":"https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/","icon":"📈","label":"How a Membership Development Manager automates his work and investments"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]},"categories":["Data & Storage","Productivity"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"input\",\"output\"]","defaults":{"name":"Google Sheets"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2MCIgaGVpZ2h0PSI2MCI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGZpbGw9IiMyOEI0NDYiIGQ9Ik0zNS42OSAxIDUyIDE3LjIyNXYzOS4wODdhMy42NyAzLjY3IDAgMCAxLTEuMDg0IDIuNjFBMy43IDMuNyAwIDAgMSA0OC4yOTMgNjBIMTIuNzA3YTMuNyAzLjcgMCAwIDEtMi42MjMtMS4wNzhBMy42NyAzLjY3IDAgMCAxIDkgNTYuMzEyVjQuNjg4YTMuNjcgMy42NyAwIDAgMSAxLjA4NC0yLjYxQTMuNyAzLjcgMCAwIDEgMTIuNzA3IDF6Ii8+PHBhdGggZmlsbD0iIzZBQ0U3QyIgZD0iTTM1LjY5IDEgNTIgMTcuMjI1SDM5LjM5N2MtMi4wNTQgMC0zLjcwNy0xLjgyOS0zLjcwNy0zLjg3MnoiLz48cGF0aCBmaWxsPSIjMjE5QjM4IiBkPSJNMzkuMjExIDE3LjIyNSA1MiAyMi40OHYtNS4yNTV6Ii8+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTIwLjEyIDMxLjk3NWMwLS44MTcuNjYyLTEuNDc1IDEuNDgzLTEuNDc1aDE3Ljc5NGMuODIxIDAgMS40ODIuNjU4IDEuNDgyIDEuNDc1djE1LjQ4N2MwIC44MTgtLjY2MSAxLjQ3NS0xLjQ4MiAxLjQ3NUgyMS42MDNhMS40NzYgMS40NzYgMCAwIDEtMS40ODItMS40NzRWMzEuOTc0em0yLjIyNSAxLjQ3NWg2LjY3MnYyLjIxMmgtNi42NzJ6bTAgNS4xNjJoNi42NzJ2Mi4yMTNoLTYuNjcyem0wIDUuMTYzaDYuNjcydjIuMjEyaC02LjY3MnptOS42MzgtMTAuMzI1aDYuNjcydjIuMjEyaC02LjY3MnptMCA1LjE2Mmg2LjY3MnYyLjIxM2gtNi42NzJ6bTAgNS4xNjNoNi42NzJ2Mi4yMTJoLTYuNjcyeiIvPjxwYXRoIGZpbGw9IiMyOEI0NDYiIGQ9Ik0zNC42OSAwIDUxIDE2LjIyNXYzOS4wODdhMy42NyAzLjY3IDAgMCAxLTEuMDg0IDIuNjFBMy43IDMuNyAwIDAgMSA0Ny4yOTMgNTlIMTEuNzA3YTMuNyAzLjcgMCAwIDEtMi42MjMtMS4wNzhBMy42NyAzLjY3IDAgMCAxIDggNTUuMzEyVjMuNjg4YTMuNjcgMy42NyAwIDAgMSAxLjA4NC0yLjYxQTMuNyAzLjcgMCAwIDEgMTEuNzA3IDB6Ii8+PHBhdGggZmlsbD0iIzZBQ0U3QyIgZD0iTTM0LjY5IDAgNTEgMTYuMjI1SDM4LjM5N2MtMi4wNTQgMC0zLjcwNy0xLjgyOS0zLjcwNy0zLjg3MnoiLz48cGF0aCBmaWxsPSIjMjE5QjM4IiBkPSJNMzguMjExIDE2LjIyNSA1MSAyMS40OHYtNS4yNTV6Ii8+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTE5LjEyIDMwLjk3NWMwLS44MTcuNjYyLTEuNDc1IDEuNDgzLTEuNDc1aDE3Ljc5NGMuODIxIDAgMS40ODIuNjU4IDEuNDgyIDEuNDc1djE1LjQ4N2MwIC44MTgtLjY2MSAxLjQ3NS0xLjQ4MiAxLjQ3NUgyMC42MDNhMS40NzYgMS40NzYgMCAwIDEtMS40ODItMS40NzRWMzAuOTc0em0yLjIyNSAxLjQ3NWg2LjY3MnYyLjIxMmgtNi42NzJ6bTAgNS4xNjJoNi42NzJ2Mi4yMTNoLTYuNjcyem0wIDUuMTYzaDYuNjcydjIuMjEyaC02LjY3MnptOS42MzgtMTAuMzI1aDYuNjcydjIuMjEyaC02LjY3MnptMCA1LjE2Mmg2LjY3MnYyLjIxM2gtNi42NzJ6bTAgNS4xNjNoNi42NzJ2Mi4yMTJoLTYuNjcyeiIvPjwvZz48L3N2Zz4="},"displayName":"Google Sheets","typeVersion":5,"nodeCategories":[{"id":3,"name":"Data & Storage"},{"id":4,"name":"Productivity"}]},{"id":20,"icon":"fa:map-signs","name":"n8n-nodes-base.if","codex":{"data":{"alias":["Router","Filter","Condition","Logic","Boolean","Branch"],"details":"The IF node can be used to implement binary conditional logic in your workflow. You can set up one-to-many conditions to evaluate each item of data being inputted into the node. That data will either evaluate to TRUE or FALSE and route out of the node accordingly.\n\nThis node has multiple types of conditions: Bool, String, Number, and Date & Time.","resources":{"generic":[{"url":"https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/","icon":"🏭","label":"Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"},{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/create-a-toxic-language-detector-for-telegram/","icon":"🤬","label":"Create a toxic language detector for Telegram in 4 step"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/","icon":"🔗","label":"How to build a low-code, self-hosted URL shortener in 3 steps"},{"url":"https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/","icon":"⚙️","label":"Automate your data processing pipeline in 9 steps"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/automation-for-maintainers-of-open-source-projects/","icon":"🏷️","label":"How to automatically manage contributions to open-source projects"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/why-this-product-manager-loves-workflow-automation-with-n8n/","icon":"🧠","label":"Why this Product Manager loves workflow automation with n8n"},{"url":"https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/","icon":"🙌","label":"Sending Automated Congratulations with Google Sheets, Twilio, and n8n "},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.if/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow"]}}},"group":"[\"transform\"]","defaults":{"name":"If","color":"#408000"},"iconData":{"icon":"map-signs","type":"icon"},"displayName":"If","typeVersion":2,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":39,"icon":"fa:sync","name":"n8n-nodes-base.splitInBatches","codex":{"data":{"alias":["Loop","Concatenate","Batch","Split","Split In Batches"],"resources":{"generic":[{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.splitinbatches/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow"]}}},"group":"[\"organization\"]","defaults":{"name":"Loop Over Items","color":"#007755"},"iconData":{"icon":"sync","type":"icon"},"displayName":"Loop Over Items (Split in Batches)","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":565,"icon":"fa:sticky-note","name":"n8n-nodes-base.stickyNote","codex":{"data":{"alias":["Comments","Notes","Sticky"],"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"input\"]","defaults":{"name":"Sticky Note","color":"#FFD233"},"iconData":{"icon":"sticky-note","type":"icon"},"displayName":"Sticky Note","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":834,"icon":"file:code.svg","name":"n8n-nodes-base.code","codex":{"data":{"alias":["cpde","Javascript","JS","Python","Script","Custom Code","Function"],"details":"The Code node allows you to execute JavaScript in your workflow.","resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.code/"}]},"categories":["Development","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers","Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Code"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8xMTcxXzQ0MSkiPgo8cGF0aCBkPSJNMTcwLjI4MyA0OEgxOTYuNUMyMDMuMTI3IDQ4IDIwOC41IDQyLjYyNzQgMjA4LjUgMzZWMTJDMjA4LjUgNS4zNzI1OCAyMDMuMTI3IDAgMTk2LjUgMEgxNzAuMjgzQzEyNi4xIDAgOTAuMjgzIDM1LjgxNzIgOTAuMjgzIDgwVjE3NkM5MC4yODMgMjA2LjkyOCA2NS4yMTA5IDIzMiAzNC4yODMgMjMySDIzQzE2LjM3MjYgMjMyIDExIDIzNy4zNzIgMTEgMjQ0VjI2OEMxMSAyNzQuNjI3IDE2LjM3MjQgMjgwIDIyLjk5OTYgMjgwTDM0LjI4MyAyODBDNjUuMjEwOSAyODAgOTAuMjgzIDMwNS4wNzIgOTAuMjgzIDMzNlY0NDBDOTAuMjgzIDQ3OS43NjQgMTIyLjUxOCA1MTIgMTYyLjI4MyA1MTJIMTk2LjVDMjAzLjEyNyA1MTIgMjA4LjUgNTA2LjYyNyAyMDguNSA1MDBWNDc2QzIwOC41IDQ2OS4zNzMgMjAzLjEyNyA0NjQgMTk2LjUgNDY0SDE2Mi4yODNDMTQ5LjAyOCA0NjQgMTM4LjI4MyA0NTMuMjU1IDEzOC4yODMgNDQwVjMzNkMxMzguMjgzIDMwOS4wMjIgMTI4LjAxMSAyODQuNDQzIDExMS4xNjQgMjY1Ljk2MUMxMDYuMTA5IDI2MC40MTYgMTA2LjEwOSAyNTEuNTg0IDExMS4xNjQgMjQ2LjAzOUMxMjguMDExIDIyNy41NTcgMTM4LjI4MyAyMDIuOTc4IDEzOC4yODMgMTc2VjgwQzEzOC4yODMgNjIuMzI2OSAxNTIuNjEgNDggMTcwLjI4MyA0OFoiIGZpbGw9IiNGRjk5MjIiLz4KPHBhdGggZD0iTTMwNSAzNkMzMDUgNDIuNjI3NCAzMTAuMzczIDQ4IDMxNyA0OEgzNDIuOTc5QzM2MC42NTIgNDggMzc0Ljk3OCA2Mi4zMjY5IDM3NC45NzggODBWMTc2QzM3NC45NzggMjAyLjk3OCAzODUuMjUxIDIyNy41NTcgNDAyLjA5OCAyNDYuMDM5QzQwNy4xNTMgMjUxLjU4NCA0MDcuMTUzIDI2MC40MTYgNDAyLjA5OCAyNjUuOTYxQzM4NS4yNTEgMjg0LjQ0MyAzNzQuOTc4IDMwOS4wMjIgMzc0Ljk3OCAzMzZWNDMyQzM3NC45NzggNDQ5LjY3MyAzNjAuNjUyIDQ2NCAzNDIuOTc5IDQ2NEgzMTdDMzEwLjM3MyA0NjQgMzA1IDQ2OS4zNzMgMzA1IDQ3NlY1MDBDMzA1IDUwNi42MjcgMzEwLjM3MyA1MTIgMzE3IDUxMkgzNDIuOTc5QzM4Ny4xNjEgNTEyIDQyMi45NzggNDc2LjE4MyA0MjIuOTc4IDQzMlYzMzZDNDIyLjk3OCAzMDUuMDcyIDQ0OC4wNTEgMjgwIDQ3OC45NzkgMjgwSDQ5MEM0OTYuNjI3IDI4MCA1MDIgMjc0LjYyOCA1MDIgMjY4VjI0NEM1MDIgMjM3LjM3MyA0OTYuNjI4IDIzMiA0OTAgMjMyTDQ3OC45NzkgMjMyQzQ0OC4wNTEgMjMyIDQyMi45NzggMjA2LjkyOCA0MjIuOTc4IDE3NlY4MEM0MjIuOTc4IDM1LjgxNzIgMzg3LjE2MSAwIDM0Mi45NzkgMEgzMTdDMzEwLjM3MyAwIDMwNSA1LjM3MjU4IDMwNSAxMlYzNloiIGZpbGw9IiNGRjk5MjIiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8xMTcxXzQ0MSI+CjxyZWN0IHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo="},"displayName":"Code","typeVersion":2,"nodeCategories":[{"id":5,"name":"Development"},{"id":9,"name":"Core Nodes"}]},{"id":839,"icon":"fa:clock","name":"n8n-nodes-base.scheduleTrigger","codex":{"data":{"alias":["Time","Scheduler","Polling","Cron","Interval"],"resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.scheduletrigger/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"trigger\",\"schedule\"]","defaults":{"name":"Schedule Trigger","color":"#31C49F"},"iconData":{"icon":"clock","type":"icon"},"displayName":"Schedule Trigger","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":1123,"icon":"fa:link","name":"@n8n/n8n-nodes-langchain.chainLlm","codex":{"data":{"alias":["LangChain"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.chainllm/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Chains","Root Nodes"]}}},"group":"[\"transform\"]","defaults":{"name":"Basic LLM Chain","color":"#909298"},"iconData":{"icon":"link","type":"icon"},"displayName":"Basic LLM Chain","typeVersion":2,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1262,"icon":"file:google.svg","name":"@n8n/n8n-nodes-langchain.lmChatGoogleGemini","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatgooglegemini/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Language Models","Root Nodes"],"Language Models":["Chat Models (Recommended)"]}}},"group":"[\"transform\"]","defaults":{"name":"Google Gemini Chat Model"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgNDggNDgiPjxkZWZzPjxwYXRoIGlkPSJhIiBkPSJNNDQuNSAyMEgyNHY4LjVoMTEuOEMzNC43IDMzLjkgMzAuMSAzNyAyNCAzN2MtNy4yIDAtMTMtNS44LTEzLTEzczUuOC0xMyAxMy0xM2MzLjEgMCA1LjkgMS4xIDguMSAyLjlsNi40LTYuNEMzNC42IDQuMSAyOS42IDIgMjQgMiAxMS44IDIgMiAxMS44IDIgMjRzOS44IDIyIDIyIDIyYzExIDAgMjEtOCAyMS0yMiAwLTEuMy0uMi0yLjctLjUtNCIvPjwvZGVmcz48Y2xpcFBhdGggaWQ9ImIiPjx1c2UgeGxpbms6aHJlZj0iI2EiIG92ZXJmbG93PSJ2aXNpYmxlIi8+PC9jbGlwUGF0aD48cGF0aCBmaWxsPSIjRkJCQzA1IiBkPSJNMCAzN1YxMWwxNyAxM3oiIGNsaXAtcGF0aD0idXJsKCNiKSIvPjxwYXRoIGZpbGw9IiNFQTQzMzUiIGQ9Im0wIDExIDE3IDEzIDctNi4xTDQ4IDE0VjBIMHoiIGNsaXAtcGF0aD0idXJsKCNiKSIvPjxwYXRoIGZpbGw9IiMzNEE4NTMiIGQ9Im0wIDM3IDMwLTIzIDcuOSAxTDQ4IDB2NDhIMHoiIGNsaXAtcGF0aD0idXJsKCNiKSIvPjxwYXRoIGZpbGw9IiM0Mjg1RjQiIGQ9Ik00OCA0OCAxNyAyNGwtNC0zIDM1LTEweiIgY2xpcC1wYXRoPSJ1cmwoI2IpIi8+PC9zdmc+"},"displayName":"Google Gemini Chat Model","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]}],"categories":[{"id":32,"name":"Market Research"},{"id":49,"name":"AI Summarization"}],"image":[]}}