{
  "workflow": {
    "id": 5975,
    "name": "Track & analyze sales performance with AI insights and Google Sheets",
    "views": 691,
    "recentViews": 0,
    "totalViews": 691,
    "createdAt": "2025-07-13T19:03:25.812Z",
    "description": "*This workflow contains community nodes that are only compatible with the self-hosted version of n8n.*\n\nThis workflow automatically tracks individual sales rep performance—calls, emails, meetings, quota attainment—and surfaces coaching insights. Free your managers from manual report building and focus on improvement.\n\n## Overview\n\nOn a daily schedule, the workflow queries CRM and telephony/email logs, aggregating activity metrics per rep. OpenAI analyzes patterns, flags underperformance or standout achievements, and suggests tailored coaching tips. Results are delivered as a nicely formatted Slack message and stored in Airtable.\n\n## Tools Used\n\n- **n8n** – Automation backbone\n- **CRM + Telephony APIs** – Provide activity data\n- **OpenAI** – Generates insights and coaching tips\n- **Slack** – Sends manager digest\n- **Airtable** – Maintains historical performance records\n\n## How to Install\n\n1. **Import the Workflow** into n8n.\n2. **Connect Data Sources**: Add CRM, VoIP, and email API keys.\n3. **Set Up OpenAI**: Enter your API key.\n4. **Authorize Slack & Airtable**.\n5. **Customize Metrics**: Modify the aggregation node to focus on your KPIs.\n\n## Use Cases\n\n- **Sales Coaching**: Provide reps with daily feedback.\n- **Performance Management**: Quickly identify top and low performers.\n- **Incentive Programs**: Track achievements for rewards.\n- **Revenue Operations**: Unify activity data into one source.\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 #salesperformance #openai #salescoaching #n8nworkflow #nocode #revenueops",
    "workflow": {
      "id": "bB57PHGi6PT6kDou",
      "meta": {
        "instanceId": "c38e3b8a7e4240e6cdca062743f016c1029f385bf40345b6291939dfd83bfd77",
        "templateCredsSetupCompleted": true
      },
      "name": "32  Track Sales Rep Performance",
      "tags": [],
      "nodes": [
        {
          "id": "3a81bea5-aad7-43af-a555-e7be29f9f59a",
          "name": "⚡ Start Scraping (Manual Trigger)",
          "type": "n8n-nodes-base.manualTrigger",
          "position": [
            -500,
            -80
          ],
          "parameters": {},
          "typeVersion": 1
        },
        {
          "id": "81b6c9eb-17b7-45b0-abf8-4cdf31bf3b50",
          "name": " 🔗 Set MCP Source URL",
          "type": "n8n-nodes-base.set",
          "position": [
            -280,
            -80
          ],
          "parameters": {
            "options": {},
            "assignments": {
              "assignments": [
                {
                  "id": "5357cffe-b338-4852-a0ca-b9d9cf0700a1",
                  "name": "activityURL",
                  "type": "string",
                  "value": "https://jsonplaceholder.typicode.com/todos"
                }
              ]
            }
          },
          "typeVersion": 3.4
        },
        {
          "id": "f9d0f0d5-1dd7-4d85-b55c-3e84cfbf6918",
          "name": "🤖 Analyze Sales Rep Performance ",
          "type": "@n8n/n8n-nodes-langchain.agent",
          "position": [
            0,
            -80
          ],
          "parameters": {
            "text": "=You are a web scraper and data analyzer connected to Bright Data’s MCP tool.\n\nScrape the following URL:\n{{ $json.activityURL }}\n\nEach item in the data represents a sales rep activity. The \"userId\" is the rep ID, \"title\" is the task name, and \"completed\" is task status.\n\nStep 1: Group tasks by each userId (rep).\nStep 2: For each rep, calculate:\n\ntotalTasks\n\ncompletedTasks\n\nincompleteTasks\n\ncompletionRate (as percentage)\nStep 3: Rank reps from highest to lowest completion rate.\nStep 4: Add a field coachingRecommended: true if completionRate is less than 70%, false otherwise.",
            "options": {},
            "promptType": "define",
            "hasOutputParser": true
          },
          "typeVersion": 2
        },
        {
          "id": "947d6147-93ed-49be-91ad-6f9970be50e7",
          "name": "🧠 AI Brain (OpenAI)",
          "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
          "position": [
            -80,
            180
          ],
          "parameters": {
            "model": {
              "__rl": true,
              "mode": "list",
              "value": "gpt-4.1-mini"
            },
            "options": {}
          },
          "credentials": {
            "openAiApi": {
              "id": "credential-id",
              "name": "openAiApi Credential"
            }
          },
          "typeVersion": 1.2
        },
        {
          "id": "d5b17f70-e99e-4424-a047-9fafb86aa8dc",
          "name": "🌐 Bright Data MCP Tool",
          "type": "n8n-nodes-mcp.mcpClientTool",
          "position": [
            80,
            160
          ],
          "parameters": {
            "toolName": "scrape_as_markdown",
            "operation": "executeTool",
            "toolParameters": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Tool_Parameters', ``, 'json') }}"
          },
          "credentials": {
            "mcpClientApi": {
              "id": "credential-id",
              "name": "mcpClientApi Credential"
            }
          },
          "typeVersion": 1
        },
        {
          "id": "b3e71d48-9247-431f-a384-8b087f25157e",
          "name": "🧩 Split JSON to Individual Records",
          "type": "n8n-nodes-base.code",
          "position": [
            460,
            -80
          ],
          "parameters": {
            "jsCode": "return items[0].json.output.map(rep => {\nreturn {\njson: {\nrepId: rep.repId,\ntotalTasks: rep.totalTasks,\ncompletedTasks: rep.completedTasks,\nincompleteTasks: rep.incompleteTasks,\ncompletionRate: rep.completionRate,\ncoachingRecommended: rep.coachingRecommended\n}\n};\n});"
          },
          "typeVersion": 2
        },
        {
          "id": "a4b9a8a4-bca2-46d9-ab45-fee4e9cf49de",
          "name": " 📊 Store Rep Performance (Google Sheets)",
          "type": "n8n-nodes-base.googleSheets",
          "position": [
            640,
            -80
          ],
          "parameters": {
            "columns": {
              "value": {
                "repId": "={{ $json.repId }}",
                "totalTasks": "={{ $json.totalTasks }}",
                "completedTasks": "={{ $json.completedTasks }}",
                "completionRate": "={{ $json.completionRate }}",
                "incompletedTasks": "={{ $json.incompleteTasks }}",
                "coachingRecomended": "={{ $json.coachingRecommended }}"
              },
              "schema": [
                {
                  "id": "repId",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "repId",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "totalTasks",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "totalTasks",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "completedTasks",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "completedTasks",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "incompletedTasks",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "incompletedTasks",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "completionRate",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "completionRate",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "coachingRecomended",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "coachingRecomended",
                  "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/1ybPVtArYMojjWfT5EJyiC8I666ZhfQAWAeQ0A8Qidjg/edit#gid=0",
              "cachedResultName": "Sheet1"
            },
            "documentId": {
              "__rl": true,
              "mode": "list",
              "value": "1ybPVtArYMojjWfT5EJyiC8I666ZhfQAWAeQ0A8Qidjg",
              "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1ybPVtArYMojjWfT5EJyiC8I666ZhfQAWAeQ0A8Qidjg/edit?usp=drivesdk",
              "cachedResultName": "Track Sales Rep Performance"
            }
          },
          "credentials": {
            "googleSheetsOAuth2Api": {
              "id": "credential-id",
              "name": "googleSheetsOAuth2Api Credential"
            }
          },
          "typeVersion": 4.6
        },
        {
          "id": "2db26570-4de1-498b-ad8d-e49833ca8b48",
          "name": "Sticky Note",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -560,
            -780
          ],
          "parameters": {
            "color": 7,
            "width": 440,
            "height": 900,
            "content": "## 🔹 SECTION 1: Input & Trigger\n\n🧩 Combines:\n\n* ⚡ Start Scraping (Manual Trigger)\n* 🔗 Set MCP Source URL\n\n🧠 What Happens:\nThis section lets you kick off the workflow and define where the data should come from.\n\n📝 How It Works:\n\n1. You manually run the workflow (great for testing or scheduled automation).\n2. In the Set node, you paste the URL to scrape. In this example, it's a placeholder:\n   → [https://jsonplaceholder.typicode.com](https://jsonplaceholder.typicode.com)\n\n📈 Real-World Example:\nYou can change this to the MCP URL that fetches your sales performance dashboard from Bright Data.\n\n🌟 Benefits:\n✅ Beginner-friendly – no technical steps\n✅ Fully customizable – just replace the placeholder with your real URL\n✅ Works instantly – click + paste = done\n\n🎯 Icons Summary:\n⚡ = Start\n🔗 = Define Target Source"
          },
          "typeVersion": 1
        },
        {
          "id": "ca28cb46-e2fd-46b9-b1b7-057bf4a20d24",
          "name": "Sticky Note1",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -80,
            -1220
          ],
          "parameters": {
            "color": 6,
            "width": 440,
            "height": 1340,
            "content": "## 🤖 SECTION 2: AI Scraper & Analyzer (Bright Data MCP + AI Agent)\n\n🧩 Combines:\n\n* 🤖 Analyze Sales Rep Performance (AI Agent)\n\n  * 🧠 AI Brain (OpenAI)\n  * 🌐 Bright Data MCP Tool: scrape\\_as\\_markdown\n  * 🧾 Structured Response Parser\n\n🧠 What Happens:\nThis section is the heart of the workflow. It uses AI to read and scrape the webpage, process performance results, and return clean, structured JSON data.\n\n📝 How It Works:\n\n1. 🧠 OpenAI receives instructions like:\n   → “Scrape latest sales rep performance. Include repId, completedTasks, ranking, coaching suggestions, return as JSON.”\n\n2. 🌐 Bright Data’s MCP executes this by visiting the URL using mobile proxies and scraping the page as markdown (bypassing anti-bot protections).\n\n3. 🧾 The Structured Output Parser turns the result into a usable JSON array of sales reps with performance metrics.\n\n🧪 Output Example:\n\n```json\n[\n  {\n    \"repId\": 12,\n    \"completedTasks\": 18,\n    \"coachingRecommended\": false\n  },\n  ...\n]\n```\n\n🌟 Benefits:\n✅ Uses real-time AI scraping — no code, no manual labor\n✅ 100% structured output for automation\n✅ Scalable — works for 5 reps or 5,000!\n\n🎯 Icons Summary:\n🤖 = AI Agent\n🧠 = AI Brain\n🌐 = Scrape using Bright Data MCP\n🧾 = Convert to JSON"
          },
          "typeVersion": 1
        },
        {
          "id": "a63a1c64-7df3-41a4-9b1b-ece10b73ef60",
          "name": "Sticky Note2",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            400,
            -880
          ],
          "parameters": {
            "color": 5,
            "width": 420,
            "height": 1000,
            "content": "## 📊 SECTION 3: Process & Store in Google Sheets\n\n🧩 Combines:\n\n* 🧩 Split JSON to Individual Records (Function Node)\n* 📊 Store Rep Performance (Google Sheets)\n\n🧠 What Happens:\nNow that we have structured performance data, we break it into clean individual rows and save them in a Google Sheet.\n\n📝 How It Works:\n\n1. 🧩 The function node splits the array of reps into individual entries.\n   → Converts one big object with 10 reps → into 10 separate rows.\n\n2. 📊 The Google Sheets node appends each row:\n   → Columns like repId, completedTasks, ranking, coachingRecommended\n\n📈 Real-World Use:\nPerfect for tracking KPIs, building dashboards, or creating team reports without spreadsheets manual work!\n\n🌟 Benefits:\n✅ Automatically stores structured data\n✅ Compatible with dashboards and analytics tools\n✅ Hands-free performance reporting!\n\n🎯 Icons Summary:\n🧩 = Split records\n📊 = Store in Google Sheets\n"
          },
          "typeVersion": 1
        },
        {
          "id": "35bc1f15-dfa8-4435-a233-319da5da91a1",
          "name": "Sticky Note3",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -2120,
            -980
          ],
          "parameters": {
            "color": 4,
            "width": 1300,
            "height": 2920,
            "content": "# 🚀 Sales Rep Performance Scraper & Analyzer (n8n + Bright Data + AI)\n\nThis smart automation lets you scrape performance data about your sales reps from a source (like Bright Data’s MCP), extract meaningful insights (like rankings, completed tasks, coaching suggestions), and save them beautifully into Google Sheets — no coding required!\n\nLet’s break it down section-by-section:\n\n---\n\n## 🔹 SECTION 1: Input & Trigger\n\n🧩 Combines:\n\n* ⚡ Start Scraping (Manual Trigger)\n* 🔗 Set MCP Source URL\n\n🧠 What Happens:\nThis section lets you kick off the workflow and define where the data should come from.\n\n📝 How It Works:\n\n1. You manually run the workflow (great for testing or scheduled automation).\n2. In the Set node, you paste the URL to scrape. In this example, it's a placeholder:\n   → [https://jsonplaceholder.typicode.com](https://jsonplaceholder.typicode.com)\n\n📈 Real-World Example:\nYou can change this to the MCP URL that fetches your sales performance dashboard from Bright Data.\n\n🌟 Benefits:\n✅ Beginner-friendly – no technical steps\n✅ Fully customizable – just replace the placeholder with your real URL\n✅ Works instantly – click + paste = done\n\n🎯 Icons Summary:\n⚡ = Start\n🔗 = Define Target Source\n\n---\n\n## 🤖 SECTION 2: AI Scraper & Analyzer (Bright Data MCP + AI Agent)\n\n🧩 Combines:\n\n* 🤖 Analyze Sales Rep Performance (AI Agent)\n\n  * 🧠 AI Brain (OpenAI)\n  * 🌐 Bright Data MCP Tool: scrape\\_as\\_markdown\n  * 🧾 Structured Response Parser\n\n🧠 What Happens:\nThis section is the heart of the workflow. It uses AI to read and scrape the webpage, process performance results, and return clean, structured JSON data.\n\n📝 How It Works:\n\n1. 🧠 OpenAI receives instructions like:\n   → “Scrape latest sales rep performance. Include repId, completedTasks, ranking, coaching suggestions, return as JSON.”\n\n2. 🌐 Bright Data’s MCP executes this by visiting the URL using mobile proxies and scraping the page as markdown (bypassing anti-bot protections).\n\n3. 🧾 The Structured Output Parser turns the result into a usable JSON array of sales reps with performance metrics.\n\n🧪 Output Example:\n\n```json\n[\n  {\n    \"repId\": 12,\n    \"completedTasks\": 18,\n    \"coachingRecommended\": false\n  },\n  ...\n]\n```\n\n🌟 Benefits:\n✅ Uses real-time AI scraping — no code, no manual labor\n✅ 100% structured output for automation\n✅ Scalable — works for 5 reps or 5,000!\n\n🎯 Icons Summary:\n🤖 = AI Agent\n🧠 = AI Brain\n🌐 = Scrape using Bright Data MCP\n🧾 = Convert to JSON\n\n---\n\n## 📊 SECTION 3: Process & Store in Google Sheets\n\n🧩 Combines:\n\n* 🧩 Split JSON to Individual Records (Function Node)\n* 📊 Store Rep Performance (Google Sheets)\n\n🧠 What Happens:\nNow that we have structured performance data, we break it into clean individual rows and save them in a Google Sheet.\n\n📝 How It Works:\n\n1. 🧩 The function node splits the array of reps into individual entries.\n   → Converts one big object with 10 reps → into 10 separate rows.\n\n2. 📊 The Google Sheets node appends each row:\n   → Columns like repId, completedTasks, ranking, coachingRecommended\n\n📈 Real-World Use:\nPerfect for tracking KPIs, building dashboards, or creating team reports without spreadsheets manual work!\n\n🌟 Benefits:\n✅ Automatically stores structured data\n✅ Compatible with dashboards and analytics tools\n✅ Hands-free performance reporting!\n\n🎯 Icons Summary:\n🧩 = Split records\n📊 = Store in Google Sheets\n\n---\n\n# 🎁 Full Workflow Summary (Emoji Snapshot)\n\n| Step | Icon | Name                 | Description                        |\n| ---- | ---- | -------------------- | ---------------------------------- |\n| 1️⃣  | ⚡    | Start Scraping       | Manually start the workflow        |\n| 2️⃣  | 🔗   | Set MCP Source URL   | Define where the data comes from   |\n| 3️⃣  | 🤖   | AI Agent             | Smart scraper that thinks for you  |\n|      | 🧠   | OpenAI Model         | Understands scraping instructions  |\n|      | 🌐   | Bright Data Tool     | Actually scrapes the source        |\n|      | 🧾   | Output Parser        | Formats everything into clean JSON |\n| 4️⃣  | 🧩   | Split JSON           | Breaks array into rows             |\n| 5️⃣  | 📊   | Save to Google Sheet | Appends results into spreadsheet   |\n\n"
          },
          "typeVersion": 1
        },
        {
          "id": "4e4b4be2-e443-40c4-b6a9-df32564c0843",
          "name": "Sticky Note5",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            860,
            -880
          ],
          "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": "5ec158a5-1136-4047-9b42-0aa9d0816a0c",
          "name": "Sticky Note9",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -2120,
            -1340
          ],
          "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": "87667602-c4a6-44ae-8b02-a552e85de303",
          "name": "Auto-fixing Output Parser",
          "type": "@n8n/n8n-nodes-langchain.outputParserAutofixing",
          "position": [
            200,
            180
          ],
          "parameters": {
            "options": {}
          },
          "typeVersion": 1
        },
        {
          "id": "3e504880-d09a-44b5-9774-f89c1b7d85ad",
          "name": "OpenAI Chat Model",
          "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
          "position": [
            160,
            400
          ],
          "parameters": {
            "model": {
              "__rl": true,
              "mode": "list",
              "value": "gpt-4.1-mini"
            },
            "options": {}
          },
          "credentials": {
            "openAiApi": {
              "id": "credential-id",
              "name": "openAiApi Credential"
            }
          },
          "typeVersion": 1.2
        },
        {
          "id": "ffc087e9-4d4a-4881-b731-6f0ecdbfc1d3",
          "name": "🧾 Structured Response Parser1",
          "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
          "position": [
            340,
            400
          ],
          "parameters": {
            "jsonSchemaExample": "[\n  {\n    \"repId\": 5,\n    \"totalTasks\": 20,\n    \"completedTasks\": 13,\n    \"incompleteTasks\": 7,\n    \"completionRate\": 65,\n    \"coachingRecommended\": true\n  },\n  {\n    \"repId\": 1,\n    \"totalTasks\": 20,\n    \"completedTasks\": 11,\n    \"incompleteTasks\": 9,\n    \"completionRate\": 55,\n    \"coachingRecommended\": true\n  },\n  {\n    \"repId\": 2,\n    \"totalTasks\": 20,\n    \"completedTasks\": 10,\n    \"incompleteTasks\": 10,\n    \"completionRate\": 50,\n    \"coachingRecommended\": true\n  },\n  {\n    \"repId\": 3,\n    \"totalTasks\": 20,\n    \"completedTasks\": 8,\n    \"incompleteTasks\": 12,\n    \"completionRate\": 40,\n    \"coachingRecommended\": true\n  },\n  {\n    \"repId\": 10,\n    \"totalTasks\": 20,\n    \"completedTasks\": 11,\n    \"incompleteTasks\": 9,\n    \"completionRate\": 55,\n    \"coachingRecommended\": true\n  },\n  {\n    \"repId\": 9,\n    \"totalTasks\": 20,\n    \"completedTasks\": 9,\n    \"incompleteTasks\": 11,\n    \"completionRate\": 45,\n    \"coachingRecommended\": true\n  },\n  {\n    \"repId\": 4,\n    \"totalTasks\": 20,\n    \"completedTasks\": 7,\n    \"incompleteTasks\": 13,\n    \"completionRate\": 35,\n    \"coachingRecommended\": true\n  },\n  {\n    \"repId\": 6,\n    \"totalTasks\": 20,\n    \"completedTasks\": 6,\n    \"incompleteTasks\": 14,\n    \"completionRate\": 30,\n    \"coachingRecommended\": true\n  },\n  {\n    \"repId\": 7,\n    \"totalTasks\": 20,\n    \"completedTasks\": 10,\n    \"incompleteTasks\": 10,\n    \"completionRate\": 50,\n    \"coachingRecommended\": true\n  },\n  {\n    \"repId\": 8,\n    \"totalTasks\": 20,\n    \"completedTasks\": 13,\n    \"incompleteTasks\": 7,\n    \"completionRate\": 65,\n    \"coachingRecommended\": true\n  }\n]\n"
          },
          "typeVersion": 1.3
        }
      ],
      "active": false,
      "pinData": {},
      "settings": {
        "executionOrder": "v1"
      },
      "versionId": "e13736eb-09b4-4bd7-af0b-6b00f8b008bf",
      "connections": {
        "OpenAI Chat Model": {
          "ai_languageModel": [
            [
              {
                "node": "Auto-fixing Output Parser",
                "type": "ai_languageModel",
                "index": 0
              }
            ]
          ]
        },
        "🧠 AI Brain (OpenAI)": {
          "ai_languageModel": [
            [
              {
                "node": "🤖 Analyze Sales Rep Performance ",
                "type": "ai_languageModel",
                "index": 0
              }
            ]
          ]
        },
        " 🔗 Set MCP Source URL": {
          "main": [
            [
              {
                "node": "🤖 Analyze Sales Rep Performance ",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Auto-fixing Output Parser": {
          "ai_outputParser": [
            [
              {
                "node": "🤖 Analyze Sales Rep Performance ",
                "type": "ai_outputParser",
                "index": 0
              }
            ]
          ]
        },
        "🌐 Bright Data MCP Tool": {
          "ai_tool": [
            [
              {
                "node": "🤖 Analyze Sales Rep Performance ",
                "type": "ai_tool",
                "index": 0
              }
            ]
          ]
        },
        "🧾 Structured Response Parser1": {
          "ai_outputParser": [
            [
              {
                "node": "Auto-fixing Output Parser",
                "type": "ai_outputParser",
                "index": 0
              }
            ]
          ]
        },
        "⚡ Start Scraping (Manual Trigger)": {
          "main": [
            [
              {
                "node": " 🔗 Set MCP Source URL",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "🤖 Analyze Sales Rep Performance ": {
          "main": [
            [
              {
                "node": "🧩 Split JSON to Individual Records",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "🧩 Split JSON to Individual Records": {
          "main": [
            [
              {
                "node": " 📊 Store Rep Performance (Google Sheets)",
                "type": "main",
                "index": 0
              }
            ]
          ]
        }
      }
    },
    "lastUpdatedBy": 62,
    "workflowInfo": {
      "nodeCount": 16,
      "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.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": 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": 39,
        "name": "CRM"
      },
      {
        "id": 49,
        "name": "AI Summarization"
      }
    ],
    "image": []
  }
}