{"workflow":{"id":13378,"name":"Track brand visibility on Perplexity and ChatGPT with BrowserAct and OpenRouter","views":26,"recentViews":0,"totalViews":26,"createdAt":"2026-02-13T14:17:02.478Z","description":"# Track brand visibility on Perplexity and ChatGPT with BrowserAct & OpenRouter\n\n## Introduction\n\nThis workflow acts as a \"Generative Engine Optimization\" (GEO) tracker. It automatically monitors how your brand is being recommended on AI-powered search engines by simulating real user queries on Perplexity and ChatGPT, analyzing the responses for visibility and sentiment, and reporting the findings to Slack.\n\n## Target Audience\n\nBrand managers, SEO specialists, and marketing teams who need to monitor their \"share of voice\" in AI search results.\n\n## How it works\n\n1. **Scheduling:** A **Weekly Trigger** initiates the workflow to ensure regular monitoring of your brand's presence.\n2. **Context Setup:** A **Set** node defines the target `Brand` name and a brief `Description` of the value proposition.\n3. **Query Generation:** An **AI Agent** (using OpenRouter/GPT-4o) reads the brand details and generates two distinct search queries:\n* **Research Query:** Targeted at Perplexity (e.g., \"Top rated tools for X in 2025\").\n* **Conversational Query:** Targeted at ChatGPT (e.g., \"I need advice on X, what do you recommend?\").\n\n\n4. **Parallel Execution:** The workflow splits into two parallel paths to maximize efficiency.\n5. **Data Extraction:** Two separate **BrowserAct** nodes execute the generated queries on **Perplexity** and **ChatGPT** respectively.  They scrape the full text of the AI's response.\n6. **Synchronization:** A **Merge** node waits for both scraping tasks to complete before proceeding.\n7. **Analysis:** A second **AI Agent** acts as a \"GEO Analyst.\" It compares the scraped answers against your Brand Name to determine if the brand was \"Visible\" (recommended), \"Invisible\" (ignored), or \"Hallucinated.\" It also grades the sentiment.\n8. **Reporting:** A **Slack** node posts a formatted report detailing the visibility status on both platforms.\n\n## How to set up\n\n1. **Configure Credentials:** Connect your **BrowserAct**, **OpenRouter**, and **Slack** accounts in n8n.\n2. **Prepare BrowserAct:** Ensure the **AI Search Visibility Tracker (Perplexity & ChatGPT)** template is saved in your BrowserAct account.\n3. **Define Brand:** Open the **Add Brand & Description** node. Update the `Brand` field with your company name and the `Description` field with your core offering.\n4. **Select Slack Channel:** Open the **Send team update** node and select the channel where reports should be posted.\n\n## Requirements\n\n* **BrowserAct Account:** Required for scraping the AI platforms. Template: **AI Search Visibility Tracker (Perplexity & ChatGPT)**.\n* **OpenRouter Account:** Required for generating queries and analyzing the sentiment of the results.\n* **Slack Account:** Required for receiving the final visibility report.\n\n## How to customize the workflow\n\n1. **Add More Engines:** Clone the BrowserAct node to add checks for **Google Gemini** or **Claude**, then connect them to the Merge node.\n2. **Track Competitors:** Modify the **Add Brand & Description** node to input a competitor's name instead of your own to see how AI recommends them.\n3. **Store History:** Add a **Google Sheets** node before the Slack step to log the \"Sentiment Score\" and \"Visibility Status\" over time for trend analysis.\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---\n### Workflow Guidance and Showcase Video\n\n* #### [AI SEO Reporting: Automated Brand Mentions Tracking for Teams](https://youtu.be/lH-uMJYQIJ4)\n\n","workflow":{"id":"dY3d837LI6zH814n","meta":{"instanceId":"6fcb279fd6b00187153abdc6d8b627acfd9fe31f84b387f64b56a0996e8ea182","templateCredsSetupCompleted":true},"name":"Track brand visibility on Perplexity and ChatGPT with BrowserAct & OpenRouter","tags":[],"nodes":[{"id":"8eefc82b-5cad-4b7a-ab58-3f2802d84b68","name":"OpenRouter Chat Model","type":"@n8n/n8n-nodes-langchain.lmChatOpenRouter","position":[304,192],"parameters":{"options":{}},"credentials":{"openRouterApi":{"id":"x6ohV3n8b2Kjebtm","name":"OpenRouter account"}},"typeVersion":1},{"id":"5df60446-12ec-42f6-920d-629801d95d12","name":"Run a Perplexity Search","type":"n8n-nodes-browseract.browserAct","position":[1056,-128],"parameters":{"type":"WORKFLOW","workflowId":"76059068857656105","workflowConfig":{"value":{"input-Search_Querry":"={{ $json.output.perplexity_query }}","input-Target_Ai_Link":"https://www.perplexity.ai/"},"schema":[{"id":"input-Target_Ai_Link","type":"string","display":true,"removed":false,"required":false,"description":"If left blank, the default value defined in BrowserAct will be used.","displayName":"Target_Ai_Link","defaultMatch":true},{"id":"input-Search_Querry","type":"string","display":true,"removed":false,"required":false,"description":"If left blank, the default value defined in BrowserAct will be used.","displayName":"Search_Querry","defaultMatch":true}],"mappingMode":"defineBelow","matchingColumns":["input-Search_Querry"],"attemptToConvertTypes":false,"convertFieldsToString":false}},"credentials":{"browserActApi":{"id":"G1U5ih38TKU5wcI5","name":"BrowserAct account"}},"typeVersion":1,"alwaysOutputData":false},{"id":"e48903d6-e743-4099-85d0-dc095bfc093c","name":"Run ChatGPT Search","type":"n8n-nodes-browseract.browserAct","position":[1056,64],"parameters":{"type":"WORKFLOW","workflowId":"76059068857656105","workflowConfig":{"value":{"input-Search_Querry":"={{ $json.output.chatgpt_query }}","input-Target_Ai_Link":"https://chatgpt.com"},"schema":[{"id":"input-Target_Ai_Link","type":"string","display":true,"removed":false,"required":false,"description":"If left blank, the default value defined in BrowserAct will be used.","displayName":"Target_Ai_Link","defaultMatch":true},{"id":"input-Search_Querry","type":"string","display":true,"removed":false,"required":false,"description":"If left blank, the default value defined in BrowserAct will be used.","displayName":"Search_Querry","defaultMatch":true}],"mappingMode":"defineBelow","matchingColumns":["input-Search_Querry"],"attemptToConvertTypes":false,"convertFieldsToString":false}},"credentials":{"browserActApi":{"id":"G1U5ih38TKU5wcI5","name":"BrowserAct account"}},"typeVersion":1,"alwaysOutputData":false},{"id":"99a713af-5479-42c9-b551-f350d613518f","name":"OpenRouter Chat Model1","type":"@n8n/n8n-nodes-langchain.lmChatOpenRouter","position":[1712,144],"parameters":{"options":{}},"credentials":{"openRouterApi":{"id":"x6ohV3n8b2Kjebtm","name":"OpenRouter account"}},"typeVersion":1},{"id":"af4a6f5f-fa71-4b07-aa6d-c6f19d984fdb","name":"Weekly Trigger","type":"n8n-nodes-base.scheduleTrigger","position":[-96,-16],"parameters":{"rule":{"interval":[{"field":"weeks"}]}},"typeVersion":1.3},{"id":"faec4726-613c-45d2-bd95-935c31bce465","name":"Add Brand & Description","type":"n8n-nodes-base.set","position":[112,-16],"parameters":{"options":{},"assignments":{"assignments":[{"id":"fe0c6b09-c38f-4f7b-9f94-68748c17edf2","name":"Brand","type":"string","value":"BrowserAct Automation"},{"id":"e7f0e590-c811-4d59-9ad1-21154d33d0b7","name":"Description","type":"string","value":"A headless browser automation tool for AI agents that handles captchas and deep scraping."}]}},"typeVersion":3.4},{"id":"54df6e82-7efd-4f40-a1f9-e84d3569cf18","name":"Wait for both paths","type":"n8n-nodes-base.merge","position":[1328,-48],"parameters":{"mode":"chooseBranch"},"typeVersion":3.2},{"id":"c5c836d4-71eb-4aaa-9643-d4259d071363","name":"Analyze both results & generate report","type":"@n8n/n8n-nodes-langchain.agent","position":[1728,-48],"parameters":{"text":"=perplexity_query : {{ $('Generate search queries').first().json.output.perplexity_query }},\nchatgpt_query : {{ $('Generate search queries').first().json.output.chatgpt_query }},\nBrand : {{ $('Add Brand & Description').first().json.Brand }}\nDescription : {{ $('Add Brand & Description').first().json.Description }},\n\n-------------------------------\n\nChatGPt Search Result : {{ $('Run ChatGPT Search').first().json.output.string }}\nPerplexity Search Result : {{ $('Run a Perplexity Search').first().json.output.string }}\n","options":{"systemMessage":"### ROLE\nYou are a GEO (Generative Engine Optimization) Analyst. Your job is to review search results from Perplexity and ChatGPT and determine if a specific brand is being recommended.\n\n### INPUT DATA\n- Brand Name: {{ $json.brand_name }}\n- Brand Description: {{ $json.brand_description }}\n- Perplexity Result: {{ $json.perplexity_result_text }}\n- ChatGPT Result: {{ $json.chatgpt_result_text }}\n\n### ANALYSIS LOGIC\n1. **Scan:** Look for the [Brand Name] in both search results.\n2. **Judge:**\n   - **VISIBLE:** The brand is explicitly named or recommended.\n   - **INVISIBLE:** The brand is not mentioned at all.\n   - **HALLUCINATED:** The brand is mentioned but with incorrect details.\n3. **Sentiment:** Is the mention Positive, Neutral, or Negative?\n\n### OUTPUT FORMAT\nReturn **ONLY** a raw JSON object (no markdown, no ```json ``` blocks).\nThe JSON must contain two parts:\n1. `data`: Structured fields for your database.\n2. `slack_message`: A beautifully formatted string using Slack markdown (*bold*, emoji, > quotes) ready to post.\n\n### EXAMPLE OUTPUT STRUCTURE\n{\n  \"data\": {\n    \"perplexity_visible\": true,\n    \"chatgpt_visible\": false,\n    \"overall_sentiment\": \"Positive\"\n  },\n  \"slack_message\": \":rotating_light: *GEO Visibility Report: [Brand Name]*\\n\\n*Perplexity AI Check:*\\n:white_check_mark: *VISIBLE* - It ranked as #2.\\n> \\\"[Brand] is a top contender for...\\\"\\n\\n*ChatGPT Check:*\\n:x: *NOT FOUND* - It recommended competitors instead.\\n\\n*Action Item:* Review competitor feature lists.\"\n}"},"promptType":"define","hasOutputParser":true},"executeOnce":true,"typeVersion":3},{"id":"4c0173da-d145-489c-a4cf-5bbe0b13cc76","name":"Structured Output","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[464,176],"parameters":{"autoFix":true,"jsonSchemaExample":"{\n  \"perplexity_query\": \"Top rated team communication platforms for enterprise 2025 features and pricing\",\n  \"chatgpt_query\": \"I am managing a remote team and need to replace email. How does Slack compare to Microsoft Teams for project management?\"\n}"},"typeVersion":1.3},{"id":"0be5bcdf-bc5e-4705-8c87-3fe9edcc3f43","name":"Structured Output Parser","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[1872,144],"parameters":{"autoFix":true,"jsonSchemaExample":"{\n  \"data\": {\n    \"perplexity_visible\": true,\n    \"chatgpt_visible\": false,\n    \"overall_sentiment\": \"Positive\"\n  },\n  \"slack_message\": \":rotating_light: *GEO Visibility Report: [Brand Name]*\\n\\n*Perplexity AI Check:*\\n:white_check_mark: *VISIBLE* - It ranked as #2.\\n> \\\"[Brand] is a top contender for...\\\"\\n\\n*ChatGPT Check:*\\n:x: *NOT FOUND* - It recommended competitors instead.\\n\\n*Action Item:* Review competitor feature lists.\"\n}"},"typeVersion":1.3},{"id":"ac87fffe-38f5-4b70-9ce3-d7a694d8f4b2","name":"Send team update","type":"n8n-nodes-base.slack","position":[2256,-48],"webhookId":"c6429c13-1459-473b-b756-aa667234b682","parameters":{"text":"={{ $json.output.slack_message}}","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":"a21d578e-6e5f-435a-a5b9-e95fd119be4c","name":"Generate search queries","type":"@n8n/n8n-nodes-langchain.agent","position":[320,-16],"parameters":{"text":"=Brand :  {{ $json.Brand }},\nDescription  : {{ $json.Description }}","options":{"systemMessage":"### ROLE\nYou are a GEO (Generative Engine Optimization) Specialist.\n\n### TASK\nReceive a Brand Name and Description. Generate exactly TWO high-intent search queries to test the brand's visibility on different AI platforms.\n\n1. **Perplexity Query:** Focus on recent data, features, and \"best of\" lists. (Perplexity acts like a research engine).\n2. **ChatGPT Query:** Focus on conversational advice, scenarios, and implementation. (ChatGPT acts like a consultant).\n\n### OUTPUT RULES\n- Output **ONLY** a raw JSON object.\n- **CRITICAL:** Do NOT wrap the output in markdown code blocks (e.g., do NOT use ```json ... ```).\n- Do NOT include any introductory text or explanations. Just the JSON string.\n\n### EXAMPLE STRUCTURE\nInput:\nBrand: \"Slack\"\nDescription: \"Team communication platform.\"\n\nOutput:\n{\n  \"perplexity_query\": \"Top rated team communication platforms for enterprise 2025 features and pricing\",\n  \"chatgpt_query\": \"I am managing a remote team and need to replace email. How does Slack compare to Microsoft Teams for project management?\"\n}"},"promptType":"define","hasOutputParser":true},"typeVersion":3},{"id":"64a536e0-7532-45d3-b3dc-4a8926c9cd33","name":"Documentation","type":"n8n-nodes-base.stickyNote","position":[-544,-592],"parameters":{"width":380,"height":520,"content":"## ⚡ Workflow Overview & Setup\n\n**Summary:** This automation acts as a \"GEO\" (Generative Engine Optimization) Tracker. It monitors how your brand appears in AI search engines (Perplexity & ChatGPT) by simulating real user queries and analyzing the visibility of your product.\n\n### Requirements\n* **Credentials:** BrowserAct, OpenRouter (GPT-4), Slack.\n* **Mandatory:** BrowserAct API (Template: **AI Search Visibility Tracker (Perplexity & ChatGPT)**)\n\n### How to Use\n1.  **Credentials:** Set up API keys for BrowserAct, OpenRouter, and Slack.\n2.  **BrowserAct Template:** Ensure you have the **AI Search Visibility Tracker (Perplexity & ChatGPT)** template saved in your BrowserAct account.\n3.  **Configuration:** Update the **Add Brand & Description** node with your specific Company Name and Value Proposition.\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":"064d19fc-a89b-4462-95fa-d4dbf3f17f10","name":"Step 1 Explanation","type":"n8n-nodes-base.stickyNote","position":[-80,-224],"parameters":{"color":7,"width":684,"content":"### 🎯 Step 1: Strategy & Query Generation\n\nThe workflow starts by defining your brand profile.\n\nAn AI agent analyzes your brand description and generates two distinct high-intent search queries:\n1.  **Research Query** (for Perplexity)\n2.  **Conversational Query** (for ChatGPT)"},"typeVersion":1},{"id":"c2cd2565-dab4-4c76-8d02-56d33e3789f0","name":"Step 2 Explanation","type":"n8n-nodes-base.stickyNote","position":[784,-288],"parameters":{"color":7,"width":704,"height":140,"content":"### 🕵️ Step 2: Parallel Search Execution\n\nBrowserAct executes the generated queries on both platforms simultaneously.\n\nIt navigates to Perplexity and ChatGPT, inputs the questions, and scrapes the full AI-generated answers to capture exactly what potential customers are seeing."},"typeVersion":1},{"id":"58262d8f-bdc4-4321-a9f2-1f3bf906ba79","name":"Step 3 Explanation","type":"n8n-nodes-base.stickyNote","position":[1664,-288],"parameters":{"color":7,"width":732,"height":140,"content":"### 🧠 Step 3: Visibility & Sentiment Analysis\n\nA \"GEO Analyst\" AI reviews the scraped results.\n\nIt determines if your brand was **Visible** (recommended), **Invisible** (ignored), or **Hallucinated** (incorrect facts). It also gauges the sentiment of the mention, then the findings are formatted into a clean Slack report."},"typeVersion":1},{"id":"f29fb04d-1620-4129-8882-b7dfe9341ab8","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[-80,-592],"parameters":{"color":6,"width":608,"height":352,"content":"@[youtube](lH-uMJYQIJ4)"},"typeVersion":1}],"active":false,"pinData":{},"settings":{"executionOrder":"v1"},"versionId":"9e46706a-642a-4fb2-a86e-7223d9ce49a4","connections":{"Weekly Trigger":{"main":[[{"node":"Add Brand & Description","type":"main","index":0}]]},"Structured Output":{"ai_outputParser":[[{"node":"Generate search queries","type":"ai_outputParser","index":0}]]},"Run ChatGPT Search":{"main":[[{"node":"Wait for both paths","type":"main","index":1}]]},"Wait for both paths":{"main":[[{"node":"Analyze both results & generate report","type":"main","index":0}]]},"OpenRouter Chat Model":{"ai_languageModel":[[{"node":"Generate search queries","type":"ai_languageModel","index":0},{"node":"Structured Output","type":"ai_languageModel","index":0}]]},"OpenRouter Chat Model1":{"ai_languageModel":[[{"node":"Analyze both results & generate report","type":"ai_languageModel","index":0},{"node":"Structured Output Parser","type":"ai_languageModel","index":0}]]},"Add Brand & Description":{"main":[[{"node":"Generate search queries","type":"main","index":0}]]},"Generate search queries":{"main":[[{"node":"Run a Perplexity Search","type":"main","index":0},{"node":"Run ChatGPT Search","type":"main","index":0}]]},"Run a Perplexity Search":{"main":[[{"node":"Wait for both paths","type":"main","index":0}]]},"Structured Output Parser":{"ai_outputParser":[[{"node":"Analyze both results & generate report","type":"ai_outputParser","index":0}]]},"Analyze both results & generate report":{"main":[[{"node":"Send team update","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":17,"nodeTypes":{"n8n-nodes-base.set":{"count":1},"n8n-nodes-base.merge":{"count":1},"n8n-nodes-base.slack":{"count":1},"n8n-nodes-base.stickyNote":{"count":5},"@n8n/n8n-nodes-langchain.agent":{"count":2},"n8n-nodes-base.scheduleTrigger":{"count":1},"n8n-nodes-browseract.browserAct":{"count":2},"@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":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":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":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":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":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":32,"name":"Market Research"},{"id":49,"name":"AI Summarization"}],"image":[]}}