{"workflow":{"id":13380,"name":"Monitor Clutch categories for new agencies with BrowserAct, Gemini, and Slack","views":59,"recentViews":0,"totalViews":59,"createdAt":"2026-02-13T14:26:22.864Z","description":"# Monitor Clutch categories for new agencies to Slack With BrowserAct and Gemini\n\n## Introduction\n\nThis workflow automates the discovery of new B2B service providers entering the market. It scrapes a specific category on Clutch.co weekly, standardizes the data using AI, and compares it against a historical database to identify only the fresh \"new entrants.\" These leads are then sent to Slack as a \"Hot Alert.\"\n\n## Target Audience\n\nSales Development Representatives (SDRs), partnership managers, and lead generation agencies looking for new agencies or service providers before their competitors find them.\n\n## How it works\n\n1. **Scheduling:** A **Weekly Trigger** initiates the scan to ensure regular monitoring of the market.\n2. **Targeting:** A **Set** node defines the specific Clutch category URL to monitor (e.g., `https://clutch.co/developers`).\n3. **Data Extraction:** The **BrowserAct** node runs the \"The New Entrant Asset Finder\" template.  It navigates to the target category and scrapes the current list of companies.\n4. **Data Cleaning:** An **AI Agent** (using OpenRouter/Gemini) processes the raw scraped data. It fixes formatting issues, such as converting \"$10,000+\" to integers and splitting \"City, Country\" strings into separate fields.\n5. **Staging:** The cleaned data is written to a temporary \"Second Extraction\" sheet in **Google Sheets**.\n6. **Change Detection:** The workflow retrieves the *previous* week's data (\"Database\") and the *current* week's data.  A second **AI Agent** compares the two lists to identify companies that exist in the new scan but not the old one.\n7. **Notification:** If new companies are found, a **Slack** node posts a formatted alert with details like \"Company Name,\" \"Rate,\" and \"Website.\"\n8. **Database Update:** The workflow clears the old database and replaces it with the latest scan, establishing a new baseline for the next week's comparison.\n\n## How to set up\n\n1. **Configure Credentials:** Connect your **BrowserAct**, **OpenRouter**, **Google Sheets**, and **Slack** accounts in n8n.\n2. **Prepare BrowserAct:** Ensure the **The New Entrant Asset Finder** template is active in your BrowserAct library.\n3. **Prepare Google Sheet:** Create a Google Sheet with two tabs:\n* `Database (First Extarction)`\n* `Second Extraction`\n\n\n4. **Define Target:** Open the **Clutch Category Link** node and paste the URL of the Clutch category you want to track.\n5. **Configure IDs:** Update the **Google Sheets** nodes to point to your specific spreadsheet file and the respective tabs mentioned above.\n\n## Google Sheet Headers\n\nTo use this workflow, ensure your Google Sheet tabs use the following headers:\n\n* `company_name`\n* `website_url`\n* `min_project_value_usd`\n* `hourly_rate_low`\n* `hourly_rate_high`\n* `employees_range`\n* `city`\n* `country`\n* `short_description`\n\n## Requirements\n\n* **BrowserAct Account:** Required for scraping. Template: **The New Entrant Asset Finder**.\n* **OpenRouter Account:** Required for cleaning data and detecting changes.\n* **Google Sheets:** Acts as the historical database.\n* **Slack Account:** Used for receiving lead alerts.\n\n## How to customize the workflow\n\n1. **Change the Source:** Modify the **Clutch Category Link** and the **BrowserAct** template to scrape a different directory, such as G2, Capterra, or Upwork.\n2. **Filter Logic:** Update the system prompt in the **Detect data changes** AI node to only alert on companies with a specific hourly rate (e.g., &gt;$100/hr) or employee count.\n3. **Enrichment:** Add a **Clearbit** or **Apollo** node after the change detection step to find email addresses for the new companies before sending them to Slack.\n\n## Need Help?\n\n* [How to Find Your BrowserAct API Key & Workflow ID](https://www.youtube.com/watch?v=pDjoZWEsZlE)\n* [How to Connect n8n to BrowserAct](https://www.youtube.com/watch?v=RoYMdJaRdcQ)\n* [How to Use & Customize BrowserAct Templates](https://www.youtube.com/watch?v=CPZHFUASncY)\n\n---\n### Workflow Guidance and Showcase Video\n\n* #### [AI-Powered Lead Finder: Target New & Growing Companies (n8n + AI Tutorial)](https://youtu.be/LTNHYvObTtc)\n\n\n","workflow":{"id":"7xCdl21dCjUX9qu6","meta":{"instanceId":"6fcb279fd6b00187153abdc6d8b627acfd9fe31f84b387f64b56a0996e8ea182","templateCredsSetupCompleted":true},"name":"Monitor Clutch categories for new agencies to Slack With BrowserAct and Gemini","tags":[],"nodes":[{"id":"da5e1b17-c51f-42df-bfc4-08a2ddcd0874","name":"Splitting Items","type":"n8n-nodes-base.code","position":[1008,400],"parameters":{"jsCode":"// Get the JSON string using the exact path provided by the user.\nconst jsonString = $input.first().json.output.string;\n\nlet parsedData;\n\n// Check if the string exists before attempting to parse\nif (!jsonString) {\n    // Return an empty array or throw an error if no string is found\n    // Throwing an error is usually better to stop the workflow if data is missing.\n    throw new Error(\"Input string is empty or missing at the specified path: $input.first().json.output.string\");\n}\n\ntry {\n    // 1. Parse the JSON string into a JavaScript array of objects\n    parsedData = JSON.parse(jsonString);\n} catch (error) {\n    // Handle JSON parsing errors (e.g., if the string is malformed)\n    throw new Error(`Failed to parse JSON string: ${error.message}`);\n}\n\n// 2. Ensure the parsed data is an array\nif (!Array.isArray(parsedData)) {\n    throw new Error('Parsed data is not an array. It cannot be split into multiple items.');\n}\n\n// 3. Map the array of objects into the n8n item format { json: object }\n// Each element in this array will be treated as a new item by n8n, achieving the split.\nconst outputItems = parsedData.map(item => ({\n    json: item,\n}));\n\n// 4. Return the new array of items\nreturn outputItems;"},"typeVersion":2},{"id":"8730a07a-4045-4cab-a0ad-704b69177c1e","name":"Loop Over Items","type":"n8n-nodes-base.splitInBatches","position":[1232,400],"parameters":{"options":{}},"typeVersion":3},{"id":"4e9c9a70-5565-4e19-a2dc-6ec137789ad2","name":"Structured Output Parser","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[1728,752],"parameters":{"autoFix":true,"jsonSchemaExample":"{\n  \"company_name\": \"String\",\n  \"website_url\": \"String\",\n  \"min_project_value_usd\": 100,\n  \"hourly_rate_low\": 10,\n  \"hourly_rate_high\": 20,\n  \"employees_range\": \"String\",\n  \"city\": \"String\",\n  \"country\": \"String\",\n  \"short_description\": \"String\"\n}"},"typeVersion":1.3},{"id":"d7bab813-929f-4edf-8e78-444e525f6bfd","name":"OpenRouter Chat Model","type":"@n8n/n8n-nodes-langchain.lmChatOpenRouter","position":[1600,752],"parameters":{"options":{}},"credentials":{"openRouterApi":{"id":"x6ohV3n8b2Kjebtm","name":"OpenRouter account"}},"typeVersion":1},{"id":"42653844-70dd-4832-b8a0-896753a90b2c","name":"Aggregate","type":"n8n-nodes-base.aggregate","position":[1904,0],"parameters":{"options":{},"aggregate":"aggregateAllItemData","destinationFieldName":"Old_Data"},"typeVersion":1},{"id":"c9e38712-ea4e-4254-8a4d-48189ed9e9fb","name":"Aggregate1","type":"n8n-nodes-base.aggregate","position":[1904,192],"parameters":{"options":{},"aggregate":"aggregateAllItemData","destinationFieldName":"New_Data"},"typeVersion":1},{"id":"e3dd1445-dc25-4426-82b2-f56d16b33284","name":"Structured Output Parser1","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[2432,320],"parameters":{"autoFix":true,"jsonSchemaExample":"{\n  \"status\": \"success\",\n  \"new_leads_found\": true,\n  \"count\": 1,\n  \"slack_message_text\": \"String (The formatted message for Slack)\",\n  \"leads\": [  \n    {\n      \"name\": \"String\",\n      \"website\": \"String\",\n      \"match_reason\": \"String (Why is this a good lead?)\"\n    }\n  ]\n}"},"typeVersion":1.3},{"id":"c1ea4642-4e89-4e9a-abce-56bb6600b043","name":"OpenRouter Chat Model1","type":"@n8n/n8n-nodes-langchain.lmChatOpenRouter","position":[2320,320],"parameters":{"model":"google/gemini-2.5-pro","options":{}},"credentials":{"openRouterApi":{"id":"x6ohV3n8b2Kjebtm","name":"OpenRouter account"}},"typeVersion":1},{"id":"220ea1a2-fe0f-4b15-a6e6-0d623e1d819b","name":"Loop Over Items1","type":"n8n-nodes-base.splitInBatches","position":[3440,96],"parameters":{"options":{}},"typeVersion":3},{"id":"8ee7a9f5-7ee0-4c20-b8e5-577a210b25b0","name":"Weekly Trigger","type":"n8n-nodes-base.scheduleTrigger","position":[112,400],"parameters":{"rule":{"interval":[{"field":"weeks"}]}},"typeVersion":1.3},{"id":"97acdfe5-a3dc-48fc-a12e-a0f817a527d4","name":"Clear Database","type":"n8n-nodes-base.googleSheets","position":[336,400],"parameters":{"operation":"clear","sheetName":{"__rl":true,"mode":"list","value":1374703848,"cachedResultUrl":"https://docs.google.com/spreadsheets/d/1XFbcnBlO5W4MNqao1yHux3FNxew1GtqzxzLSqWNOYOc/edit#gid=1374703848","cachedResultName":"Second Extraction"},"documentId":{"__rl":true,"mode":"list","value":"1XFbcnBlO5W4MNqao1yHux3FNxew1GtqzxzLSqWNOYOc","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1XFbcnBlO5W4MNqao1yHux3FNxew1GtqzxzLSqWNOYOc/edit?usp=drivesdk","cachedResultName":"The New Entrant Asset Finder"},"keepFirstRow":true},"credentials":{"googleSheetsOAuth2Api":{"id":"BSirjWRAwIzOFp7c","name":"Google Sheets account"}},"typeVersion":4.7},{"id":"646f4696-ab8a-4d7c-825f-618475a5f25a","name":"Clutch Category Link","type":"n8n-nodes-base.set","position":[560,400],"parameters":{"options":{},"assignments":{"assignments":[{"id":"e992c103-e165-4173-b520-e73a31785d9f","name":"Target_Category_Link","type":"string","value":"https://clutch.co/developers"}]}},"typeVersion":3.4},{"id":"858f57ff-4aa6-499a-8985-365719327a0a","name":"Scrape page funding data","type":"n8n-nodes-browseract.browserAct","position":[784,400],"parameters":{"type":"WORKFLOW","workflowId":"76190590932330027","workflowConfig":{"value":{"input-Clutch_Target_Category":"={{ $json.Target_Category_Link }}"},"schema":[{"id":"input-Clutch_Target_Category","type":"string","display":true,"removed":false,"required":false,"description":"If left blank, the default value defined in BrowserAct will be used.","displayName":"Clutch_Target_Category","defaultMatch":true}],"mappingMode":"defineBelow","matchingColumns":["input-Clutch_Target_Category"],"attemptToConvertTypes":false,"convertFieldsToString":false}},"credentials":{"browserActApi":{"id":"G1U5ih38TKU5wcI5","name":"BrowserAct account"}},"typeVersion":1},{"id":"d43c5c90-f460-4b52-bb4c-2d71d826ea62","name":"Analyze the extracted funds for each company","type":"@n8n/n8n-nodes-langchain.agent","position":[1632,576],"parameters":{"text":"={{ $json }}","options":{"systemMessage":"You are a Data Cleaning & Formatting Agent for a lead generation pipeline.\nYour goal is to receive raw, unstructured scraped JSON and output a flat, clean JSON object optimized for Google Sheets.\n\n### INPUT DATA:\nYou will receive a JSON object with fields: \"Company Name\", \"Website URL\", \"Min Project Size\", \"Hourly Rate\", \"Employee Count\", \"Location\", \"Description\".\n\n### PROCESSING RULES:\n1. **Company Name**: Keep as is.\n2. **Website URL**: \n   - Identify if the URL is a \"clutch.co/redirect\" link. \n   - If it is, output the link as is (do not try to \"guess\" the real domain unless explicitly visible).\n   - If the URL contains dirty parameters (utm_source, etc.), remove them to keep it clean.\n3. **Min Project Size**: \n   - Convert \"$10,000+\" to a pure integer: 10000.\n   - If \"Undisclosed\", set to 0.\n4. **Hourly Rate**: \n   - Split \"$50 - $99 / hr\" into two fields: \"Hourly_Rate_Low\" (50) and \"Hourly_Rate_High\" (99).\n   - If it is a single value like \"< $25\", set Low to 0 and High to 25.\n5. **Location**: \n   - Split \"Warszawa, Poland\" into two fields: \"City\" (Warszawa) and \"Country\" (Poland).\n6. **Description**: \n   - Keep the text but remove newlines (\\n) or excessive whitespace.\n\n### OUTPUT FORMAT:\nReturn ONLY a valid JSON object with the following structure. Do not include markdown formatting or conversational text.\n\n{\n  \"company_name\": \"String\",\n  \"website_url\": \"String\",\n  \"min_project_value_usd\": Number,\n  \"hourly_rate_low\": Number,\n  \"hourly_rate_high\": Number,\n  \"employees_range\": \"String\",\n  \"city\": \"String\",\n  \"country\": \"String\",\n  \"short_description\": \"String\"\n}"},"promptType":"define","hasOutputParser":true},"typeVersion":3},{"id":"9e128f1d-7051-4d22-a3dc-0a2f80c05e08","name":"Upsert new records","type":"n8n-nodes-base.googleSheets","position":[2192,688],"parameters":{"columns":{"value":{"city":"={{ $json.output.city }}","country":"={{ $json.output.country }}","website_url":"={{ $json.output.website_url }}","company_name":"={{ $json.output.company_name }}","employees_range":"={{ $json.output.employees_range }}","hourly_rate_low":"={{ $json.output.hourly_rate_low }}","hourly_rate_high":"={{ $json.output.hourly_rate_high }}","short_description":"={{ $json.output.short_description }}","min_project_value_usd":"={{ $json.output.min_project_value_usd }}"},"schema":[{"id":"company_name","type":"string","display":true,"removed":false,"required":false,"displayName":"company_name","defaultMatch":false,"canBeUsedToMatch":true},{"id":"website_url","type":"string","display":true,"required":false,"displayName":"website_url","defaultMatch":false,"canBeUsedToMatch":true},{"id":"min_project_value_usd","type":"string","display":true,"required":false,"displayName":"min_project_value_usd","defaultMatch":false,"canBeUsedToMatch":true},{"id":"hourly_rate_low","type":"string","display":true,"required":false,"displayName":"hourly_rate_low","defaultMatch":false,"canBeUsedToMatch":true},{"id":"hourly_rate_high","type":"string","display":true,"required":false,"displayName":"hourly_rate_high","defaultMatch":false,"canBeUsedToMatch":true},{"id":"employees_range","type":"string","display":true,"required":false,"displayName":"employees_range","defaultMatch":false,"canBeUsedToMatch":true},{"id":"city","type":"string","display":true,"required":false,"displayName":"city","defaultMatch":false,"canBeUsedToMatch":true},{"id":"country","type":"string","display":true,"required":false,"displayName":"country","defaultMatch":false,"canBeUsedToMatch":true},{"id":"short_description","type":"string","display":true,"required":false,"displayName":"short_description","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":["company_name"],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"appendOrUpdate","sheetName":{"__rl":true,"mode":"list","value":1374703848,"cachedResultUrl":"https://docs.google.com/spreadsheets/d/1XFbcnBlO5W4MNqao1yHux3FNxew1GtqzxzLSqWNOYOc/edit#gid=1374703848","cachedResultName":"Second Extraction"},"documentId":{"__rl":true,"mode":"list","value":"1XFbcnBlO5W4MNqao1yHux3FNxew1GtqzxzLSqWNOYOc","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1XFbcnBlO5W4MNqao1yHux3FNxew1GtqzxzLSqWNOYOc/edit?usp=drivesdk","cachedResultName":"The New Entrant Asset Finder"}},"credentials":{"googleSheetsOAuth2Api":{"id":"BSirjWRAwIzOFp7c","name":"Google Sheets account"}},"typeVersion":4.7},{"id":"2493b3f0-c6d3-4c0c-94ae-eb83487bedcb","name":"Get old extraction data","type":"n8n-nodes-base.googleSheets","position":[1568,0],"parameters":{"options":{},"sheetName":{"__rl":true,"mode":"list","value":"gid=0","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1XFbcnBlO5W4MNqao1yHux3FNxew1GtqzxzLSqWNOYOc/edit#gid=0","cachedResultName":"Database (First Extarction)"},"documentId":{"__rl":true,"mode":"list","value":"1XFbcnBlO5W4MNqao1yHux3FNxew1GtqzxzLSqWNOYOc","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1XFbcnBlO5W4MNqao1yHux3FNxew1GtqzxzLSqWNOYOc/edit?usp=drivesdk","cachedResultName":"The New Entrant Asset Finder"}},"credentials":{"googleSheetsOAuth2Api":{"id":"BSirjWRAwIzOFp7c","name":"Google Sheets account"}},"executeOnce":true,"typeVersion":4.7},{"id":"4d90d3c3-e9ea-4a85-a85c-6071348e5c68","name":"Get fresh extracted data","type":"n8n-nodes-base.googleSheets","position":[1568,192],"parameters":{"options":{},"sheetName":{"__rl":true,"mode":"list","value":1374703848,"cachedResultUrl":"https://docs.google.com/spreadsheets/d/1XFbcnBlO5W4MNqao1yHux3FNxew1GtqzxzLSqWNOYOc/edit#gid=1374703848","cachedResultName":"Second Extraction"},"documentId":{"__rl":true,"mode":"list","value":"1XFbcnBlO5W4MNqao1yHux3FNxew1GtqzxzLSqWNOYOc","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1XFbcnBlO5W4MNqao1yHux3FNxew1GtqzxzLSqWNOYOc/edit?usp=drivesdk","cachedResultName":"The New Entrant Asset Finder"}},"credentials":{"googleSheetsOAuth2Api":{"id":"BSirjWRAwIzOFp7c","name":"Google Sheets account"}},"executeOnce":true,"typeVersion":4.7},{"id":"c5877f76-07da-4615-9473-f8295a79bc8e","name":"Sync parallel paths","type":"n8n-nodes-base.merge","position":[2128,96],"parameters":{"mode":"chooseBranch"},"typeVersion":3.2},{"id":"d2d3e883-6b7f-4c51-8460-627c0418b650","name":"Detect data changes","type":"@n8n/n8n-nodes-langchain.agent","position":[2352,96],"parameters":{"text":"=EXISTING_DB : {{ JSON.stringify($('Aggregate').first().json.Old_Data, null, 2) }}\nFRESH_SCRAPE : {{ JSON.stringify($('Aggregate1').first().json.New_Data, null, 2) }}","options":{"systemMessage":"You are a Reporting Bot.\nyou will be given Aggregated array \"EXISTING_DB\" and \"FRESH_SCRAPE\"\nCompare the \"FRESH_SCRAPE\" list against the \"EXISTING_DB\" list.\nIdentify unique companies (where website URL or Company Name is not in EXISTING_DB).\n\n### OUTPUT REQUIREMENT:\nYou must return a valid JSON object. Do NOT return markdown text outside the JSON.\n\n### JSON STRUCTURE:\n{\n  \"status\": \"success\",\n  \"new_leads_found\": true/false,\n  \"count\": Number,\n  \"slack_message_text\": \"String (The formatted message for Slack)\",\n  \"leads\": [  // Array of the new companies found\n    {\n      \"name\": \"String\",\n      \"website\": \"String\",\n      \"match_reason\": \"String (Why is this a good lead?)\"\n    }\n  ]\n}\n\n### CONTENT RULES FOR \"slack_message_text\":\n1. If count > 0: Use this format:\n   \"🚀 *Hot 7 Alert: {COUNT} New Assets Detected*\n   \n   *1. {Company Name}* | {Location}\n   💰 {Rate} | 🔗 <{URL}|Link>\n   _{One sentence summary}_\"\n\n2. If count = 0: Use this format:\n   \"💤 *New Entry Workflow Report:* No new leads found in this scan.\""},"promptType":"define","hasOutputParser":true},"typeVersion":3},{"id":"7bf64a6b-926c-4ce4-aa60-0abe09e328fa","name":"Notify team","type":"n8n-nodes-base.slack","position":[2880,96],"webhookId":"0ac4a057-4864-489d-8e4c-39f8642724c0","parameters":{"text":"={{ $json.output.slack_message_text }} ,\n{{ $json.output.leads }}","select":"channel","channelId":{"__rl":true,"mode":"list","value":"C09KLV9DJSX","cachedResultName":"all-browseract-workflow-test"},"otherOptions":{}},"credentials":{"slackApi":{"id":"y5CGeG09MENm5J7q","name":"Slack account 2"}},"typeVersion":2.4},{"id":"6ac3e7dd-8c75-42b5-b882-9d316ffb37d1","name":"Clear Old data","type":"n8n-nodes-base.googleSheets","position":[3072,96],"parameters":{"operation":"clear","sheetName":{"__rl":true,"mode":"list","value":"gid=0","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1XFbcnBlO5W4MNqao1yHux3FNxew1GtqzxzLSqWNOYOc/edit#gid=0","cachedResultName":"Database (First Extarction)"},"documentId":{"__rl":true,"mode":"list","value":"1XFbcnBlO5W4MNqao1yHux3FNxew1GtqzxzLSqWNOYOc","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1XFbcnBlO5W4MNqao1yHux3FNxew1GtqzxzLSqWNOYOc/edit?usp=drivesdk","cachedResultName":"The New Entrant Asset Finder"},"keepFirstRow":true},"credentials":{"googleSheetsOAuth2Api":{"id":"BSirjWRAwIzOFp7c","name":"Google Sheets account"}},"executeOnce":true,"typeVersion":4.7},{"id":"aea1c8b5-8254-4d4b-af8f-7a0d7594629b","name":"Retrieve latest data","type":"n8n-nodes-base.googleSheets","position":[3248,96],"parameters":{"options":{},"sheetName":{"__rl":true,"mode":"list","value":1374703848,"cachedResultUrl":"https://docs.google.com/spreadsheets/d/1XFbcnBlO5W4MNqao1yHux3FNxew1GtqzxzLSqWNOYOc/edit#gid=1374703848","cachedResultName":"Second Extraction"},"documentId":{"__rl":true,"mode":"list","value":"1XFbcnBlO5W4MNqao1yHux3FNxew1GtqzxzLSqWNOYOc","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1XFbcnBlO5W4MNqao1yHux3FNxew1GtqzxzLSqWNOYOc/edit?usp=drivesdk","cachedResultName":"The New Entrant Asset Finder"}},"credentials":{"googleSheetsOAuth2Api":{"id":"BSirjWRAwIzOFp7c","name":"Google Sheets account"}},"executeOnce":true,"typeVersion":4.7},{"id":"e0e099e1-0985-45a4-a6f0-b389a74576ab","name":"Prevent rate limits","type":"n8n-nodes-base.wait","position":[1968,576],"webhookId":"5efb90d0-9d4d-454e-b09b-992572d2e4b6","parameters":{"amount":3},"typeVersion":1.1},{"id":"d11baeee-2629-49e4-b59f-391def1f4180","name":"Avoid rate limits","type":"n8n-nodes-base.wait","position":[3664,32],"webhookId":"99b984ac-9822-40a8-9868-3bb8f988f74a","parameters":{"amount":3},"typeVersion":1.1},{"id":"e3720bf3-b315-440c-a03e-031d1b2f2929","name":"Replace old data with new","type":"n8n-nodes-base.googleSheets","position":[3888,96],"parameters":{"columns":{"value":{"city":"={{ $json.city }}","country":"={{ $json.country }}","website_url":"={{ $json.website_url }}","company_name":"={{ $json.company_name }}","employees_range":"={{ $json.employees_range }}","hourly_rate_low":"={{ $json.hourly_rate_low }}","hourly_rate_high":"={{ $json.hourly_rate_high }}","short_description":"={{ $json.short_description }}","min_project_value_usd":"={{ $json.min_project_value_usd }}"},"schema":[{"id":"company_name","type":"string","display":true,"required":false,"displayName":"company_name","defaultMatch":false,"canBeUsedToMatch":true},{"id":"website_url","type":"string","display":true,"required":false,"displayName":"website_url","defaultMatch":false,"canBeUsedToMatch":true},{"id":"min_project_value_usd","type":"string","display":true,"required":false,"displayName":"min_project_value_usd","defaultMatch":false,"canBeUsedToMatch":true},{"id":"hourly_rate_low","type":"string","display":true,"required":false,"displayName":"hourly_rate_low","defaultMatch":false,"canBeUsedToMatch":true},{"id":"hourly_rate_high","type":"string","display":true,"required":false,"displayName":"hourly_rate_high","defaultMatch":false,"canBeUsedToMatch":true},{"id":"employees_range","type":"string","display":true,"required":false,"displayName":"employees_range","defaultMatch":false,"canBeUsedToMatch":true},{"id":"city","type":"string","display":true,"required":false,"displayName":"city","defaultMatch":false,"canBeUsedToMatch":true},{"id":"country","type":"string","display":true,"required":false,"displayName":"country","defaultMatch":false,"canBeUsedToMatch":true},{"id":"short_description","type":"string","display":true,"required":false,"displayName":"short_description","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/1XFbcnBlO5W4MNqao1yHux3FNxew1GtqzxzLSqWNOYOc/edit#gid=0","cachedResultName":"Database (First Extarction)"},"documentId":{"__rl":true,"mode":"list","value":"1XFbcnBlO5W4MNqao1yHux3FNxew1GtqzxzLSqWNOYOc","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1XFbcnBlO5W4MNqao1yHux3FNxew1GtqzxzLSqWNOYOc/edit?usp=drivesdk","cachedResultName":"The New Entrant Asset Finder"}},"credentials":{"googleSheetsOAuth2Api":{"id":"BSirjWRAwIzOFp7c","name":"Google Sheets account"}},"typeVersion":4.7},{"id":"3352d982-2e78-47d3-8293-479e07bbfc3a","name":"Documentation","type":"n8n-nodes-base.stickyNote","position":[-304,-176],"parameters":{"width":380,"height":536,"content":"## ⚡ The New Entrant Asset Finder\n\n**Summary:** This automation continuously scouts for new B2B service providers (e.g., development agencies) entering the market. It scrapes Clutch.co, compares the findings against an existing database, identifies fresh leads, and alerts your team via Slack.\n\n### Requirements\n* **Credentials:** BrowserAct, OpenRouter (GPT-4), Google Sheets, Slack.\n* **Mandatory:** BrowserAct API (Template: **The New Entrant Asset Finder**)\n\n### How to Use\n1.  **Credentials:** Set up API keys for all services.\n2.  **BrowserAct Template:** Ensure the **The New Entrant Asset Finder** template is active.\n3.  **Google Sheet:** Prepare two sheets: one for the live database (`Database`) and one for the latest extraction (`Second Extraction`).\n4.  **Target:** Configure the **Clutch Category Link** node with the specific service category you want to monitor (e.g., `clutch.co/developers`).\n\n### Need Help?\n[How to Find Your BrowserAct API Key & Workflow ID](https://docs.browseract.com)\n[How to Connect n8n to BrowserAct](https://docs.browseract.com)\n[How to Use & Customize BrowserAct Templates](https://docs.browseract.com)"},"typeVersion":1},{"id":"be73d738-0163-4c31-a7f5-5946f0d5428b","name":"Step 1 Explanation","type":"n8n-nodes-base.stickyNote","position":[112,240],"parameters":{"color":7,"width":1004,"height":124,"content":"### 🕵️ Step 1: Market Scanning\n\nThe workflow triggers weekly to visit a target category on Clutch.co. BrowserAct scrapes the latest list of companies, capturing key data points like project size, hourly rates, and team size."},"typeVersion":1},{"id":"6a320296-c2ae-4c47-8827-31f7681e84d5","name":"Step 2 Explanation","type":"n8n-nodes-base.stickyNote","position":[1344,912],"parameters":{"color":7,"width":1004,"height":156,"content":"### 🧹 Step 2: Data Cleaning\n\nRaw scraped data is often messy. An AI agent processes each entry to standardize currency formats, split location strings (City/Country), and clean up descriptions before any further analysis."},"typeVersion":1},{"id":"489eac97-4370-4920-b056-cdbe8b4ba2e2","name":"Step 3 Explanation","type":"n8n-nodes-base.stickyNote","position":[1520,-160],"parameters":{"color":7,"width":1036,"height":140,"content":"### 🔍 Step 3: Change Detection\n\nThe system compares the newly scraped list against the existing database. An AI agent identifies companies that are *new* to the list or have significant updates, filtering out stale data."},"typeVersion":1},{"id":"03c831f5-afce-4246-aedf-669887a1f7dc","name":"Step 4 Explanation","type":"n8n-nodes-base.stickyNote","position":[2896,-160],"parameters":{"color":7,"width":1128,"height":136,"content":"### 📢 Step 4: Alert & Archive\n\nIf new entrants are found, a \"Hot Alert\" is sent to Slack with details on the new companies. Finally, the main database is updated to include the fresh leads for the next cycle."},"typeVersion":1},{"id":"e0cd598a-9040-4c32-9976-974432cfeb3c","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[112,-176],"parameters":{"color":6,"width":688,"height":400,"content":"@[youtube](LTNHYvObTtc)"},"typeVersion":1}],"active":false,"pinData":{},"settings":{"executionOrder":"v1"},"versionId":"0baa6c96-412a-4a2e-8189-abf7f451e346","connections":{"Aggregate":{"main":[[{"node":"Sync parallel paths","type":"main","index":0}]]},"Aggregate1":{"main":[[{"node":"Sync parallel paths","type":"main","index":1}]]},"Notify team":{"main":[[{"node":"Clear Old data","type":"main","index":0}]]},"Clear Database":{"main":[[{"node":"Clutch Category Link","type":"main","index":0}]]},"Clear Old data":{"main":[[{"node":"Retrieve latest data","type":"main","index":0}]]},"Weekly Trigger":{"main":[[{"node":"Clear Database","type":"main","index":0}]]},"Loop Over Items":{"main":[[{"node":"Get old extraction data","type":"main","index":0},{"node":"Get fresh extracted data","type":"main","index":0}],[{"node":"Analyze the extracted funds for each company","type":"main","index":0}]]},"Splitting Items":{"main":[[{"node":"Loop Over Items","type":"main","index":0}]]},"Loop Over Items1":{"main":[[],[{"node":"Avoid rate limits","type":"main","index":0}]]},"Avoid rate limits":{"main":[[{"node":"Replace old data with new","type":"main","index":0}]]},"Upsert new records":{"main":[[{"node":"Loop Over Items","type":"main","index":0}]]},"Detect data changes":{"main":[[{"node":"Notify team","type":"main","index":0}]]},"Prevent rate limits":{"main":[[{"node":"Upsert new records","type":"main","index":0}]]},"Sync parallel paths":{"main":[[{"node":"Detect data changes","type":"main","index":0}]]},"Clutch Category Link":{"main":[[{"node":"Scrape page funding data","type":"main","index":0}]]},"Retrieve latest data":{"main":[[{"node":"Loop Over Items1","type":"main","index":0}]]},"OpenRouter Chat Model":{"ai_languageModel":[[{"node":"Analyze the extracted funds for each company","type":"ai_languageModel","index":0},{"node":"Structured Output Parser","type":"ai_languageModel","index":0}]]},"OpenRouter Chat Model1":{"ai_languageModel":[[{"node":"Detect data changes","type":"ai_languageModel","index":0},{"node":"Structured Output Parser1","type":"ai_languageModel","index":0}]]},"Get old extraction data":{"main":[[{"node":"Aggregate","type":"main","index":0}]]},"Get fresh extracted data":{"main":[[{"node":"Aggregate1","type":"main","index":0}]]},"Scrape page funding data":{"main":[[{"node":"Splitting Items","type":"main","index":0}]]},"Structured Output Parser":{"ai_outputParser":[[{"node":"Analyze the extracted funds for each company","type":"ai_outputParser","index":0}]]},"Replace old data with new":{"main":[[{"node":"Loop Over Items1","type":"main","index":0}]]},"Structured Output Parser1":{"ai_outputParser":[[{"node":"Detect data changes","type":"ai_outputParser","index":0}]]},"Analyze the extracted funds for each company":{"main":[[{"node":"Prevent rate limits","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":31,"nodeTypes":{"n8n-nodes-base.set":{"count":1},"n8n-nodes-base.code":{"count":1},"n8n-nodes-base.wait":{"count":2},"n8n-nodes-base.merge":{"count":1},"n8n-nodes-base.slack":{"count":1},"n8n-nodes-base.aggregate":{"count":2},"n8n-nodes-base.stickyNote":{"count":6},"n8n-nodes-base.googleSheets":{"count":7},"n8n-nodes-base.splitInBatches":{"count":2},"@n8n/n8n-nodes-langchain.agent":{"count":2},"n8n-nodes-base.scheduleTrigger":{"count":1},"n8n-nodes-browseract.browserAct":{"count":1},"@n8n/n8n-nodes-langchain.lmChatOpenRouter":{"count":2},"@n8n/n8n-nodes-langchain.outputParserStructured":{"count":2}}},"status":"published","readyToDemo":null,"user":{"name":"Madame AI Team | Kai","username":"madame-ai","bio":"I’m a PhD in Physics turned AI enthusiast, passionate about uncovering how AI is transforming content creation, business, and daily life.","verified":true,"links":["https://www.youtube.com/@AI.madame.english"],"avatar":"https://gravatar.com/avatar/44c0d2b4b78d8dda7685aea70ef92b2c2339ca9478738c6ed8049cc70e3af32d?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":24,"icon":"file:merge.svg","name":"n8n-nodes-base.merge","codex":{"data":{"alias":["Join","Concatenate","Wait"],"resources":{"generic":[{"url":"https://n8n.io/blog/how-to-sync-data-between-two-systems/","icon":"🏬","label":"How to synchronize data between two systems (one-way vs. two-way sync"},{"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/migrating-community-metrics-to-orbit-using-n8n/","icon":"📈","label":"Migrating Community Metrics to Orbit using n8n"},{"url":"https://n8n.io/blog/build-your-own-virtual-assistant-with-n8n-a-step-by-step-guide/","icon":"👦","label":"Build your own virtual assistant with n8n: A step by step guide"},{"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/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.merge/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow","Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Merge"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8xMTc3XzUxOCkiPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTAgNDhDMCAyMS40OTAzIDIxLjQ5MDMgMCA0OCAwSDExMkMxMzguNTEgMCAxNjAgMjEuNDkwMyAxNjAgNDhWNTZIMTk2LjI1MkMyNDAuNDM1IDU2IDI3Ni4yNTIgOTEuODE3MiAyNzYuMjUyIDEzNlYxOTJDMjc2LjI1MiAyMTQuMDkxIDI5NC4xNjEgMjMyIDMxNi4yNTIgMjMySDM1MlYyMjRDMzUyIDE5Ny40OSAzNzMuNDkgMTc2IDQwMCAxNzZINDY0QzQ5MC41MSAxNzYgNTEyIDE5Ny40OSA1MTIgMjI0VjI4OEM1MTIgMzE0LjUxIDQ5MC41MSAzMzYgNDY0IDMzNkg0MDBDMzczLjQ5IDMzNiAzNTIgMzE0LjUxIDM1MiAyODhWMjgwSDMxNi4yNTJDMjk0LjE2MSAyODAgMjc2LjI1MiAyOTcuOTA5IDI3Ni4yNTIgMzIwVjM3NkMyNzYuMjUyIDQyMC4xODMgMjQwLjQzNSA0NTYgMTk2LjI1MiA0NTZIMTYwVjQ2NEMxNjAgNDkwLjUxIDEzOC41MSA1MTIgMTEyIDUxMkg0OEMyMS40OTAzIDUxMiAwIDQ5MC41MSAwIDQ2NFY0MDBDMCAzNzMuNDkgMjEuNDkwMyAzNTIgNDggMzUySDExMkMxMzguNTEgMzUyIDE2MCAzNzMuNDkgMTYwIDQwMFY0MDhIMTk2LjI1MkMyMTMuOTI1IDQwOCAyMjguMjUyIDM5My42NzMgMjI4LjI1MiAzNzZWMzIwQzIyOC4yNTIgMjk0Ljc4NCAyMzguODU5IDI3Mi4wNDQgMjU1Ljg1MyAyNTZDMjM4Ljg1OSAyMzkuOTU2IDIyOC4yNTIgMjE3LjIxNiAyMjguMjUyIDE5MlYxMzZDMjI4LjI1MiAxMTguMzI3IDIxMy45MjUgMTA0IDE5Ni4yNTIgMTA0SDE2MFYxMTJDMTYwIDEzOC41MSAxMzguNTEgMTYwIDExMiAxNjBINDhDMjEuNDkwMyAxNjAgMCAxMzguNTEgMCAxMTJWNDhaTTEwNCA0OEMxMDguNDE4IDQ4IDExMiA1MS41ODE3IDExMiA1NlYxMDRDMTEyIDEwOC40MTggMTA4LjQxOCAxMTIgMTA0IDExMkg1NkM1MS41ODE3IDExMiA0OCAxMDguNDE4IDQ4IDEwNFY1NkM0OCA1MS41ODE3IDUxLjU4MTcgNDggNTYgNDhIMTA0Wk00NTYgMjI0QzQ2MC40MTggMjI0IDQ2NCAyMjcuNTgyIDQ2NCAyMzJWMjgwQzQ2NCAyODQuNDE4IDQ2MC40MTggMjg4IDQ1NiAyODhINDA4QzQwMy41ODIgMjg4IDQwMCAyODQuNDE4IDQwMCAyODBWMjMyQzQwMCAyMjcuNTgyIDQwMy41ODIgMjI0IDQwOCAyMjRINDU2Wk0xMTIgNDA4QzExMiA0MDMuNTgyIDEwOC40MTggNDAwIDEwNCA0MDBINTZDNTEuNTgxNyA0MDAgNDggNDAzLjU4MiA0OCA0MDhWNDU2QzQ4IDQ2MC40MTggNTEuNTgxNyA0NjQgNTYgNDY0SDEwNEMxMDguNDE4IDQ2NCAxMTIgNDYwLjQxOCAxMTIgNDU2VjQwOFoiIGZpbGw9IiM1NEI4QzkiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8xMTc3XzUxOCI+CjxyZWN0IHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo="},"displayName":"Merge","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":38,"icon":"fa:pen","name":"n8n-nodes-base.set","codex":{"data":{"alias":["Set","JS","JSON","Filter","Transform","Map"],"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/automatically-pulling-and-visualizing-data-with-n8n/","icon":"📈","label":"Automatically pulling and visualizing data with n8n"},{"url":"https://n8n.io/blog/database-monitoring-and-alerting-with-n8n/","icon":"📡","label":"Database Monitoring and Alerting with n8n"},{"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/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/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/building-an-expense-tracking-app-in-10-minutes/","icon":"📱","label":"Building an expense tracking app in 10 minutes"},{"url":"https://n8n.io/blog/the-ultimate-guide-to-automate-your-video-collaboration-with-whereby-mattermost-and-n8n/","icon":"📹","label":"The ultimate guide to automate your video collaboration with Whereby, Mattermost, and n8n"},{"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/learn-to-build-powerful-api-endpoints-using-webhooks/","icon":"🧰","label":"Learn to Build Powerful API Endpoints Using Webhooks"},{"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/a-low-code-bitcoin-ticker-built-with-questdb-and-n8n-io/","icon":"📈","label":"A low-code bitcoin ticker built with QuestDB and n8n.io"},{"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/how-goomer-automated-their-operations-with-over-200-n8n-workflows/","icon":"🛵","label":"How Goomer automated their operations with over 200 n8n workflows"},{"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.set/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Data Transformation"]}}},"group":"[\"input\"]","defaults":{"name":"Edit Fields"},"iconData":{"icon":"pen","type":"icon"},"displayName":"Edit Fields (Set)","typeVersion":3,"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":40,"icon":"file:slack.svg","name":"n8n-nodes-base.slack","codex":{"data":{"alias":["human","form","wait","hitl","approval"],"resources":{"generic":[{"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/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/build-your-own-virtual-assistant-with-n8n-a-step-by-step-guide/","icon":"👦","label":"Build your own virtual assistant with n8n: A step by step guide"},{"url":"https://n8n.io/blog/how-to-automatically-give-kudos-to-contributors-with-github-slack-and-n8n/","icon":"👏","label":"How to automatically give kudos to contributors with GitHub, Slack, and n8n"},{"url":"https://n8n.io/blog/automations-for-activists/","icon":"✨","label":"How Common Knowledge use workflow automation for activism"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.slack/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/slack/"}]},"categories":["Communication","HITL"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"HITL":["Human in the Loop"]}}},"group":"[\"output\"]","defaults":{"name":"Slack"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB2aWV3Qm94PSIwIDAgMTUwLjg1MiAxNTAuODUyIj48dXNlIHhsaW5rOmhyZWY9IiNhIiB4PSIuOTI2IiB5PSIuOTI2Ii8+PHN5bWJvbCBpZD0iYSIgb3ZlcmZsb3c9InZpc2libGUiPjxnIHN0cm9rZS13aWR0aD0iMS44NTIiPjxwYXRoIGZpbGw9IiNlMDFlNWEiIHN0cm9rZT0iI2UwMWU1YSIgZD0iTTQwLjc0MSA5My41NWMwLTguNzM1IDYuNjA3LTE1Ljc3MiAxNC44MTUtMTUuNzcyczE0LjgxNSA3LjAzNyAxNC44MTUgMTUuNzcydjM4LjgyNGMwIDguNzM3LTYuNjA3IDE1Ljc3NC0xNC44MTUgMTUuNzc0cy0xNC44MTUtNy4wMzctMTQuODE1LTE1Ljc3MnoiLz48cGF0aCBmaWxsPSIjZWNiMjJkIiBzdHJva2U9IiNlY2IyMmQiIGQ9Ik05My41NSAxMDcuNDA4Yy04LjczNSAwLTE1Ljc3Mi02LjYwNy0xNS43NzItMTQuODE1czcuMDM3LTE0LjgxNSAxNS43NzItMTQuODE1aDM4LjgyNmM4LjczNSAwIDE1Ljc3MiA2LjYwNyAxNS43NzIgMTQuODE1cy03LjAzNyAxNC44MTUtMTUuNzcyIDE0LjgxNXoiLz48cGF0aCBmaWxsPSIjMmZiNjdjIiBzdHJva2U9IiMyZmI2N2MiIGQ9Ik03Ny43NzggMTUuNzcyQzc3Ljc3OCA3LjAzNyA4NC4zODUgMCA5Mi41OTMgMHMxNC44MTUgNy4wMzcgMTQuODE1IDE1Ljc3MnYzOC44MjZjMCA4LjczNS02LjYwNyAxNS43NzItMTQuODE1IDE1Ljc3MnMtMTQuODE1LTcuMDM3LTE0LjgxNS0xNS43NzJ6Ii8+PHBhdGggZmlsbD0iIzM2YzVmMSIgc3Ryb2tlPSIjMzZjNWYxIiBkPSJNMTUuNzcyIDcwLjM3MUM3LjAzNyA3MC4zNzEgMCA2My43NjMgMCA1NS41NTZzNy4wMzctMTQuODE1IDE1Ljc3Mi0xNC44MTVoMzguODI2YzguNzM1IDAgMTUuNzcyIDYuNjA3IDE1Ljc3MiAxNC44MTVzLTcuMDM3IDE0LjgxNS0xNS43NzIgMTQuODE1eiIvPjxnIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiPjxwYXRoIGZpbGw9IiNlY2IyMmQiIHN0cm9rZT0iI2VjYjIyZCIgZD0iTTc3Ljc3OCAxMzMuMzMzYzAgOC4yMDggNi42MDcgMTQuODE1IDE0LjgxNSAxNC44MTVzMTQuODE1LTYuNjA3IDE0LjgxNS0xNC44MTUtNi42MDctMTQuODE1LTE0LjgxNS0xNC44MTVINzcuNzc4eiIvPjxwYXRoIGZpbGw9IiMyZmI2N2MiIHN0cm9rZT0iIzJmYjY3YyIgZD0iTTEzMy4zMzQgNzAuMzcxaC0xNC44MTVWNTUuNTU2YzAtOC4yMDcgNi42MDctMTQuODE1IDE0LjgxNS0xNC44MTVzMTQuODE1IDYuNjA3IDE0LjgxNSAxNC44MTUtNi42MDcgMTQuODE1LTE0LjgxNSAxNC44MTV6Ii8+PHBhdGggZmlsbD0iI2UwMWU1YSIgc3Ryb2tlPSIjZTAxZTVhIiBkPSJNMTQuODE1IDc3Ljc3OEgyOS42M3YxNC44MTVjMCA4LjIwNy02LjYwNyAxNC44MTUtMTQuODE1IDE0LjgxNVMwIDEwMC44IDAgOTIuNTkzczYuNjA3LTE0LjgxNSAxNC44MTUtMTQuODE1eiIvPjxwYXRoIGZpbGw9IiMzNmM1ZjEiIHN0cm9rZT0iIzM2YzVmMSIgZD0iTTcwLjM3MSAxNC44MTVWMjkuNjNINTUuNTU2Yy04LjIwNyAwLTE0LjgxNS02LjYwNy0xNC44MTUtMTQuODE1UzQ3LjM0OCAwIDU1LjU1NiAwczE0LjgxNSA2LjYwNyAxNC44MTUgMTQuODE1eiIvPjwvZz48L2c+PC9zeW1ib2w+PC9zdmc+"},"displayName":"Slack","typeVersion":2,"nodeCategories":[{"id":6,"name":"Communication"},{"id":28,"name":"HITL"}]},{"id":514,"icon":"fa:pause-circle","name":"n8n-nodes-base.wait","codex":{"data":{"alias":["pause","sleep","delay","timeout"],"resources":{"generic":[{"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/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.wait/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers","Flow"]}}},"group":"[\"organization\"]","defaults":{"name":"Wait","color":"#804050"},"iconData":{"icon":"pause-circle","type":"icon"},"displayName":"Wait","typeVersion":1,"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":1119,"icon":"fa:robot","name":"@n8n/n8n-nodes-langchain.agent","codex":{"data":{"alias":["LangChain","Chat","Conversational","Plan and Execute","ReAct","Tools"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Agents","Root Nodes"]}}},"group":"[\"transform\"]","defaults":{"name":"AI Agent","color":"#404040"},"iconData":{"icon":"robot","type":"icon"},"displayName":"AI Agent","typeVersion":3,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1179,"icon":"fa:code","name":"@n8n/n8n-nodes-langchain.outputParserStructured","codex":{"data":{"alias":["json","zod"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.outputparserstructured/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Output Parsers"]}}},"group":"[\"transform\"]","defaults":{"name":"Structured Output Parser"},"iconData":{"icon":"code","type":"icon"},"displayName":"Structured Output Parser","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1236,"icon":"file:aggregate.svg","name":"n8n-nodes-base.aggregate","codex":{"data":{"alias":["Aggregate","Combine","Flatten","Transform","Array","List","Item"],"details":"","resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.aggregate/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Aggregate"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJub25lIj48ZyBmaWxsPSIjRkY2RDVBIiBjbGlwLXBhdGg9InVybCgjYSkiPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTMyIDE0OGMwLTYuNjI3IDUuMzczLTEyIDEyLTEyaDE0NmM2LjYyNyAwIDEyIDUuMzczIDEyIDEydjI0YzAgNi42MjctNS4zNzMgMTItMTIgMTJINDRjLTYuNjI3IDAtMTItNS4zNzMtMTItMTJ6bTAgOTZjMC02LjYyNyA1LjM3My0xMiAxMi0xMmgxNDZjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnYyNGMwIDYuNjI3LTUuMzczIDEyLTEyIDEySDQ0Yy02LjYyNyAwLTEyLTUuMzczLTEyLTEyem0wIDk2YzAtNi42MjcgNS4zNzMtMTIgMTItMTJoMTQ2YzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ2MjRjMCA2LjYyNy01LjM3MyAxMi0xMiAxMkg0NGMtNi42MjcgMC0xMi01LjM3My0xMi0xMnoiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjxwYXRoIGQ9Ik03NCA3NmMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDExNi4yMTdjMTcuNjczIDAgMzIgMTQuMzI3IDMyIDMydjU2YzAgMjYuOTc4IDEwLjI3MiA1MS41NTcgMjcuMTE5IDcwLjAzOSA1LjA1NSA1LjU0NSA1LjA1NSAxNC4zNzcgMCAxOS45MjItMTYuODQ3IDE4LjQ4Mi0yNy4xMTkgNDMuMDYxLTI3LjExOSA3MC4wMzl2NTZjMCAxNy42NzMtMTQuMzI3IDMyLTMyIDMySDg2Yy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjI0YzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoMTE2LjIxN2M0NC4xODMgMCA4MC0zNS44MTcgODAtODB2LTU2YzAtMzAuOTI4IDI1LjA3Mi01NiA1Ni01NmE1Ljc4MyA1Ljc4MyAwIDAgMCA1Ljc4My01Ljc4M3YtMzYuNDM0YTUuNzgzIDUuNzgzIDAgMCAwLTUuNzgzLTUuNzgzYy0zMC45MjggMC01Ni0yNS4wNzItNTYtNTZ2LTU2YzAtNDQuMTgzLTM1LjgxNy04MC04MC04MEg4NmMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnoiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zNzYgMjQ0YzAtNi42MjcgNS4zNzMtMTIgMTItMTJoMTEyYzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ2MjRjMCA2LjYyNy01LjM3MyAxMi0xMiAxMkgzODhjLTYuNjI3IDAtMTItNS4zNzMtMTItMTJ6IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48L2c+PGRlZnM+PGNsaXBQYXRoIGlkPSJhIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMCAwaDUxMnY1MTJIMHoiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4="},"displayName":"Aggregate","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":1281,"icon":"file:openrouter.svg","name":"@n8n/n8n-nodes-langchain.lmChatOpenRouter","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatopenrouter/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Language Models","Root Nodes"],"Language Models":["Chat Models (Recommended)"]}}},"group":"[\"transform\"]","defaults":{"name":"OpenRouter Chat Model"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjOTRBM0I4IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHdpZHRoPSI0MCIgaGVpZ2h0PSI0MCIgdmlld0JveD0iMCAwIDI0IDI0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjx0aXRsZT5PcGVuUm91dGVyPC90aXRsZT48cGF0aCBkPSJNMTYuODA0IDEuOTU3bDcuMjIgNC4xMDV2LjA4N0wxNi43MyAxMC4yMWwuMDE3LTIuMTE3LS44MjEtLjAzYy0xLjA1OS0uMDI4LTEuNjExLjAwMi0yLjI2OC4xMS0xLjA2NC4xNzUtMi4wMzguNTc3LTMuMTQ3IDEuMzUyTDguMzQ1IDExLjAzYy0uMjg0LjE5NS0uNDk1LjMzNi0uNjguNDU1bC0uNTE1LjMyMi0uMzk3LjIzNC4zODUuMjMuNTMuMzM4Yy40NzYuMzE0IDEuMTcuNzk2IDIuNzAxIDEuODY2IDEuMTEuNzc1IDIuMDgzIDEuMTc3IDMuMTQ3IDEuMzUybC4zLjA0NWMuNjk0LjA5MSAxLjM3NS4wOTQgMi44MjUuMDMzbC4wMjItMi4xNTkgNy4yMiA0LjEwNXYuMDg3TDE2LjU4OSAyMmwuMDE0LTEuODYyLS42MzUuMDIyYy0xLjM4Ni4wNDItMi4xMzcuMDAyLTMuMTM4LS4xNjItMS42OTQtLjI4LTMuMjYtLjkyNi00Ljg4MS0yLjA1OWwtMi4xNTgtMS41YTIxLjk5NyAyMS45OTcgMCAwMC0uNzU1LS40OThsLS40NjctLjI4YTU1LjkyNyA1NS45MjcgMCAwMC0uNzYtLjQzQzIuOTA4IDE0LjczLjU2MyAxNC4xMTYgMCAxNC4xMTZWOS44ODhsLjE0LjAwNGMuNTY0LS4wMDcgMi45MS0uNjIyIDMuODA5LTEuMTI0bDEuMDE2LS41OC40MzgtLjI3NGMuNDI4LS4yOCAxLjA3Mi0uNzI2IDIuNjg2LTEuODUzIDEuNjIxLTEuMTMzIDMuMTg2LTEuNzggNC44ODEtMi4wNTkgMS4xNTItLjE5IDEuOTc0LS4yMTMgMy44MTQtLjEzOGwuMDItMS45MDd6Ij48L3BhdGg+PC9zdmc+Cg=="},"displayName":"OpenRouter Chat Model","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]}],"categories":[{"id":37,"name":"Lead Generation"},{"id":49,"name":"AI Summarization"}],"image":[]}}