{
  "workflow": {
    "id": 5963,
    "name": "Extract & analyze competitor backlink data with Bright Data MCP & GPT",
    "views": 553,
    "recentViews": 0,
    "totalViews": 553,
    "createdAt": "2025-07-13T19:01:52.566Z",
    "description": "*This workflow contains community nodes that are only compatible with the self-hosted version of n8n.*\n\nThis workflow automatically analyzes competitor backlink profiles to understand their link building strategies and identify opportunities for your own SEO efforts. It saves you time by eliminating the need to manually research competitor links and provides detailed insights into their most valuable linking relationships.\n\n## Overview\n\nThis workflow automatically scrapes backlink analysis tools and competitor websites to extract comprehensive backlink data including referring domains, anchor text, link quality metrics, and link acquisition patterns. It uses Bright Data to access backlink databases and AI to intelligently analyze competitor link strategies.\n\n## Tools Used\n\n- **n8n**: The automation platform that orchestrates the workflow\n- **Bright Data**: For scraping backlink analysis platforms without being blocked\n- **OpenAI**: AI agent for intelligent backlink strategy analysis\n- **Google Sheets**: For storing competitor backlink data and insights\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 set up your backlink analysis spreadsheet\n5. **Customize**: Define competitor domains and backlink analysis parameters\n\n## Use Cases\n\n- **SEO Strategy**: Learn from competitor link building success and replicate strategies\n- **Link Prospecting**: Identify websites that link to competitors but not to you\n- **Competitive Intelligence**: Understand competitor SEO strategies and authority sources\n- **Link Building**: Find high-quality link opportunities in your industry\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 #competitorbacklinks #backlinkanalysis #seo #linkbuilding #brightdata #webscraping #competitoranalysis #n8nworkflow #workflow #nocode #linkanalysis #backlinkresearch #seoanalysis #competitiveintelligence #linkresearch #seostrategy #backlinkmonitoring #linkprospecting #domainanalysis #seotools #backlinkaudit #linkbuilding #organicseo #searchmarketing #competitorresearch #linkstrategy #seocompetitor #backlinkinsights",
    "workflow": {
      "id": "kJ6CKf3JPavFZYvM",
      "meta": {
        "instanceId": "60046904b104f0f72b2629a9d88fe9f676be4035769f1f08dad1dd38a76b9480",
        "templateCredsSetupCompleted": true
      },
      "name": "20 Analyze Competitor Backlinks",
      "tags": [],
      "nodes": [
        {
          "id": "ee9b60aa-0808-4720-be3a-059b3361100c",
          "name": "OpenAI Chat Model",
          "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
          "position": [
            480,
            280
          ],
          "parameters": {
            "model": {
              "__rl": true,
              "mode": "list",
              "value": "gpt-4o-mini"
            },
            "options": {}
          },
          "credentials": {
            "openAiApi": {
              "id": "credential-id",
              "name": "openAiApi Credential"
            }
          },
          "typeVersion": 1.2
        },
        {
          "id": "dbcf5e5e-c02c-4324-83df-5fc76727d1af",
          "name": "MCP Client",
          "type": "n8n-nodes-mcp.mcpClientTool",
          "position": [
            660,
            280
          ],
          "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": "0bdbf6bb-746a-4865-8ca5-d0cd5486e0d1",
          "name": "Trigger: Manual Execute",
          "type": "n8n-nodes-base.manualTrigger",
          "position": [
            0,
            0
          ],
          "parameters": {},
          "typeVersion": 1
        },
        {
          "id": "2ed6588f-489e-4057-8b3b-f9f19ffa0b86",
          "name": "Set: Competitor Domain",
          "type": "n8n-nodes-base.set",
          "position": [
            200,
            0
          ],
          "parameters": {
            "options": {},
            "assignments": {
              "assignments": [
                {
                  "id": "910cdf0d-ed9b-426f-a00e-b0f7c41dc29a",
                  "name": "url",
                  "type": "string",
                  "value": "https://ahrefs.com/"
                }
              ]
            }
          },
          "typeVersion": 3.4
        },
        {
          "id": "b750cb56-d2db-496c-b7ec-53b355049d4d",
          "name": "Agent: Scrape Backlinks (Bright Data MCP)",
          "type": "@n8n/n8n-nodes-langchain.agent",
          "position": [
            520,
            0
          ],
          "parameters": {
            "text": "=extract any backlinks available from the following url:\n{{ $json.url }}",
            "options": {},
            "promptType": "define",
            "hasOutputParser": true
          },
          "typeVersion": 2
        },
        {
          "id": "69860787-3f93-472a-8395-c43c24f6cf02",
          "name": "Function: Split Backlinks",
          "type": "n8n-nodes-base.code",
          "position": [
            1000,
            0
          ],
          "parameters": {
            "jsCode": "// This Function node takes input like your provided JSON\n// and returns each backlink as a separate item\n\n// 1️⃣ Get the input\nconst input = items[0].json.output;\n\n// 2️⃣ Extract backlinks array\nconst backlinks = input.backlinks;\n\n// 3️⃣ Build output items\nconst output = backlinks.map(backlink => {\n  return {\n    json: {\n      domain: input.domain,\n      title: backlink.title,\n      url: backlink.url,\n      category: backlink.category,\n      date: backlink.date\n    }\n  };\n});\n\n// 4️⃣ Return array of individual items\nreturn output;\n"
          },
          "typeVersion": 2
        },
        {
          "id": "cfecaa49-3d11-47ec-a18c-cc26b1e52e99",
          "name": "Google Sheets: Append Backlinks",
          "type": "n8n-nodes-base.googleSheets",
          "position": [
            1200,
            0
          ],
          "parameters": {
            "columns": {
              "value": {
                "url": "={{ $json.url }}",
                "date": "={{ $json.date }}",
                "title": "={{ $json.title }}",
                "domain": "={{ $json.domain }}",
                "category": "={{ $json.category }}"
              },
              "schema": [
                {
                  "id": "domain",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "domain",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "title",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "title",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "url",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "url",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "category",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "category",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "date",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "date",
                  "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/11_bI1ZmRuroowdXLaQ9OKM11vnaJ134NcE_tLh7S3jw/edit#gid=0",
              "cachedResultName": "Sheet1"
            },
            "documentId": {
              "__rl": true,
              "mode": "list",
              "value": "11_bI1ZmRuroowdXLaQ9OKM11vnaJ134NcE_tLh7S3jw",
              "cachedResultUrl": "https://docs.google.com/spreadsheets/d/11_bI1ZmRuroowdXLaQ9OKM11vnaJ134NcE_tLh7S3jw/edit?usp=drivesdk",
              "cachedResultName": "Backlinks"
            }
          },
          "credentials": {
            "googleSheetsOAuth2Api": {
              "id": "credential-id",
              "name": "googleSheetsOAuth2Api Credential"
            }
          },
          "typeVersion": 4.6
        },
        {
          "id": "33dc3004-5875-4a33-a330-df2b0e3e0ad7",
          "name": "Sticky Note",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -40,
            -1240
          ],
          "parameters": {
            "color": 6,
            "width": 380,
            "height": 1440,
            "content": "## ✅ **🔵 SECTION 1: Input & Trigger**\n\n### ⚙️ **Nodes**\n\n1️⃣ **Trigger: Manual Execute**\n![⚡](https://em-content.zobj.net/thumbs/120/apple/354/high-voltage_26a1.png)\n\n* **What it does:** This node starts the workflow manually when you click “Execute Workflow.”\n* **Why it’s useful:** It’s the simplest way to test your workflow on demand. Later, you can swap this with a **Schedule** node for daily or weekly runs.\n\n2️⃣ **Set: Competitor Domain**\n![📝](https://em-content.zobj.net/thumbs/120/apple/354/memo_1f4dd.png)\n\n* **What it does:** This node stores the **competitor’s domain** you want to analyze.\n* **Example:** `ahrefs.com` or `moz.com`\n* **Why it’s useful:** You can easily change domains without modifying the whole workflow. For multiple competitors, loop through them!\n\n---\n\n### 💡 **Beginner Benefit**\n\n✅ **Simple input control:** You don’t need to touch code — just type your competitor’s domain in one place.\n✅ **Reusable:** Same input can be reused for any site — just update the domain value.\n\n---\n\n---\n\n"
          },
          "typeVersion": 1
        },
        {
          "id": "5ad521f9-c227-4e44-a796-68ec79d7e243",
          "name": "Sticky Note1",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            460,
            -1900
          ],
          "parameters": {
            "color": 3,
            "width": 380,
            "height": 2100,
            "content": "## ✅ **🤖 SECTION 2: Agent Scrape Engine**\n\n### ⚙️ **Nodes**\n\n3️⃣ **Agent: Scrape Backlinks (Bright Data MCP)**\n![🤖](https://em-content.zobj.net/thumbs/120/apple/354/robot_1f916.png)\n\n* **What it does:** Calls your **custom scraping Agent** that uses Bright Data MCP to visit backlink explorer pages (like Ahrefs or Moz) and pull backlink data.\n* **How:** The Agent uses a secure proxy network to get around anti-bot protections and scrapes backlink profiles (URL, anchor text, type, etc.).\n* **Output:** Raw JSON with all backlinks found for the competitor.\n\n**Sub-Nodes:**\n\n* ⚙️ **MCP Client: Execute Scraper**\n  ![🧩](https://em-content.zobj.net/thumbs/120/apple/354/puzzle-piece_1f9e9.png)\n\n  * Connects directly to Bright Data’s backend to run the scraper tool.\n* 💬 **OpenAI Chat Model**\n  ![🧠](https://em-content.zobj.net/thumbs/120/apple/354/brain_1f9e0.png)\n\n  * Optional: If your Agent needs an LLM to generate instructions or parse dynamic websites, it talks to OpenAI here.\n* 🗂️ **Output Parser: Backlink JSON**\n  ![🗂️](https://em-content.zobj.net/thumbs/120/apple/354/card-index-dividers_1f5c2-fe0f.png)\n\n  * Ensures the Agent’s raw text comes out as **structured JSON** → easy to split & save later.\n\n---\n\n### 💡 **Beginner Benefit**\n\n✅ **No coding scraping:** You don’t have to build scrapers from scratch. Bright Data + Agent handles the hard part.\n✅ **Dynamic parsing:** The OpenAI node helps the Agent handle weird or changing HTML structures.\n✅ **Safe & scalable:** MCP proxies handle geo-blocks and captchas for you.\n\n---\n\n---\n\n"
          },
          "typeVersion": 1
        },
        {
          "id": "522c5056-4e30-418b-abc7-2fe6925a058a",
          "name": "Sticky Note2",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            960,
            -860
          ],
          "parameters": {
            "color": 5,
            "width": 400,
            "height": 1060,
            "content": "## ✅ **🟢 SECTION 3: Transform & Store**\n\n### ⚙️ **Nodes**\n\n4️⃣ **Function: Split Backlinks**\n![🔀](https://em-content.zobj.net/thumbs/120/apple/354/repeat-button_1f501.png)\n\n* **What it does:** Takes the JSON output of all backlinks and splits them into **one item per backlink**.\n* **Why:** So each backlink becomes its own row when sent to Google Sheets.\n\n5️⃣ **Google Sheets: Append Backlinks**\n![📄](https://em-content.zobj.net/thumbs/120/apple/354/page-facing-up_1f4c4.png)\n\n* **What it does:** Adds each backlink as a **new row** in your Google Sheet.\n* **Columns:** Domain, URL, anchor text, date, category, etc.\n\n---\n\n"
          },
          "typeVersion": 1
        },
        {
          "id": "4f58284e-3415-4be4-beb3-09736c824369",
          "name": "Sticky Note5",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            1460,
            -860
          ],
          "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": "eea0c5ec-6e85-41c7-8724-983811834d0f",
          "name": "Sticky Note9",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -1840,
            -1240
          ],
          "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": "5fc4b876-acf6-47b4-8fee-857ff4c0b1ec",
          "name": "Sticky Note4",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -1840,
            -900
          ],
          "parameters": {
            "color": 4,
            "width": 1289,
            "height": 3898,
            "content": "## 🎯 **🔗 Competitor Backlink Extraction Workflow**\n\n---\n\n## ✅ **🔵 SECTION 1: Input & Trigger**\n\n### ⚙️ **Nodes**\n\n1️⃣ **Trigger: Manual Execute**\n![⚡](https://em-content.zobj.net/thumbs/120/apple/354/high-voltage_26a1.png)\n\n* **What it does:** This node starts the workflow manually when you click “Execute Workflow.”\n* **Why it’s useful:** It’s the simplest way to test your workflow on demand. Later, you can swap this with a **Schedule** node for daily or weekly runs.\n\n2️⃣ **Set: Competitor Domain**\n![📝](https://em-content.zobj.net/thumbs/120/apple/354/memo_1f4dd.png)\n\n* **What it does:** This node stores the **competitor’s domain** you want to analyze.\n* **Example:** `ahrefs.com` or `moz.com`\n* **Why it’s useful:** You can easily change domains without modifying the whole workflow. For multiple competitors, loop through them!\n\n---\n\n### 💡 **Beginner Benefit**\n\n✅ **Simple input control:** You don’t need to touch code — just type your competitor’s domain in one place.\n✅ **Reusable:** Same input can be reused for any site — just update the domain value.\n\n---\n\n---\n\n## ✅ **🤖 SECTION 2: Agent Scrape Engine**\n\n### ⚙️ **Nodes**\n\n3️⃣ **Agent: Scrape Backlinks (Bright Data MCP)**\n![🤖](https://em-content.zobj.net/thumbs/120/apple/354/robot_1f916.png)\n\n* **What it does:** Calls your **custom scraping Agent** that uses Bright Data MCP to visit backlink explorer pages (like Ahrefs or Moz) and pull backlink data.\n* **How:** The Agent uses a secure proxy network to get around anti-bot protections and scrapes backlink profiles (URL, anchor text, type, etc.).\n* **Output:** Raw JSON with all backlinks found for the competitor.\n\n**Sub-Nodes:**\n\n* ⚙️ **MCP Client: Execute Scraper**\n  ![🧩](https://em-content.zobj.net/thumbs/120/apple/354/puzzle-piece_1f9e9.png)\n\n  * Connects directly to Bright Data’s backend to run the scraper tool.\n* 💬 **OpenAI Chat Model**\n  ![🧠](https://em-content.zobj.net/thumbs/120/apple/354/brain_1f9e0.png)\n\n  * Optional: If your Agent needs an LLM to generate instructions or parse dynamic websites, it talks to OpenAI here.\n* 🗂️ **Output Parser: Backlink JSON**\n  ![🗂️](https://em-content.zobj.net/thumbs/120/apple/354/card-index-dividers_1f5c2-fe0f.png)\n\n  * Ensures the Agent’s raw text comes out as **structured JSON** → easy to split & save later.\n\n---\n\n### 💡 **Beginner Benefit**\n\n✅ **No coding scraping:** You don’t have to build scrapers from scratch. Bright Data + Agent handles the hard part.\n✅ **Dynamic parsing:** The OpenAI node helps the Agent handle weird or changing HTML structures.\n✅ **Safe & scalable:** MCP proxies handle geo-blocks and captchas for you.\n\n---\n\n---\n\n## ✅ **🟢 SECTION 3: Transform & Store**\n\n### ⚙️ **Nodes**\n\n4️⃣ **Function: Split Backlinks**\n![🔀](https://em-content.zobj.net/thumbs/120/apple/354/repeat-button_1f501.png)\n\n* **What it does:** Takes the JSON output of all backlinks and splits them into **one item per backlink**.\n* **Why:** So each backlink becomes its own row when sent to Google Sheets.\n\n5️⃣ **Google Sheets: Append Backlinks**\n![📄](https://em-content.zobj.net/thumbs/120/apple/354/page-facing-up_1f4c4.png)\n\n* **What it does:** Adds each backlink as a **new row** in your Google Sheet.\n* **Columns:** Domain, URL, anchor text, date, category, etc.\n\n---\n\n### 💡 **Beginner Benefit**\n\n✅ **Automation:** You don’t need to copy-paste backlinks manually — they land in Sheets ready for outreach.\n✅ **Easy tracking:** Use Sheets filters to sort by link type, opportunity, or priority.\n✅ **Plug & play:** This section works with Airtable, Notion, or a CRM too — just switch the last node.\n\n---\n\n---\n\n## ✅✅✅ **✨ FULL FLOW OVERVIEW**\n\n| Section                    | What happens                                                                                             |\n| -------------------------- | -------------------------------------------------------------------------------------------------------- |\n| ⚡ **Input & Trigger**      | You click **Execute**, add a domain, and launch the flow.                                                |\n| 🤖 **Agent Scrape Engine** | The Agent + Bright Data does smart scraping, handles captchas, parses messy HTML, and outputs neat JSON. |\n| 🟢 **Transform & Store**   | The JSON is split into single backlinks and each one lands in your Google Sheet for action.              |\n\n---\n\n## 📌 **How You Benefit Overall**\n\n✅ No manual scraping\n✅ No manual copy-paste\n✅ No coding headaches\n✅ Fully automated link prospecting → just open your Sheet & start outreach!\n\n---\n\n**✨ This is a beginner-friendly SEO growth engine — and you built it with no code! ✨**\n\n---\n"
          },
          "typeVersion": 1
        },
        {
          "id": "e1d427ca-b97d-4026-a550-507e31b10370",
          "name": "Auto-fixing Output Parser",
          "type": "@n8n/n8n-nodes-langchain.outputParserAutofixing",
          "position": [
            800,
            280
          ],
          "parameters": {
            "options": {}
          },
          "typeVersion": 1
        },
        {
          "id": "ece54ff0-7010-4547-b73f-dc59660767c1",
          "name": "OpenAI Chat Model1",
          "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
          "position": [
            760,
            520
          ],
          "parameters": {
            "model": {
              "__rl": true,
              "mode": "list",
              "value": "gpt-4o-mini"
            },
            "options": {}
          },
          "credentials": {
            "openAiApi": {
              "id": "credential-id",
              "name": "openAiApi Credential"
            }
          },
          "typeVersion": 1.2
        },
        {
          "id": "ad2d763e-decd-49ce-a226-267808c93470",
          "name": "Structured Output Parser",
          "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
          "position": [
            940,
            500
          ],
          "parameters": {
            "jsonSchemaExample": "{\n  \"domain\": \"https://ahrefs.com/\",\n  \"backlinks\": [\n    {\n      \"title\": \"Ahrefs Certification: What To Expect and How It Works\",\n      \"url\": \"https://ahrefs.com/blog/ahrefs-certification/\",\n      \"category\": \"Blog\",\n      \"date\": \"March 2025\"\n    },\n    {\n      \"title\": \"Ahrefs Blog\",\n      \"url\": \"https://ahrefs.com/blog/\",\n      \"category\": \"Learn Marketing\"\n    },\n    {\n      \"title\": \"Ahrefs Academy\",\n      \"url\": \"https://academy.ahrefs.com\",\n      \"category\": \"Learn Marketing\"\n    },\n    {\n      \"title\": \"Ahrefs Podcast\",\n      \"url\": \"https://www.youtube.com/c/AhrefsCom\",\n      \"category\": \"Learn Marketing\"\n    },\n    {\n      \"title\": \"Ahrefs YouTube Channel\",\n      \"url\": \"https://www.youtube.com/c/AhrefsCom\",\n      \"category\": \"Learn Marketing\"\n    },\n    {\n      \"title\": \"Help Center\",\n      \"url\": \"https://help.ahrefs.com\",\n      \"category\": \"Resources\"\n    },\n    {\n      \"title\": \"Ahrefs Data\",\n      \"url\": \"https://ahrefs.com/big-data\",\n      \"category\": \"Resources\"\n    },\n    {\n      \"title\": \"Agency Directory\",\n      \"url\": \"https://www.ahrefs.com/agencies\",\n      \"category\": \"User Testimonials and Community\"\n    },\n    {\n      \"title\": \"About Ahrefs\",\n      \"url\": \"https://ahrefs.com/about\",\n      \"category\": \"Company Information\"\n    },\n    {\n      \"title\": \"Jobs at Ahrefs\",\n      \"url\": \"https://ahrefs.com/jobs\",\n      \"category\": \"Company Information\"\n    },\n    {\n      \"title\": \"Twitter\",\n      \"url\": \"https://x.com/ahrefs\",\n      \"category\": \"Social Media\"\n    },\n    {\n      \"title\": \"YouTube\",\n      \"url\": \"https://www.youtube.com/c/AhrefsCom\",\n      \"category\": \"Social Media\"\n    },\n    {\n      \"title\": \"Instagram\",\n      \"url\": \"https://www.instagram.com/ahrefs\",\n      \"category\": \"Social Media\"\n    },\n    {\n      \"title\": \"Facebook\",\n      \"url\": \"https://www.facebook.com/Ahrefs\",\n      \"category\": \"Social Media\"\n    },\n    {\n      \"title\": \"LinkedIn\",\n      \"url\": \"https://www.linkedin.com\",\n      \"category\": \"Social Media\"\n    }\n  ]\n}\n"
          },
          "typeVersion": 1.2
        }
      ],
      "active": false,
      "pinData": {},
      "settings": {
        "executionOrder": "v1"
      },
      "versionId": "16dc3c18-f761-4b99-a44c-8d189ad97893",
      "connections": {
        "MCP Client": {
          "ai_tool": [
            [
              {
                "node": "Agent: Scrape Backlinks (Bright Data MCP)",
                "type": "ai_tool",
                "index": 0
              }
            ]
          ]
        },
        "OpenAI Chat Model": {
          "ai_languageModel": [
            [
              {
                "node": "Agent: Scrape Backlinks (Bright Data MCP)",
                "type": "ai_languageModel",
                "index": 0
              }
            ]
          ]
        },
        "OpenAI Chat Model1": {
          "ai_languageModel": [
            [
              {
                "node": "Auto-fixing Output Parser",
                "type": "ai_languageModel",
                "index": 0
              }
            ]
          ]
        },
        "Set: Competitor Domain": {
          "main": [
            [
              {
                "node": "Agent: Scrape Backlinks (Bright Data MCP)",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Trigger: Manual Execute": {
          "main": [
            [
              {
                "node": "Set: Competitor Domain",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Structured Output Parser": {
          "ai_outputParser": [
            [
              {
                "node": "Auto-fixing Output Parser",
                "type": "ai_outputParser",
                "index": 0
              }
            ]
          ]
        },
        "Auto-fixing Output Parser": {
          "ai_outputParser": [
            [
              {
                "node": "Agent: Scrape Backlinks (Bright Data MCP)",
                "type": "ai_outputParser",
                "index": 0
              }
            ]
          ]
        },
        "Function: Split Backlinks": {
          "main": [
            [
              {
                "node": "Google Sheets: Append Backlinks",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Agent: Scrape Backlinks (Bright Data MCP)": {
          "main": [
            [
              {
                "node": "Function: Split Backlinks",
                "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": 32,
        "name": "Market Research"
      },
      {
        "id": 49,
        "name": "AI Summarization"
      }
    ],
    "image": []
  }
}