{
  "workflow": {
    "id": 5949,
    "name": "Monitor LinkedIn competitor engagement & analysis with Bright Data & AI",
    "views": 783,
    "recentViews": 0,
    "totalViews": 783,
    "createdAt": "2025-07-13T18:59:58.371Z",
    "description": "This workflow automatically monitors competitor social media engagement on LinkedIn to track their content performance and posting strategies. It saves you time by eliminating the need to manually check competitor social media accounts and provides detailed analytics on their engagement metrics.\n\n## Overview\n\nThis workflow automatically scrapes LinkedIn company profiles to extract the latest 5 posts and analyzes their engagement metrics including likes, comments, and content performance. It uses Bright Data to access LinkedIn without being blocked and AI to intelligently parse post data, calculating average engagement rates and storing detailed post information.\n\n## Tools Used\n\n- **n8n**: The automation platform that orchestrates the workflow\n- **Bright Data**: For scraping LinkedIn company profiles without being blocked\n- **OpenAI**: AI agent for intelligent post data extraction and analysis\n- **Google Sheets**: For storing engagement metrics and detailed post information\n\n## How to Install\n\n1. **Import the Workflow**: Download the .json file and import it into your n8n instance\n2. **Configure Bright Data**: Add your Bright Data credentials to the MCP Client node\n3. **Set Up OpenAI**: Configure your OpenAI API credentials\n4. **Configure Google Sheets**: Connect your Google Sheets account and set up your competitor tracking spreadsheets\n5. **Customize**: Enter target LinkedIn company URLs and adjust engagement tracking parameters\n\n## Use Cases\n\n- **Social Media Marketing**: Analyze competitor content strategies and engagement patterns\n- **Competitive Intelligence**: Track competitor posting frequency and content performance\n- **Content Strategy**: Identify high-performing content types and messaging approaches\n- **Brand Monitoring**: Monitor competitor social media presence and audience engagement\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 #socialmedia #competitoranalysis #linkedin #brightdata #webscraping #socialmonitoring #engagementtracking #n8nworkflow #workflow #nocode #socialautomation #competitormonitoring #contentanalysis #socialmediamonitoring #linkedinanalytics #engagementmetrics #competitorresearch #socialintelligence #contentperformance #socialmediaanalytics #brandmonitoring #competitortracking #socialmediastrategy #contentmarketing #socialmediadata #engagementanalysis #competitiveanalysis #linkedinscraping",
    "workflow": {
      "id": "mrecjHsKCTsQ6QYC",
      "meta": {
        "instanceId": "60046904b104f0f72b2629a9d88fe9f676be4035769f1f08dad1dd38a76b9480",
        "templateCredsSetupCompleted": true
      },
      "name": "6 Monitor Competitor Social Media Engagement:",
      "tags": [],
      "nodes": [
        {
          "id": "5eed5537-b38c-4a15-965b-6aa0433c6409",
          "name": "🔘 Trigger: Manual Start",
          "type": "n8n-nodes-base.manualTrigger",
          "position": [
            180,
            0
          ],
          "parameters": {},
          "typeVersion": 1
        },
        {
          "id": "c45a95e6-3a8f-4198-9b29-ee9a36059ac4",
          "name": "🔗 Set LinkedIn Company URL",
          "type": "n8n-nodes-base.set",
          "position": [
            400,
            0
          ],
          "parameters": {
            "options": {},
            "assignments": {
              "assignments": [
                {
                  "id": "01b30c4d-3a89-418a-b939-ac1e886002a4",
                  "name": "URL",
                  "type": "string",
                  "value": "https://www.linkedin.com/company/hubspot/"
                }
              ]
            }
          },
          "typeVersion": 3.4
        },
        {
          "id": "c7b82e78-1ef2-4c5f-aff2-a03e3a7ea4b6",
          "name": "🤖 Agent: Fetch LinkedIn Posts (via MCP Tool)",
          "type": "@n8n/n8n-nodes-langchain.agent",
          "position": [
            660,
            0
          ],
          "parameters": {
            "text": "=Scrape the below user profile on LinkedIn and get the latest 5 post data:\n{{ $json.URL }}",
            "options": {},
            "promptType": "define",
            "hasOutputParser": true
          },
          "typeVersion": 2
        },
        {
          "id": "4a43225a-b400-47cf-b252-36516d382ff1",
          "name": "🌐 Bright Data MCP Client",
          "type": "n8n-nodes-mcp.mcpClientTool",
          "position": [
            820,
            300
          ],
          "parameters": {
            "toolName": "web_data_linkedin_company_profile",
            "operation": "executeTool",
            "toolParameters": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Tool_Parameters', ``, 'json') }}"
          },
          "credentials": {
            "mcpClientApi": {
              "id": "credential-id",
              "name": "mcpClientApi Credential"
            }
          },
          "typeVersion": 1
        },
        {
          "id": "21324291-7117-44d4-aaff-601d80b93580",
          "name": "📈 Analyze Engagement Metrics",
          "type": "n8n-nodes-base.code",
          "position": [
            1160,
            0
          ],
          "parameters": {
            "jsCode": "// Get the posts array from Agent output\nconst posts = $json.output;\n\n// Initialize counters\nlet totalLikes = 0;\nlet totalComments = 0;\n\n// Loop through posts and sum likes and comments\nfor (const post of posts) {\n  totalLikes += post.likes;\n  totalComments += post.comments;\n}\n\n// Calculate averages\nconst averageLikes = totalLikes / posts.length;\nconst averageComments = totalComments / posts.length;\n\n// Return summary object\nreturn [\n  {\n    json: {\n      totalPosts: posts.length,\n      totalLikes: totalLikes,\n      totalComments: totalComments,\n      averageLikes: averageLikes,\n      averageComments: averageComments\n    }\n  }\n];\n"
          },
          "typeVersion": 2
        },
        {
          "id": "469f5efc-276c-449b-ab50-4cd3454946f6",
          "name": "📥 Save Averages to Google Sheets",
          "type": "n8n-nodes-base.googleSheets",
          "position": [
            1380,
            0
          ],
          "parameters": {
            "columns": {
              "value": {
                "Total likes": "={{ $json.totalLikes }}",
                "Total posts": "={{ $json.totalPosts }}",
                "Average likes": "={{ $json.averageLikes }}",
                "Total comments": "={{ $json.totalComments }}",
                "Average comments": "={{ $json.averageComments }}"
              },
              "schema": [
                {
                  "id": "Total posts",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "Total posts",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "Total likes",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "Total likes",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "Total comments",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "Total comments",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "Average likes",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "Average likes",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "Average comments",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "Average comments",
                  "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/1FzzslRBkdEgz14zuyy1J5IAMAHgkmdmiYiEqYG9AnOI/edit#gid=0",
              "cachedResultName": "Sheet1"
            },
            "documentId": {
              "__rl": true,
              "mode": "list",
              "value": "1FzzslRBkdEgz14zuyy1J5IAMAHgkmdmiYiEqYG9AnOI",
              "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1FzzslRBkdEgz14zuyy1J5IAMAHgkmdmiYiEqYG9AnOI/edit?usp=drivesdk",
              "cachedResultName": "Competitor post analysis average"
            }
          },
          "credentials": {
            "googleSheetsOAuth2Api": {
              "id": "credential-id",
              "name": "googleSheetsOAuth2Api Credential"
            }
          },
          "typeVersion": 4.6
        },
        {
          "id": "8f554af6-1d6d-4225-9ffb-5814e4ca2773",
          "name": "🧾 Format Post Content",
          "type": "n8n-nodes-base.code",
          "position": [
            1640,
            0
          ],
          "parameters": {
            "jsCode": "// Get the Agent output (array of posts)\nconst posts = $('🤖 Agent: Fetch LinkedIn Posts (via MCP Tool)').first().json.output;\n\n// Map each post to its own item\nreturn posts.map(post => {\n  return {\n    json: post\n  };\n});\n"
          },
          "typeVersion": 2
        },
        {
          "id": "8274a619-f1d2-4e14-9753-665f060611c1",
          "name": "📥 Save Posts to Google Sheets",
          "type": "n8n-nodes-base.googleSheets",
          "position": [
            1860,
            0
          ],
          "parameters": {
            "columns": {
              "value": {
                "date": "={{ $json.date }}",
                "likes": "={{ $json.likes }}",
                "video": "={{ $json.videos }}",
                "content": "={{ $json.content }}",
                "comments": "={{ $json.comments }}",
                "post link": "={{ $json.post_link }}",
                "Competitor": "={{ $json.competitor }}",
                "Post title": "={{ $json.post_title }}"
              },
              "schema": [
                {
                  "id": "Competitor",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "Competitor",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "Post title",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "Post title",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "date",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "date",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "likes",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "likes",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "comments",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "comments",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "content",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "content",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "post link",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "post link",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "video",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "video",
                  "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/1R-rAkvVh1lhbPrFsxuBUXNMFFFgsyIWzS4OritRiHLU/edit#gid=0",
              "cachedResultName": "Sheet1"
            },
            "documentId": {
              "__rl": true,
              "mode": "list",
              "value": "1R-rAkvVh1lhbPrFsxuBUXNMFFFgsyIWzS4OritRiHLU",
              "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1R-rAkvVh1lhbPrFsxuBUXNMFFFgsyIWzS4OritRiHLU/edit?usp=drivesdk",
              "cachedResultName": "Competitor post analysis"
            }
          },
          "credentials": {
            "googleSheetsOAuth2Api": {
              "id": "credential-id",
              "name": "googleSheetsOAuth2Api Credential"
            }
          },
          "typeVersion": 4.6
        },
        {
          "id": "da8ebb55-18c8-4f17-882d-6ddee3f17533",
          "name": "Sticky Note",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            140,
            -720
          ],
          "parameters": {
            "color": 3,
            "width": 420,
            "height": 900,
            "content": "### 🔹 **SECTION 1: Start & Input**\n\n#### 🧩 Nodes:\n\n* `🔘 Trigger: Manual Start`\n* `🔗 Set LinkedIn Company URL`\n\n#### 💡 What Happens:\n\nThis section is your starting point. You **manually execute** the workflow by clicking the **play button**, and then you **enter the LinkedIn company profile URL** in a form field.\n\n#### ✅ Beginner Tip:\n\nYou don’t need coding skills. Just copy the company’s LinkedIn URL (e.g., `https://www.linkedin.com/company/openai`) and paste it here. This kicks off the whole automation!\n\n---\n\n"
          },
          "typeVersion": 1
        },
        {
          "id": "df570435-b29c-444f-99a0-f3d8bf951673",
          "name": "OpenAI Chat Model",
          "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
          "position": [
            600,
            300
          ],
          "parameters": {
            "model": {
              "__rl": true,
              "mode": "list",
              "value": "gpt-4o-mini"
            },
            "options": {}
          },
          "credentials": {
            "openAiApi": {
              "id": "credential-id",
              "name": "openAiApi Credential"
            }
          },
          "typeVersion": 1.2
        },
        {
          "id": "54b4118c-47d6-4aa4-9f73-d3d2389a7107",
          "name": "Sticky Note1",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            600,
            -860
          ],
          "parameters": {
            "color": 5,
            "width": 420,
            "height": 1040,
            "content": "### 🤖 **SECTION 2: Smart Scraper Agent**\n\n#### 🧩 Node:\n\n* `🤖 Agent: Fetch LinkedIn Posts (via MCP Tool)`\n\n##### 🧠 Sub-Nodes Inside the Agent:\n\n* `🧠 Chat Model`: Understands your scraping request in natural language.\n* `🌐 Bright Data MCP Client`: Actually visits LinkedIn via mobile proxies and scrapes the data.\n* `🧾 Parse AI Response`: Converts raw results into structured post data.\n\n#### 💡 What Happens:\n\nThis smart AI agent (powered by OpenAI + Bright Data) goes to the LinkedIn company page, **scrapes the latest 5 posts**, and organizes them. Bright Data MCP lets it **bypass anti-bot systems** by using mobile IPs, so it's reliable even on protected sites like LinkedIn.\n\n#### ✅ Beginner Tip:\n\nYou don’t write any scraping code! The AI understands what to do and fetches posts like a human browser would. This is **completely no-code** for you.\n\n---\n\n"
          },
          "typeVersion": 1
        },
        {
          "id": "4fe62240-87e5-45ae-991e-a0ca07500c93",
          "name": "Sticky Note2",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            1100,
            -680
          ],
          "parameters": {
            "color": 6,
            "width": 420,
            "height": 860,
            "content": "### 📊 **SECTION 3: Analyze & Save Metrics**\n\n#### 🧩 Nodes:\n\n* `📈 Analyze Engagement Metrics`\n* `📥 Save Averages to Google Sheets`\n\n#### 💡 What Happens:\n\nHere, the automation **calculates the average** values (like likes, comments, etc.) from the 5 scraped posts using simple JavaScript logic.\n\nThen, it **saves these average values into your first Google Sheet** so you can track performance over time.\n\n#### ✅ Beginner Tip:\n\nThis helps you **measure content engagement** across different companies. You can reuse this for competitive research, content benchmarking, or client reporting.\n\n---\n\n"
          },
          "typeVersion": 1
        },
        {
          "id": "a2897619-9086-4a99-8fa6-551fffc8893f",
          "name": "Sticky Note3",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            1580,
            -640
          ],
          "parameters": {
            "color": 2,
            "width": 420,
            "height": 820,
            "content": "### 📄 **SECTION 4: Format & Store Full Posts**\n\n#### 🧩 Nodes:\n\n* `🧾 Format Post Content`\n* `📥 Save Posts to Google Sheets`\n\n#### 💡 What Happens:\n\nNow that averages are stored, this section **formats the full content of the 5 posts** (text, date, likes, etc.) for better readability and structure.\n\nThen, it **stores each individual post into a second Google Sheet** for deeper post-level insights.\n\n#### ✅ Beginner Tip:\n\nThis gives you a historical view of what each company is posting—great for content strategy or trend analysis.\n\n---\n\n"
          },
          "typeVersion": 1
        },
        {
          "id": "55dbafa4-8ad9-4a4d-b5bb-2b42facb55e4",
          "name": "Sticky Note9",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -1660,
            -700
          ],
          "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": "d222b12b-dfed-4240-9580-027370214ae0",
          "name": "Sticky Note4",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -1660,
            -360
          ],
          "parameters": {
            "color": 4,
            "width": 1289,
            "height": 2578,
            "content": "## 🚀 **LinkedIn Company Post Analyzer Workflow**\n\nThis automation lets you input a LinkedIn company URL, scrape its **latest 5 posts** using **Bright Data MCP**, calculate **engagement averages**, and store everything neatly in **Google Sheets**. Whether you're a digital marketer, analyst, or business owner—this saves time and effort!\n\n---\n\n### 🔹 **SECTION 1: Start & Input**\n\n#### 🧩 Nodes:\n\n* `🔘 Trigger: Manual Start`\n* `🔗 Set LinkedIn Company URL`\n\n#### 💡 What Happens:\n\nThis section is your starting point. You **manually execute** the workflow by clicking the **play button**, and then you **enter the LinkedIn company profile URL** in a form field.\n\n#### ✅ Beginner Tip:\n\nYou don’t need coding skills. Just copy the company’s LinkedIn URL (e.g., `https://www.linkedin.com/company/openai`) and paste it here. This kicks off the whole automation!\n\n---\n\n### 🤖 **SECTION 2: Smart Scraper Agent**\n\n#### 🧩 Node:\n\n* `🤖 Agent: Fetch LinkedIn Posts (via MCP Tool)`\n\n##### 🧠 Sub-Nodes Inside the Agent:\n\n* `🧠 Chat Model`: Understands your scraping request in natural language.\n* `🌐 Bright Data MCP Client`: Actually visits LinkedIn via mobile proxies and scrapes the data.\n* `🧾 Parse AI Response`: Converts raw results into structured post data.\n\n#### 💡 What Happens:\n\nThis smart AI agent (powered by OpenAI + Bright Data) goes to the LinkedIn company page, **scrapes the latest 5 posts**, and organizes them. Bright Data MCP lets it **bypass anti-bot systems** by using mobile IPs, so it's reliable even on protected sites like LinkedIn.\n\n#### ✅ Beginner Tip:\n\nYou don’t write any scraping code! The AI understands what to do and fetches posts like a human browser would. This is **completely no-code** for you.\n\n---\n\n### 📊 **SECTION 3: Analyze & Save Metrics**\n\n#### 🧩 Nodes:\n\n* `📈 Analyze Engagement Metrics`\n* `📥 Save Averages to Google Sheets`\n\n#### 💡 What Happens:\n\nHere, the automation **calculates the average** values (like likes, comments, etc.) from the 5 scraped posts using simple JavaScript logic.\n\nThen, it **saves these average values into your first Google Sheet** so you can track performance over time.\n\n#### ✅ Beginner Tip:\n\nThis helps you **measure content engagement** across different companies. You can reuse this for competitive research, content benchmarking, or client reporting.\n\n---\n\n### 📄 **SECTION 4: Format & Store Full Posts**\n\n#### 🧩 Nodes:\n\n* `🧾 Format Post Content`\n* `📥 Save Posts to Google Sheets`\n\n#### 💡 What Happens:\n\nNow that averages are stored, this section **formats the full content of the 5 posts** (text, date, likes, etc.) for better readability and structure.\n\nThen, it **stores each individual post into a second Google Sheet** for deeper post-level insights.\n\n#### ✅ Beginner Tip:\n\nThis gives you a historical view of what each company is posting—great for content strategy or trend analysis.\n\n---\n\n## ✅ Summary: How You Can Use This\n\n| Use Case                     | How It Helps You                                      |\n| ---------------------------- | ----------------------------------------------------- |\n| 🔍 Competitive Monitoring    | See what your rivals are posting and how it performs. |\n| 📈 Marketing Analytics       | Track brand performance via LinkedIn posts.           |\n| 📊 Client Reports            | Automate monthly reports on LinkedIn presence.        |\n| 💡 Content Strategy Planning | Analyze what kind of posts get the most engagement.   |\n\n---\n\n"
          },
          "typeVersion": 1
        },
        {
          "id": "e99f86d4-73cc-4bcb-a8d7-24f640abf7d6",
          "name": "Sticky Note5",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            2080,
            -640
          ],
          "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": "3991b4a5-b3d8-4869-b620-b0eff43e56b1",
          "name": "Auto-fixing Output Parser",
          "type": "@n8n/n8n-nodes-langchain.outputParserAutofixing",
          "position": [
            980,
            300
          ],
          "parameters": {
            "options": {}
          },
          "typeVersion": 1
        },
        {
          "id": "c9cfdde4-39e7-42de-a66c-94a1264d7b33",
          "name": "OpenAI Chat Model1",
          "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
          "position": [
            940,
            560
          ],
          "parameters": {
            "model": {
              "__rl": true,
              "mode": "list",
              "value": "gpt-4o-mini"
            },
            "options": {}
          },
          "credentials": {
            "openAiApi": {
              "id": "credential-id",
              "name": "openAiApi Credential"
            }
          },
          "typeVersion": 1.2
        },
        {
          "id": "2e74bb7f-634f-4840-919d-e825feb66b11",
          "name": "Structured Output Parser",
          "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
          "position": [
            1120,
            560
          ],
          "parameters": {
            "jsonSchemaExample": "[\n  {\n    \"competitor\": \"HubSpot\",\n    \"post_title\": \"HubSpot\",\n    \"date\": \"3 weeks ago\",\n    \"likes\": 54,\n    \"comments\": 3,\n    \"content\": \"🚨 Nicht weiter scrollen! 🚨 Wir sind das ✨erste✨ CRM mit einem Deep-Research-Connector für ChatGPT Deine HubSpot-Daten + das Hirn von ChatGPT = 🤯 🔗 Hol dir jetzt den Early Access\",\n    \"post_link\": \"https://de.linkedin.com/posts/hubspot_hubspot-und-chatgptpdf-activity-7336304617892306944-Ob8h\",\n    \"videos\": []\n  },\n  {\n    \"competitor\": \"HubSpot\",\n    \"post_title\": \"HubSpot\",\n    \"date\": \"1 day ago\",\n    \"likes\": 79,\n    \"comments\": 10,\n    \"content\": \"when you need a social content framework that's effective AND memorable\",\n    \"post_link\": null,\n    \"videos\": [\n      \"https://dms.licdn.com/playlist/vid/v2/D4D10AQEmIrq4MYknpQ/mp4-640p-30fp-crf28/B4DZetK.GFGkA4-/0/1750957032138?e=2147483647&v=beta&t=PtE4WAUXBXb2VkZChI7m-R4BGONJY0vY0IGCHyX4lXQ\"\n    ]\n  },\n  {\n    \"competitor\": \"HubSpot\",\n    \"post_title\": \"HubSpot\",\n    \"date\": \"4 days ago\",\n    \"likes\": 116,\n    \"comments\": 12,\n    \"content\": \"plot twist: the co-worker who complained about being cold all winter is now the office hero for knowing where the thermostat is\",\n    \"post_link\": \"https://www.linkedin.com/posts/hubspot_plot-twist-the-co-worker-who-complained-activity-7343+1234567890-OIh3\",\n    \"videos\": []\n  },\n  {\n    \"competitor\": \"HubSpot\",\n    \"post_title\": \"HubSpot\",\n    \"date\": \"1 week ago\",\n    \"likes\": 112,\n    \"comments\": 4,\n    \"content\": \"meet my new work bestie: Breeze Customer Agent\",\n    \"post_link\": null,\n    \"videos\": [\n      \"https://dms.licdn.com/playlist/vid/v2/D4D10AQGcS77ueYgGeQ/mp4-720p-30fp-crf28/B4DZeITpeIGgBM-/0/1750338545668?e=2147483647&v=beta&t=NrehXjQVj_uk7nHVFrvs18p4-tLUleLObMGKrmsCoqY\"\n    ]\n  },\n  {\n    \"competitor\": \"HubSpot\",\n    \"post_title\": \"HubSpot\",\n    \"date\": \"1 week ago\",\n    \"likes\": 104,\n    \"comments\": 11,\n    \"content\": \"must have been the wind\",\n    \"post_link\": null,\n    \"videos\": [\n      \"https://dms.licdn.com/playlist/vid/v2/D4D05AQG6kJ8EqkBmAw/mp4-640p-30fp-crf28/B4DZeEjsVIGUBg-/0/1750275644735?e=2147483647&v=beta&t=7Pfujdbu6rXW34zKPoDHXrnHG93T900bKVQBFBllbLA\"\n    ]\n  }\n]\n"
          },
          "typeVersion": 1.2
        }
      ],
      "active": false,
      "pinData": {},
      "settings": {
        "executionOrder": "v1"
      },
      "versionId": "a97cbb59-0a34-41a1-9649-3ef22f0f3b7d",
      "connections": {
        "OpenAI Chat Model": {
          "ai_languageModel": [
            [
              {
                "node": "🤖 Agent: Fetch LinkedIn Posts (via MCP Tool)",
                "type": "ai_languageModel",
                "index": 0
              }
            ]
          ]
        },
        "OpenAI Chat Model1": {
          "ai_languageModel": [
            [
              {
                "node": "Auto-fixing Output Parser",
                "type": "ai_languageModel",
                "index": 0
              }
            ]
          ]
        },
        "Structured Output Parser": {
          "ai_outputParser": [
            [
              {
                "node": "Auto-fixing Output Parser",
                "type": "ai_outputParser",
                "index": 0
              }
            ]
          ]
        },
        "🧾 Format Post Content": {
          "main": [
            [
              {
                "node": "📥 Save Posts to Google Sheets",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Auto-fixing Output Parser": {
          "ai_outputParser": [
            [
              {
                "node": "🤖 Agent: Fetch LinkedIn Posts (via MCP Tool)",
                "type": "ai_outputParser",
                "index": 0
              }
            ]
          ]
        },
        "🔘 Trigger: Manual Start": {
          "main": [
            [
              {
                "node": "🔗 Set LinkedIn Company URL",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "🌐 Bright Data MCP Client": {
          "ai_tool": [
            [
              {
                "node": "🤖 Agent: Fetch LinkedIn Posts (via MCP Tool)",
                "type": "ai_tool",
                "index": 0
              }
            ]
          ]
        },
        "🔗 Set LinkedIn Company URL": {
          "main": [
            [
              {
                "node": "🤖 Agent: Fetch LinkedIn Posts (via MCP Tool)",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "📈 Analyze Engagement Metrics": {
          "main": [
            [
              {
                "node": "📥 Save Averages to Google Sheets",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "📥 Save Averages to Google Sheets": {
          "main": [
            [
              {
                "node": "🧾 Format Post Content",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "🤖 Agent: Fetch LinkedIn Posts (via MCP Tool)": {
          "main": [
            [
              {
                "node": "📈 Analyze Engagement Metrics",
                "type": "main",
                "index": 0
              }
            ]
          ]
        }
      }
    },
    "lastUpdatedBy": 29,
    "workflowInfo": {
      "nodeCount": 19,
      "nodeTypes": {
        "n8n-nodes-base.set": {
          "count": 1
        },
        "n8n-nodes-base.code": {
          "count": 2
        },
        "n8n-nodes-base.stickyNote": {
          "count": 7
        },
        "n8n-nodes-base.googleSheets": {
          "count": 2
        },
        "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": []
  }
}