{
  "workflow": {
    "id": 5944,
    "name": "Scrape developer profiles from Stack Overflow for lead generation with OpenAI & Bright Data",
    "views": 514,
    "recentViews": 0,
    "totalViews": 514,
    "createdAt": "2025-07-13T18:51:16.360Z",
    "description": "*This workflow contains community nodes that are only compatible with the self-hosted version of n8n.*\n\nThis workflow automatically discovers and collects information about Stack Overflow user profiles for lead generation. It saves you time by eliminating the need to manually browse through developer profiles and provides a centralized database of potential leads with their technical expertise.\n\n## Overview\n\nThis workflow automatically scrapes Stack Overflow user profiles and extracts key information like developer names, locations, reputation scores, and technical tags. It uses Bright Data to access Stack Overflow without being blocked and AI to intelligently parse user data into structured format.\n\n## Tools Used\n\n- **n8n**: The automation platform that orchestrates the workflow\n- **Bright Data**: For scraping Stack Overflow user profiles without being blocked\n- **OpenAI**: AI agent for intelligent data extraction and parsing\n- **Google Sheets**: For storing and organizing lead information\n\n## How to Install\n\n1. **Import the Workflow**: Download the .json file and import it into your n8n instance\n2. **Configure Bright Data**: Add your Bright Data credentials to the MCP Client node\n3. **Set Up OpenAI**: Configure your OpenAI API credentials\n4. **Configure Google Sheets**: Connect your Google Sheets account and specify the target spreadsheet\n5. **Customize**: Adjust the Stack Overflow URL and user criteria you want to target\n\n## Use Cases\n\n- **Recruitment Teams**: Find developers with specific technical skills for hiring\n- **Business Development**: Identify potential clients or partners in the tech industry\n- **Sales Teams**: Build targeted outreach lists for developer-focused products\n- **Research**: Gather data on developer communities and skill distributions\n\n## Connect with Me\n\n- **Website**: https://www.nofluff.online\n- **YouTube**: https://www.youtube.com/@YaronBeen/videos\n- **LinkedIn**: https://www.linkedin.com/in/yaronbeen/\n- **Get Bright Data**: https://get.brightdata.com/1tndi4600b25 (Using this link supports my free workflows with a small commission)\n\n#n8n #automation #stackoverflow #leadgeneration #brightdata #webscraping #developers #recruitment #businessdevelopment #salesleads #n8nworkflow #workflow #nocode #leadautomation #developerscraping #techtalent #userprofiles #aiautomation #datamining #prospecting #outreach #techrecruiting #developerleads #stackoverflowscraping #profilescraping #leadcollection #techcommunity #developerdatabase #automatedleads #intelligentscraping",
    "workflow": {
      "id": "Nc381f2WfFyzrJvl",
      "meta": {
        "instanceId": "60046904b104f0f72b2629a9d88fe9f676be4035769f1f08dad1dd38a76b9480",
        "templateCredsSetupCompleted": true
      },
      "name": "1. Scrape Stack Overflow for Leads",
      "tags": [],
      "nodes": [
        {
          "id": "02eb1076-060e-484d-84c4-fe2dcb3ed706",
          "name": "OpenAI Chat Model",
          "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
          "position": [
            260,
            320
          ],
          "parameters": {
            "model": {
              "__rl": true,
              "mode": "list",
              "value": "gpt-4o-mini"
            },
            "options": {}
          },
          "credentials": {
            "openAiApi": {
              "id": "credential-id",
              "name": "openAiApi Credential"
            }
          },
          "typeVersion": 1.2
        },
        {
          "id": "a8c0862a-6b53-414b-ac82-ccabefad2345",
          "name": "Start Scraping",
          "type": "n8n-nodes-base.manualTrigger",
          "position": [
            -200,
            0
          ],
          "parameters": {},
          "typeVersion": 1
        },
        {
          "id": "f54199e8-8fa1-4ffa-b442-3700755d4a0a",
          "name": "Input Setup",
          "type": "n8n-nodes-base.set",
          "position": [
            20,
            0
          ],
          "parameters": {
            "options": {},
            "assignments": {
              "assignments": [
                {
                  "id": "c1e742bf-8bd2-4d18-9a51-dac7cfaa51fd",
                  "name": "url",
                  "type": "string",
                  "value": "https://stackoverflow.com/users"
                },
                {
                  "id": "107ffa9d-231b-4991-b362-415ec08505b7",
                  "name": "format",
                  "type": "string",
                  "value": "scrape_as_markdown"
                }
              ]
            }
          },
          "typeVersion": 3.4
        },
        {
          "id": "1894bff8-13de-4fba-93ed-f021407d4e13",
          "name": "AI Agent: Generate Scraper Instructions",
          "type": "@n8n/n8n-nodes-langchain.agent",
          "position": [
            440,
            0
          ],
          "parameters": {
            "text": "=Scrape all users data as per the provided URL:  {{ $json.url }}",
            "options": {},
            "promptType": "define",
            "hasOutputParser": true
          },
          "typeVersion": 2
        },
        {
          "id": "0f166f7a-e7ac-4d14-8171-7c1c36f18680",
          "name": "MCP Client to Scrape as HTML",
          "type": "n8n-nodes-mcp.mcpClientTool",
          "position": [
            620,
            320
          ],
          "parameters": {
            "toolName": "scrape_as_html",
            "operation": "executeTool",
            "toolParameters": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Tool_Parameters', ``, 'json') }}",
            "descriptionType": "manual",
            "toolDescription": "Scrape a single webpage URL with advanced options for content extraction and get back the results in html"
          },
          "credentials": {
            "mcpClientApi": {
              "id": "credential-id",
              "name": "mcpClientApi Credential"
            }
          },
          "typeVersion": 1
        },
        {
          "id": "195a2e71-91c7-4947-ab5a-26e4e7b9e3d6",
          "name": "Conversation Memory",
          "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
          "position": [
            460,
            320
          ],
          "parameters": {
            "sessionKey": "=Perform the web scraping for the below URL  {{ $json.url }}",
            "sessionIdType": "customKey"
          },
          "typeVersion": 1.3
        },
        {
          "id": "c425d7fc-2207-4df6-8833-76265394f9b3",
          "name": "Format Data for Google Sheets",
          "type": "n8n-nodes-base.code",
          "position": [
            1020,
            0
          ],
          "parameters": {
            "jsCode": "// Get the array of users from the incoming item\nconst forums = items[0].json.output.forums;\n\nconst results = forums.map(user => {\n  return {\n    json: {\n      baseUrl: user.baseUrl,\n      profileUrl: user.exampleProfile,\n      name: user.selectors.name,\n      location: user.selectors.location,\n      reputation: user.selectors.reputation,\n      tags: user.selectors.tags\n    }\n  };\n});\n\nreturn results;\n"
          },
          "typeVersion": 2
        },
        {
          "id": "51380d2d-c833-4748-a9fb-376add68cc87",
          "name": "Save Leads to Google Sheet",
          "type": "n8n-nodes-base.googleSheets",
          "position": [
            1240,
            0
          ],
          "parameters": {
            "columns": {
              "value": {
                "Name": "={{ $json.name }}",
                "Tags": "={{ $json.tags }}",
                "baseUrl": "={{ $json.baseUrl }}",
                "Location": "={{ $json.location }}",
                "Raputation": "={{ $json.reputation }}",
                "Profile URL": "={{ $json.profileUrl }}"
              },
              "schema": [
                {
                  "id": "baseUrl",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "baseUrl",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "Profile URL",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "Profile URL",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "Name",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "Name",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "Location",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "Location",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "Raputation",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "Raputation",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "Tags",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "Tags",
                  "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/121-9GYz9uIhC-cBQaJ2Rg26paivPVDAvTE9pwgZ7MCA/edit#gid=0",
              "cachedResultName": "Sheet1"
            },
            "documentId": {
              "__rl": true,
              "mode": "list",
              "value": "121-9GYz9uIhC-cBQaJ2Rg26paivPVDAvTE9pwgZ7MCA",
              "cachedResultUrl": "https://docs.google.com/spreadsheets/d/121-9GYz9uIhC-cBQaJ2Rg26paivPVDAvTE9pwgZ7MCA/edit?usp=drivesdk",
              "cachedResultName": "Stackoverflow users data"
            }
          },
          "credentials": {
            "googleSheetsOAuth2Api": {
              "id": "credential-id",
              "name": "googleSheetsOAuth2Api Credential"
            }
          },
          "typeVersion": 4.6
        },
        {
          "id": "08fb0bc0-e489-4a6c-98b3-f95d838e353f",
          "name": "Sticky Note",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -220,
            -1140
          ],
          "parameters": {
            "color": 6,
            "width": 360,
            "height": 1320,
            "content": "## 🚀 **Section 1: Trigger & Input Setup**\n\n> *“Start the engine and define what we want.”*\n\n### 🔘 **Start Scraping**\n\n📌 **What it does**:\nThis is a **manual trigger node** — it means you click a button to start the automation whenever you're ready.\n\n💡 **Why it's useful**:\nIt gives **you control**. You don’t have to rely on a schedule or external webhook to run your bot.\n\n---\n\n### ✏️ **Input Setup**\n\n📌 **What it does**:\nThis node allows you to **edit or define any optional fields** before running the scraper. For example, you could:\n\n* Choose which forum to target\n* Add filters like location or tags (optional)\n* Enter how many profiles to scrape\n\n💡 **Why it's useful**:\nYou can **dynamically control** the scraper without touching the workflow logic.\n\n---\n\n"
          },
          "typeVersion": 1
        },
        {
          "id": "24fa8529-56ac-473b-b8f6-280a6219d29e",
          "name": "Sticky Note1",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            380,
            -1660
          ],
          "parameters": {
            "color": 3,
            "width": 360,
            "height": 1820,
            "content": "## 🤖 **Section 2: AI-Powered Scraping Brain**\n\n> *“Let the AI handle the heavy lifting.”*\n\n### 🤖 **AI Agent: Generate Scraper Instructions**\n\n📌 **What it does**:\nThis is the **core automation brain**. It receives the input, uses your prompt and memory, and knows it should activate Bright Data to scrape user profiles from Stack Overflow.\n\n💡 **Why it's useful**:\nInstead of coding every scraping rule manually, you let an **AI agent manage tools and instructions**.\n\n---\n\n#### 🔗 **Connected Sub-Tools**:\n\n##### 🧠 **Conversation Memory**\n\n🧊 Saves context between steps so the agent “remembers” what the task is about.\n\n##### 🔌 **Bright Data: StackOverflow Scraper (HTML)**\n\n🕸 Executes the **HTML scraping tool on Bright Data MCP**.\nIt grabs the page, processes the DOM, and scrapes user profile data.\n\n##### 🧩 **Parse Scraped Profiles**\n\n📑 Uses a structured output parser to **convert the scraped HTML/markdown** into clean JSON data like:\n\n```json\n{\n  \"name\": \"Jon Skeet\",\n  \"location\": \"UK\",\n  \"profileUrl\": \"...\",\n  \"tags\": \"java, c#\",\n  \"reputation\": \"320\"\n}\n```\n\n💡 **Why it's useful**:\nYou don’t need to manually extract data using selectors — the AI does it intelligently.\n\n---\n\n"
          },
          "typeVersion": 1
        },
        {
          "id": "8e696519-51cf-42ea-9f1c-4b531e183696",
          "name": "Sticky Note2",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            960,
            -1200
          ],
          "parameters": {
            "color": 5,
            "width": 420,
            "height": 1380,
            "content": "## 📊 **Section 3: Format & Save to Sheets**\n\n> *“Polish and preserve your gold.”*\n\n### 🧾 **Format Data for Google Sheets**\n\n📌 **What it does**:\nThis `Code` node **cleans the scraped data**, picks only what you care about (name, location, reputation, etc.), and **outputs one item per user**.\n\n💡 **Why it's useful**:\nIt makes sure your data is **structured and ready for Sheets**. Clean in = clean out.\n\n---\n\n### 📄 **Save Leads to Google Sheet**\n\n📌 **What it does**:\nTakes each formatted item and **appends it to a connected Google Sheet**.\n\n💡 **Why it's useful**:\nThis is your **automated storage system**. You can build a list of Stack Overflow leads, update CRMs, or just keep it for research.\n\n---\n"
          },
          "typeVersion": 1
        },
        {
          "id": "7cf77dc6-7b55-400d-a7da-a85d906f8a99",
          "name": "Sticky Note9",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -2120,
            -1140
          ],
          "parameters": {
            "color": 4,
            "width": 1300,
            "height": 320,
            "content": "=======================================\n            WORKFLOW ASSISTANCE\n=======================================\nFor any questions or support, please contact:\n    Yaron@nofluff.online\n\nExplore more tips and tutorials here:\n   - YouTube: https://www.youtube.com/@YaronBeen/videos\n   - LinkedIn: https://www.linkedin.com/in/yaronbeen/\n=======================================\n"
          },
          "typeVersion": 1
        },
        {
          "id": "93f5ad00-0cd0-4e53-b0d5-eba652b3fb61",
          "name": "Sticky Note4",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -2120,
            -800
          ],
          "parameters": {
            "color": 4,
            "width": 1289,
            "height": 3018,
            "content": "# 🧠✨ **AI-Powered Stack Overflow Lead Scraper**\n\n### *Scrape, Parse, and Save Developer Profiles to Google Sheets Using Bright Data & n8n*\n\n---\n\n## 🚀 **Section 1: Trigger & Input Setup**\n\n> *“Start the engine and define what we want.”*\n\n### 🔘 **Start Scraping**\n\n📌 **What it does**:\nThis is a **manual trigger node** — it means you click a button to start the automation whenever you're ready.\n\n💡 **Why it's useful**:\nIt gives **you control**. You don’t have to rely on a schedule or external webhook to run your bot.\n\n---\n\n### ✏️ **Input Setup**\n\n📌 **What it does**:\nThis node allows you to **edit or define any optional fields** before running the scraper. For example, you could:\n\n* Choose which forum to target\n* Add filters like location or tags (optional)\n* Enter how many profiles to scrape\n\n💡 **Why it's useful**:\nYou can **dynamically control** the scraper without touching the workflow logic.\n\n---\n\n## 🤖 **Section 2: AI-Powered Scraping Brain**\n\n> *“Let the AI handle the heavy lifting.”*\n\n### 🤖 **AI Agent: Generate Scraper Instructions**\n\n📌 **What it does**:\nThis is the **core automation brain**. It receives the input, uses your prompt and memory, and knows it should activate Bright Data to scrape user profiles from Stack Overflow.\n\n💡 **Why it's useful**:\nInstead of coding every scraping rule manually, you let an **AI agent manage tools and instructions**.\n\n---\n\n#### 🔗 **Connected Sub-Tools**:\n\n##### 🧠 **Conversation Memory**\n\n🧊 Saves context between steps so the agent “remembers” what the task is about.\n\n##### 🔌 **Bright Data: StackOverflow Scraper (HTML)**\n\n🕸 Executes the **HTML scraping tool on Bright Data MCP**.\nIt grabs the page, processes the DOM, and scrapes user profile data.\n\n##### 🧩 **Parse Scraped Profiles**\n\n📑 Uses a structured output parser to **convert the scraped HTML/markdown** into clean JSON data like:\n\n```json\n{\n  \"name\": \"Jon Skeet\",\n  \"location\": \"UK\",\n  \"profileUrl\": \"...\",\n  \"tags\": \"java, c#\",\n  \"reputation\": \"320\"\n}\n```\n\n💡 **Why it's useful**:\nYou don’t need to manually extract data using selectors — the AI does it intelligently.\n\n---\n\n## 📊 **Section 3: Format & Save to Sheets**\n\n> *“Polish and preserve your gold.”*\n\n### 🧾 **Format Data for Google Sheets**\n\n📌 **What it does**:\nThis `Code` node **cleans the scraped data**, picks only what you care about (name, location, reputation, etc.), and **outputs one item per user**.\n\n💡 **Why it's useful**:\nIt makes sure your data is **structured and ready for Sheets**. Clean in = clean out.\n\n---\n\n### 📄 **Save Leads to Google Sheet**\n\n📌 **What it does**:\nTakes each formatted item and **appends it to a connected Google Sheet**.\n\n💡 **Why it's useful**:\nThis is your **automated storage system**. You can build a list of Stack Overflow leads, update CRMs, or just keep it for research.\n\n---\n\n## 🌟 Final Benefits for You\n\n✅ No manual copy-pasting\n✅ AI handles scraping + parsing\n✅ Exported automatically to Sheets\n✅ Fully reusable with Bright Data MCP\n✅ Friendly for beginners with room to scale\n\n---\n\n"
          },
          "typeVersion": 1
        },
        {
          "id": "8c6bf091-2ca5-484e-b677-c83bbcd569b1",
          "name": "Sticky Note3",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            1500,
            -1200
          ],
          "parameters": {
            "color": 7,
            "width": 380,
            "height": 240,
            "content": "## I’ll receive a tiny commission if you join Bright Data through this link—thanks for fueling more free content!\n\n### https://get.brightdata.com/1tndi4600b25"
          },
          "typeVersion": 1
        },
        {
          "id": "d1886048-1c41-48d7-9172-81d01a99045b",
          "name": "Auto-fixing Output Parser",
          "type": "@n8n/n8n-nodes-langchain.outputParserAutofixing",
          "position": [
            800,
            320
          ],
          "parameters": {
            "options": {}
          },
          "typeVersion": 1
        },
        {
          "id": "3ac5af36-f7ea-4e1e-9989-53f4f7b1820c",
          "name": "OpenAI Chat Model1",
          "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
          "position": [
            780,
            540
          ],
          "parameters": {
            "model": {
              "__rl": true,
              "mode": "list",
              "value": "gpt-4o-mini"
            },
            "options": {}
          },
          "credentials": {
            "openAiApi": {
              "id": "credential-id",
              "name": "openAiApi Credential"
            }
          },
          "typeVersion": 1.2
        },
        {
          "id": "c134bbb5-c328-4e32-bce6-506b568d3acc",
          "name": "Structured Output Parser",
          "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
          "position": [
            940,
            540
          ],
          "parameters": {
            "jsonSchemaExample": "{\n  \"target\": \"https://stackoverflow.com/users\",\n  \"forums\": [\n    {\n      \"name\": \"Stack Overflow Users\",\n      \"baseUrl\": \"https://stackoverflow.com/users\",\n      \"exampleProfile\": \"https://stackoverflow.com/users/6309/vonc\",\n      \"selectors\": {\n        \"name\": \"VonC\",\n        \"location\": \"France\",\n        \"reputation\": \"603\",\n        \"tags\": \"git, github, docker\"\n      }\n    },\n    {\n      \"name\": \"Stack Overflow Users\",\n      \"baseUrl\": \"https://stackoverflow.com/users\",\n      \"exampleProfile\": \"https://stackoverflow.com/users/2402272/john-bollinger\",\n      \"selectors\": {\n        \"name\": \"John Bollinger\",\n        \"location\": \"\",\n        \"reputation\": \"375\",\n        \"tags\": \"c, java, linux\"\n      }\n    },\n    {\n      \"name\": \"Stack Overflow Users\",\n      \"baseUrl\": \"https://stackoverflow.com/users\",\n      \"exampleProfile\": \"https://stackoverflow.com/users/6196568/shingo\",\n      \"selectors\": {\n        \"name\": \"shingo\",\n        \"location\": \"On the Earth\",\n        \"reputation\": \"340\",\n        \"tags\": \"c#, unity-game-engine, php\"\n      }\n    },\n    {\n      \"name\": \"Stack Overflow Users\",\n      \"baseUrl\": \"https://stackoverflow.com/users\",\n      \"exampleProfile\": \"https://stackoverflow.com/users/5133585/sweeper\",\n      \"selectors\": {\n        \"name\": \"Sweeper\",\n        \"location\": \"UK\",\n        \"reputation\": \"325\",\n        \"tags\": \"swift, java, c#\"\n      }\n    },\n    {\n      \"name\": \"Stack Overflow Users\",\n      \"baseUrl\": \"https://stackoverflow.com/users\",\n      \"exampleProfile\": \"https://stackoverflow.com/users/22656/jon-skeet\",\n      \"selectors\": {\n        \"name\": \"Jon Skeet\",\n        \"location\": \"Reading, United Kingdom\",\n        \"reputation\": \"320\",\n        \"tags\": \"c#, java, .net\"\n      }\n    },\n    {\n      \"name\": \"Stack Overflow Users\",\n      \"baseUrl\": \"https://stackoverflow.com/users\",\n      \"exampleProfile\": \"https://stackoverflow.com/users/1774667/yakk-adam-nevraumont\",\n      \"selectors\": {\n        \"name\": \"Yakk - Adam Nevraumont\",\n        \"location\": \"Canada\",\n        \"reputation\": \"313\",\n        \"tags\": \"c++, c++11, templates\"\n      }\n    },\n    {\n      \"name\": \"Stack Overflow Users\",\n      \"baseUrl\": \"https://stackoverflow.com/users\",\n      \"exampleProfile\": \"https://stackoverflow.com/users/6461462/m\",\n      \"selectors\": {\n        \"name\": \"M--\",\n        \"location\": \"TBA\",\n        \"reputation\": \"301\",\n        \"tags\": \"r, dataframe, ggplot2\"\n      }\n    },\n    {\n      \"name\": \"Stack Overflow Users\",\n      \"baseUrl\": \"https://stackoverflow.com/users\",\n      \"exampleProfile\": \"https://stackoverflow.com/users/51717/jason-c\",\n      \"selectors\": {\n        \"name\": \"Jason C\",\n        \"location\": \"\",\n        \"reputation\": \"300\",\n        \"tags\": \"linux, iptables, ipv6\"\n      }\n    },\n    {\n      \"name\": \"Stack Overflow Users\",\n      \"baseUrl\": \"https://stackoverflow.com/users\",\n      \"exampleProfile\": \"https://stackoverflow.com/users/12500315/allan-cameron\",\n      \"selectors\": {\n        \"name\": \"Allan Cameron\",\n        \"location\": \"UK\",\n        \"reputation\": \"285\",\n        \"tags\": \"r, ggplot2, dplyr\"\n      }\n    },\n    {\n      \"name\": \"Stack Overflow Users\",\n      \"baseUrl\": \"https://stackoverflow.com/users\",\n      \"exampleProfile\": \"https://stackoverflow.com/users/16752210/halo\",\n      \"selectors\": {\n        \"name\": \"Halo\",\n        \"location\": \"USA\",\n        \"reputation\": \"280\",\n        \"tags\": \"three.js, javascript, css\"\n      }\n    }\n  ]\n}\n"
          },
          "typeVersion": 1.2
        }
      ],
      "active": false,
      "pinData": {},
      "settings": {
        "executionOrder": "v1"
      },
      "versionId": "05d835bd-ef3d-47f9-a22d-e0a47f5094bd",
      "connections": {
        "Input Setup": {
          "main": [
            [
              {
                "node": "AI Agent: Generate Scraper Instructions",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Start Scraping": {
          "main": [
            [
              {
                "node": "Input Setup",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "OpenAI Chat Model": {
          "ai_languageModel": [
            [
              {
                "node": "AI Agent: Generate Scraper Instructions",
                "type": "ai_languageModel",
                "index": 0
              }
            ]
          ]
        },
        "OpenAI Chat Model1": {
          "ai_languageModel": [
            [
              {
                "node": "Auto-fixing Output Parser",
                "type": "ai_languageModel",
                "index": 0
              }
            ]
          ]
        },
        "Conversation Memory": {
          "ai_memory": [
            [
              {
                "node": "AI Agent: Generate Scraper Instructions",
                "type": "ai_memory",
                "index": 0
              }
            ]
          ]
        },
        "Structured Output Parser": {
          "ai_outputParser": [
            [
              {
                "node": "Auto-fixing Output Parser",
                "type": "ai_outputParser",
                "index": 0
              }
            ]
          ]
        },
        "Auto-fixing Output Parser": {
          "ai_outputParser": [
            [
              {
                "node": "AI Agent: Generate Scraper Instructions",
                "type": "ai_outputParser",
                "index": 0
              }
            ]
          ]
        },
        "MCP Client to Scrape as HTML": {
          "ai_tool": [
            [
              {
                "node": "AI Agent: Generate Scraper Instructions",
                "type": "ai_tool",
                "index": 0
              }
            ]
          ]
        },
        "Format Data for Google Sheets": {
          "main": [
            [
              {
                "node": "Save Leads to Google Sheet",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "AI Agent: Generate Scraper Instructions": {
          "main": [
            [
              {
                "node": "Format Data for Google Sheets",
                "type": "main",
                "index": 0
              }
            ]
          ]
        }
      }
    },
    "lastUpdatedBy": 62,
    "workflowInfo": {
      "nodeCount": 17,
      "nodeTypes": {
        "n8n-nodes-base.set": {
          "count": 1
        },
        "n8n-nodes-base.code": {
          "count": 1
        },
        "n8n-nodes-base.stickyNote": {
          "count": 6
        },
        "n8n-nodes-base.googleSheets": {
          "count": 1
        },
        "n8n-nodes-mcp.mcpClientTool": {
          "count": 1
        },
        "n8n-nodes-base.manualTrigger": {
          "count": 1
        },
        "@n8n/n8n-nodes-langchain.agent": {
          "count": 1
        },
        "@n8n/n8n-nodes-langchain.lmChatOpenAi": {
          "count": 2
        },
        "@n8n/n8n-nodes-langchain.memoryBufferWindow": {
          "count": 1
        },
        "@n8n/n8n-nodes-langchain.outputParserAutofixing": {
          "count": 1
        },
        "@n8n/n8n-nodes-langchain.outputParserStructured": {
          "count": 1
        }
      }
    },
    "status": "published",
    "user": {
      "name": "Yaron Been",
      "username": "yaron-nofluff",
      "bio": "Building AI Agents and Automations | Growth Marketer | Entrepreneur | Book Author & Podcast Host\n\nIf you need any help with Automations, feel free to reach out via linkedin:\nhttps://www.linkedin.com/in/yaronbeen/\n\nAnd check out my Youtube channel:\nhttps://www.youtube.com/@YaronBeen/videos",
      "verified": true,
      "links": [
        "https://www.nofluff.online/automation-services/"
      ],
      "avatar": "https://gravatar.com/avatar/a4e4dcaa1f76ff5266bbf80e8df86d22efda890474c68f7796e72fd82e3f2375?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": 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": 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": 838,
        "icon": "fa:mouse-pointer",
        "name": "n8n-nodes-base.manualTrigger",
        "codex": {
          "data": {
            "resources": {
              "generic": [],
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.manualworkflowtrigger/"
                }
              ]
            },
            "categories": [
              "Core Nodes"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0"
          }
        },
        "group": "[\"trigger\"]",
        "defaults": {
          "name": "When clicking ‘Execute workflow’",
          "color": "#909298"
        },
        "iconData": {
          "icon": "mouse-pointer",
          "type": "icon"
        },
        "displayName": "Manual 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": 1153,
        "icon": "file:openAiLight.svg",
        "name": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
        "codex": {
          "data": {
            "resources": {
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatopenai/"
                }
              ]
            },
            "categories": [
              "AI",
              "Langchain"
            ],
            "subcategories": {
              "AI": [
                "Language Models",
                "Root Nodes"
              ],
              "Language Models": [
                "Chat Models (Recommended)"
              ]
            }
          }
        },
        "group": "[\"transform\"]",
        "defaults": {
          "name": "OpenAI Chat Model"
        },
        "iconData": {
          "type": "file",
          "fileBuffer": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTM2Ljg2NzEgMTYuMzcxOEMzNy43NzQ2IDEzLjY0OCAzNy40NjIxIDEwLjY2NDIgMzYuMDEwOCA4LjE4NjYxQzMzLjgyODIgNC4zODY1MyAyOS40NDA3IDIuNDMxNDkgMjUuMTU1NiAzLjM1MTUxQzIzLjI0OTMgMS4yMDM5NiAyMC41MTA1IC0wLjAxNzMxNDggMTcuNjM5MiAwLjAwMDE4NTUzM0MxMy4yNTkxIC0wLjAwOTgxNDY4IDkuMzcyNzMgMi44MTAyNSA4LjAyNTIgNi45Nzc4M0M1LjIxMTM5IDcuNTU0MSAyLjc4MjU4IDkuMzE1MzggMS4zNjEzIDExLjgxMTdDLTAuODM3NDkzIDE1LjYwMTggLTAuMzM2MjMyIDIwLjM3OTQgMi42MDEzMyAyMy42Mjk0QzEuNjkzODEgMjYuMzUzMiAyLjAwNjMyIDI5LjMzNzEgMy40NTc2IDMxLjgxNDZDNS42NDAxNSAzNS42MTQ3IDEwLjAyNzcgMzcuNTY5NyAxNC4zMTI4IDM2LjY0OTdDMTYuMjE3OSAzOC43OTczIDE4Ljk1NzkgNDAuMDE4NSAyMS44MjkyIDM5Ljk5OThDMjYuMjExOCA0MC4wMTEgMzAuMDk5NCAzNy4xODg1IDMxLjQ0NjkgMzMuMDE3MUMzNC4yNjA4IDMyLjQ0MDkgMzYuNjg5NiAzMC42Nzk2IDM4LjExMDggMjguMTgzM0M0MC4zMDcxIDI0LjM5MzIgMzkuODA0NiAxOS42MTk0IDM2Ljg2ODMgMTYuMzY5M0wzNi44NjcxIDE2LjM3MThaTTIxLjgzMTcgMzcuMzg2QzIwLjA3OCAzNy4zODg1IDE4LjM3OTIgMzYuNzc0NyAxNy4wMzI5IDM1LjY1MDlDMTcuMDk0MSAzNS42MTg0IDE3LjIwMDQgMzUuNTU5NyAxNy4yNjkxIDM1LjUxNzJMMjUuMjM0MyAzMC45MTcxQzI1LjY0MTggMzAuNjg1OCAyNS44OTE4IDMwLjI1MjEgMjUuODg5MyAyOS43ODMzVjE4LjU1NDNMMjkuMjU1NyAyMC40OTgxQzI5LjI5MTkgMjAuNTE1NiAyOS4zMTU3IDIwLjU1MDYgMjkuMzIwNyAyMC41OTA2VjI5Ljg4OTZDMjkuMzE1NyAzNC4wMjQ3IDI1Ljk2NjggMzcuMzc3MiAyMS44MzE3IDM3LjM4NlpNNS43MjY0IDMwLjUwNzFDNC44NDc2MyAyOC45ODk2IDQuNTMxMzcgMjcuMjEwOCA0LjgzMjYzIDI1LjQ4NDVDNC44OTEzOCAyNS41MTk1IDQuOTk1MTMgMjUuNTgzMiA1LjA2ODg4IDI1LjYyNTdMMTMuMDM0MSAzMC4yMjU4QzEzLjQzNzggMzAuNDYyMSAxMy45Mzc4IDMwLjQ2MjEgMTQuMzQyOCAzMC4yMjU4TDI0LjA2NjggMjQuNjEwN1YyOC40OTgzQzI0LjA2OTMgMjguNTM4MyAyNC4wNTA1IDI4LjU3NyAyNC4wMTkzIDI4LjYwMkwxNS45Njc5IDMzLjI1MDlDMTIuMzgxNSAzNS4zMTU5IDcuODAxNDQgMzQuMDg4NCA1LjcyNzY1IDMwLjUwNzFINS43MjY0Wk0zLjYzMDEgMTMuMTIwNUM0LjUwNTEyIDExLjYwMDQgNS44ODY0IDEwLjQzNzkgNy41MzE0NCA5LjgzNDE1QzcuNTMxNDQgOS45MDI5IDcuNTI3NjkgMTAuMDI0MiA3LjUyNzY5IDEwLjEwOTJWMTkuMzEwNkM3LjUyNTE5IDE5Ljc3ODEgNy43NzUxOSAyMC4yMTE5IDguMTgxNDUgMjAuNDQzMUwxNy45MDU0IDI2LjA1N0wxNC41MzkxIDI4LjAwMDhDMTQuNTA1MyAyOC4wMjMzIDE0LjQ2MjggMjguMDI3IDE0LjQyNTMgMjguMDEwOEw2LjM3MjY2IDIzLjM1ODJDMi43OTM4MyAyMS4yODU2IDEuNTY2MzEgMTYuNzA2OCAzLjYyODg1IDEzLjEyMTdMMy42MzAxIDEzLjEyMDVaTTMxLjI4ODIgMTkuNTU2OUwyMS41NjQyIDEzLjk0MTdMMjQuOTMwNiAxMS45OTkyQzI0Ljk2NDMgMTEuOTc2NyAyNS4wMDY4IDExLjk3MjkgMjUuMDQ0MyAxMS45ODkyTDMzLjA5NyAxNi42MzhDMzYuNjgyMSAxOC43MDkzIDM3LjkxMDggMjMuMjk1NyAzNS44Mzk1IDI2Ljg4MDhDMzQuOTYzMyAyOC4zOTgzIDMzLjU4MzIgMjkuNTYwOCAzMS45Mzk1IDMwLjE2NThWMjAuNjg5NEMzMS45NDMyIDIwLjIyMTkgMzEuNjk0NSAxOS43ODk0IDMxLjI4OTQgMTkuNTU2OUgzMS4yODgyWk0zNC42MzgzIDE0LjUxNDJDMzQuNTc5NSAxNC40NzggMzQuNDc1OCAxNC40MTU1IDM0LjQwMiAxNC4zNzNMMjYuNDM2OCA5Ljc3Mjg5QzI2LjAzMzEgOS41MzY2NCAyNS41MzMxIDkuNTM2NjQgMjUuMTI4MSA5Ljc3Mjg5TDE1LjQwNDEgMTUuMzg4VjExLjUwMDRDMTUuNDAxNiAxMS40NjA0IDE1LjQyMDQgMTEuNDIxNyAxNS40NTE2IDExLjM5NjdMMjMuNTAzIDYuNzUxNThDMjcuMDg5NCA0LjY4Mjc5IDMxLjY3NDUgNS45MTQwNiAzMy43NDIgOS41MDE2NEMzNC42MTU4IDExLjAxNjcgMzQuOTMyIDEyLjc5MDUgMzQuNjM1OCAxNC41MTQySDM0LjYzODNaTTEzLjU3NDEgMjEuNDQzMUwxMC4yMDY1IDE5LjQ5OTRDMTAuMTcwMiAxOS40ODE5IDEwLjE0NjUgMTkuNDQ2OCAxMC4xNDE1IDE5LjQwNjhWMTAuMTA3OUMxMC4xNDQgNS45Njc4MSAxMy41MDI4IDIuNjEyNzQgMTcuNjQyOSAyLjYxNTI0QzE5LjM5NDIgMi42MTUyNCAyMS4wODkyIDMuMjMwMjUgMjIuNDM1NSA0LjM1MDI4QzIyLjM3NDMgNC4zODI3OCAyMi4yNjkzIDQuNDQxNTMgMjIuMTk5MiA0LjQ4NDAzTDE0LjIzNDEgOS4wODQxM0MxMy44MjY2IDkuMzE1MzggMTMuNTc2NiA5Ljc0Nzg5IDEzLjU3OTEgMTAuMjE2N0wxMy41NzQxIDIxLjQ0MDZWMjEuNDQzMVpNMTUuNDAyOSAxNy41MDA2TDE5LjczNDIgMTQuOTk5M0wyNC4wNjU1IDE3LjQ5OTNWMjIuNTAwN0wxOS43MzQyIDI1LjAwMDdMMTUuNDAyOSAyMi41MDA3VjE3LjUwMDZaIiBmaWxsPSIjN0Q3RDg3Ii8+Cjwvc3ZnPgo="
        },
        "displayName": "OpenAI Chat Model",
        "typeVersion": 1,
        "nodeCategories": [
          {
            "id": 25,
            "name": "AI"
          },
          {
            "id": 26,
            "name": "Langchain"
          }
        ]
      },
      {
        "id": 1163,
        "icon": "fa:database",
        "name": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
        "codex": {
          "data": {
            "resources": {
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.memorybufferwindow/"
                }
              ]
            },
            "categories": [
              "AI",
              "Langchain"
            ],
            "subcategories": {
              "AI": [
                "Memory"
              ],
              "Memory": [
                "For beginners"
              ]
            }
          }
        },
        "group": "[\"transform\"]",
        "defaults": {
          "name": "Simple Memory"
        },
        "iconData": {
          "icon": "database",
          "type": "icon"
        },
        "displayName": "Simple Memory",
        "typeVersion": 1,
        "nodeCategories": [
          {
            "id": 25,
            "name": "AI"
          },
          {
            "id": 26,
            "name": "Langchain"
          }
        ]
      },
      {
        "id": 1175,
        "icon": "fa:tools",
        "name": "@n8n/n8n-nodes-langchain.outputParserAutofixing",
        "codex": {
          "data": {
            "resources": {
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.outputparserautofixing/"
                }
              ]
            },
            "categories": [
              "AI",
              "Langchain"
            ],
            "subcategories": {
              "AI": [
                "Output Parsers"
              ]
            }
          }
        },
        "group": "[\"transform\"]",
        "defaults": {
          "name": "Auto-fixing Output Parser"
        },
        "iconData": {
          "icon": "tools",
          "type": "icon"
        },
        "displayName": "Auto-fixing Output Parser",
        "typeVersion": 1,
        "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"
          }
        ]
      }
    ],
    "categories": [
      {
        "id": 37,
        "name": "Lead Generation"
      },
      {
        "id": 49,
        "name": "AI Summarization"
      }
    ],
    "image": []
  }
}