N
n8n Store
Workflow Market
32  Track Sales Rep Performance

32 Track Sales Rep Performance

by yaron-nofluffโ€ข0 views

่ชฌๆ˜Ž

Categories

๐Ÿค– AI & Machine Learning

Nodes Used

n8n-nodes-base.setn8n-nodes-base.coden8n-nodes-base.stickyNoten8n-nodes-base.stickyNoten8n-nodes-base.stickyNoten8n-nodes-base.stickyNoten8n-nodes-base.stickyNoten8n-nodes-base.stickyNoten8n-nodes-base.googleSheetsn8n-nodes-mcp.mcpClientTool
Price็„กๆ–™
Views0
ๆœ€็ต‚ๆ›ดๆ–ฐ11/28/2025
workflow.json
{
  "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": "kmqnyfHdWfA8k1KC",
          "name": "OpenAi account 3"
        }
      },
      "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": "dGu6Ys11ijXSTxcV",
          "name": "MCP Client (STDIO) account"
        }
      },
      "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": "i899RBJ6SKiYYWwx",
          "name": "Google Sheets account"
        }
      },
      "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    [email protected]\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": "kmqnyfHdWfA8k1KC",
          "name": "OpenAi account 3"
        }
      },
      "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
          }
        ]
      ]
    }
  }
}

็›ธๅ…ณๅทฅไฝœๆต