{
  "workflow": {
    "id": 5977,
    "name": "Scrape & summarize industry news with Bright Data & OpenAI",
    "views": 1385,
    "recentViews": 0,
    "totalViews": 1385,
    "createdAt": "2025-07-13T19:03:42.624Z",
    "description": "*This workflow contains community nodes that are only compatible with the self-hosted version of n8n.*\n\nThis workflow automatically scrapes and summarizes the latest industry news, delivering a curated digest to your team. Stay informed without sifting through countless articles.\n\n## Overview\n\nBright Data scrapes top news sites, blogs, and press release feeds relevant to your sector. OpenAI summarizes each article and tags it by topic. The daily digest is compiled into Markdown and sent via Slack and email, while full summaries are archived in Notion.\n\n## Tools Used\n\n- **n8n** – Automation framework\n- **Bright Data** – Scrapes news sources reliably\n- **OpenAI** – Generates concise summaries and tags\n- **Slack & Gmail** – Distributes daily digest\n- **Notion** – Stores detailed article notes\n\n## How to Install\n\n1. **Import the Workflow** into n8n.\n2. **Configure Bright Data** credentials.\n3. **Set Up OpenAI** API key.\n4. **Authorize Slack, Gmail, and Notion**.\n5. **Customize Source List & Keywords** in the Set node.\n\n## Use Cases\n\n- **Executive Briefings**: Keep leadership updated.\n- **Product Teams**: Track competitor announcements.\n- **Marketing**: Identify content trends quickly.\n- **Investors**: Monitor sector developments.\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 #industrynews #webscraping #brightdata #openai #newsdigest #n8nworkflow #nocode",
    "workflow": {
      "id": "dsv9xYDvOspXvmJu",
      "meta": {
        "instanceId": "c38e3b8a7e4240e6cdca062743f016c1029f385bf40345b6291939dfd83bfd77",
        "templateCredsSetupCompleted": true
      },
      "name": "34  Scrape Industry News",
      "tags": [],
      "nodes": [
        {
          "id": "0c4683d3-8831-40f9-833a-310b0b68a469",
          "name": "🚦 Start Workflow (Manual Trigger)",
          "type": "n8n-nodes-base.manualTrigger",
          "position": [
            -340,
            -120
          ],
          "parameters": {},
          "typeVersion": 1
        },
        {
          "id": "41e25dac-8502-4d86-96fe-48433b729ec5",
          "name": "🔗 Enter Reuters News URL",
          "type": "n8n-nodes-base.set",
          "position": [
            -120,
            -120
          ],
          "parameters": {
            "options": {},
            "assignments": {
              "assignments": [
                {
                  "id": "9e033994-1185-44a1-8ce4-d9afa36666bb",
                  "name": "reuterURL",
                  "type": "string",
                  "value": "https://www.reuters.com/world/middle-east/under-pressure-hezbollah-weighs-scaling-back-its-arsenal-2025-07-04/"
                }
              ]
            }
          },
          "typeVersion": 3.4
        },
        {
          "id": "cb9301d7-a1f3-4d27-9af2-999fcb695dd9",
          "name": "🤖 Agent: Scrape Reuters News",
          "type": "@n8n/n8n-nodes-langchain.agent",
          "position": [
            180,
            -120
          ],
          "parameters": {
            "text": "=Scrape the latest news articles from the following news site about Iran and Israel war: \n{{ $json.reuterURL }}\nPlease return the article titles, authors, dates, and article content.\nand also summarize the trends\n\n",
            "options": {},
            "promptType": "define",
            "hasOutputParser": true
          },
          "typeVersion": 2
        },
        {
          "id": "c6709881-f403-4032-b676-f80a9812c92d",
          "name": "OpenAI Chat Model",
          "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
          "position": [
            100,
            140
          ],
          "parameters": {
            "model": {
              "__rl": true,
              "mode": "list",
              "value": "gpt-4.1-mini"
            },
            "options": {}
          },
          "credentials": {
            "openAiApi": {
              "id": "credential-id",
              "name": "openAiApi Credential"
            }
          },
          "typeVersion": 1.2
        },
        {
          "id": "d9f31175-9200-4df1-9787-37f182ed90f1",
          "name": "🌐 MCP Client Tool ",
          "type": "n8n-nodes-mcp.mcpClientTool",
          "position": [
            260,
            140
          ],
          "parameters": {
            "toolName": "web_data_reuter_news",
            "operation": "executeTool",
            "toolParameters": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Tool_Parameters', ``, 'json') }}"
          },
          "credentials": {
            "mcpClientApi": {
              "id": "credential-id",
              "name": "mcpClientApi Credential"
            }
          },
          "typeVersion": 1
        },
        {
          "id": "1bdb202c-d193-4270-be11-46d0266cad1d",
          "name": "✉️ Send Insights to Trends Team (Gmail)",
          "type": "n8n-nodes-base.gmail",
          "position": [
            700,
            -120
          ],
          "webhookId": "f47db523-8a54-47f1-86fc-9266bca96f2e",
          "parameters": {
            "sendTo": "user@example.com",
            "message": "=<p>Hello Team,</p>\n\n<p>Here is the latest article scraped from Reuters regarding Hezbollah's strategic shift amid regional tensions:</p>\n\n<h3>Article Title: Under pressure, Hezbollah weighs scaling back its arsenal</h3>\n<p><strong>Authors:</strong> Laila Bassam, Maya Gebeily</p>\n<p><strong>Published Date:</strong> 2025-07-04</p>\n\n<p><strong>Content Summary:</strong></p>\n<ul>\n  <li>Hezbollah is conducting a major strategic review following its devastating war with Israel, considering scaling back its armed role without full disarmament.</li>\n  <li>The group faces multiple pressures including Israeli strikes, U.S. disarmament demands, financial strains, and diminished political influence.</li>\n  <li>Hezbollah may surrender some high-threat weapons like missiles and drones if Israel withdraws from southern Lebanon and ceases attacks, but plans to retain lighter arms and anti-tank missiles for future resistance.</li>\n  <li>Internal discussions cover leadership structure, political role, social work, and weapons, reflecting Hezbollah's struggle to balance military strength with political and financial realities.</li>\n  <li>The group remains a critical force for its supporters despite setbacks, and it is navigating funding challenges and the need to maintain influence in upcoming Lebanese elections.</li>\n</ul>\n\n<p><strong>Trend Summary:</strong></p>\n<ul>\n  <li>Hezbollah's shift from an overtly militant stance to a more political and social role indicates changing dynamics in Lebanon's regional security landscape.</li>\n  <li>The group's willingness to negotiate on parts of its arsenal signals potential easing of tensions but also highlights ongoing conflict risks with Israel and internal Lebanese rivals.</li>\n  <li>International pressures, especially from the U.S. and Israel, are intensifying, particularly targeting Hezbollah's finances and arms supply routes.</li>\n  <li>Hezbollah's future hinges on balancing its military capabilities with the need to maintain support amongst its core constituency amid Lebanon's fragile political environment.</li>\n  <li>The ongoing conflict's regional consequences are profound, with shifts in alliances and power balances influenced by the 2023 war and subsequent Israeli military actions.</li>\n</ul>\n\n\n<p>Best regards,<br>\nYour Automated Workflow</p>\n",
            "options": {
              "appendAttribution": false
            },
            "subject": "Industry News: Hezbollah's Strategic Shift Amid Regional Tensions "
          },
          "credentials": {
            "gmailOAuth2": {
              "id": "credential-id",
              "name": "gmailOAuth2 Credential"
            }
          },
          "typeVersion": 2.1
        },
        {
          "id": "a5ccf7f1-0933-44d0-9217-127f34decfd4",
          "name": "Sticky Note",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -400,
            -780
          ],
          "parameters": {
            "color": 5,
            "width": 440,
            "height": 860,
            "content": "## 1️⃣ **Section 1: Start & Input**\n\n### 🧩 Nodes:\n\n* **🚦 Start Workflow (Manual Trigger)**\n\n  * *Node:* When clicking ‘Execute workflow’\n  * **What it does:**\n    You manually trigger the workflow by clicking on the \"Execute workflow\" button. This step ensures that the process only runs when you want it to.\n\n* **🔗 Enter Reuters News URL**\n\n  * *Node:* Edit Fields (manual)\n  * **What it does:**\n    You input the URL of the Reuters article related to the **Israel-Iran conflict**. This URL points to an article discussing Hezbollah’s involvement and geopolitical consequences, which will be scraped and analyzed by the system.\n\n### 🌟 **Why This is Useful:**\n\n* **Simple Input**: You only need to paste the URL.\n* **Manual Control**: You decide when to trigger the process.\n"
          },
          "typeVersion": 1
        },
        {
          "id": "4ed7daeb-c330-4e37-91e7-0a1454ab6bbd",
          "name": "Sticky Note1",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            80,
            -1400
          ],
          "parameters": {
            "color": 3,
            "width": 480,
            "height": 1480,
            "content": "## 2️⃣ **Section 2: AI Agent Scrapes & Analyzes the News**\n\n### 🧩 Main Node:\n\n* **🤖 Agent: Scrape Reuters News**\n\n  * *Node:* AI Agent\n    **What it does:**\n    The **AI Agent** uses a combination of intelligent models and tools to scrape the provided article and extract structured data. It ensures you get the most important details about the Israel-Iran conflict, including Hezbollah’s role.\n\n### 🔧 Sub-Nodes within AI Agent:\n\n* **🧠 OpenAI Chat Model**\n\n  * *Node:* OpenAI Chat Model\n    **What it does:**\n    The **OpenAI Chat Model** processes your request and structures the analysis based on your specific needs. It prepares the instructions for scraping the article and makes sure the relevant information is captured (like **Hezbollah’s involvement** in the conflict).\n\n* **🌐 MCP Client Tool (web\\_data\\_reuter\\_news)**\n\n  * *Node:* MCP Client (executeTool)\n    **What it does:**\n    This tool uses **Bright Data’s MCP Client** to securely scrape the article. It fetches the content from Reuters, including the **article title**, **author**, **publication date**, and detailed **content summary**. This tool ensures that the scraping is efficient and reliable.\n\n* **📦 Format Article as Structured Output**\n\n  * *Node:* Structured Output Parser\n    **What it does:**\n    After scraping the article, this node formats the data into a structured JSON format. The output includes the following key details:\n\n    * **Article Title**\n    * **Author Name**\n    * **Publication Date**\n    * **Content Summary**\n    * **Hezbollah’s involvement in the conflict**\n\n### 🌟 **Why This is Useful:**\n\n* **No Manual Data Processing**: The system extracts and formats the key data automatically.\n* **Relevant Data**: It captures only the parts of the article relevant to Hezbollah’s role and impact on geopolitics.\n* **Structured Format**: The data is formatted for easy use and analysis.\n"
          },
          "typeVersion": 1
        },
        {
          "id": "14fa2f4a-ac1d-4816-9589-5b76010ec808",
          "name": "Sticky Note2",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            600,
            -720
          ],
          "parameters": {
            "color": 2,
            "width": 360,
            "height": 800,
            "content": "## 3️⃣ **Section 3: Share Insights with Trends Team**\n\n### 🧩 Node:\n\n* **✉️ Send Insights to Trends Team (Gmail)**\n\n  * *Node:* Gmail (send: message)\n    **What it does:**\n    The final formatted data (including article title, summary, and insights on Hezbollah's role) is automatically emailed to the **Trends Team**. This step ensures that the team receives actionable insights without having to manually gather data.\n\n### 🌟 **Why This is Useful:**\n\n* **Instant Communication**: The trends team gets the insights directly in their inbox, ready for analysis.\n* **No Effort Required**: Once the data is scraped and formatted, everything else happens automatically.\n\n"
          },
          "typeVersion": 1
        },
        {
          "id": "3b016ca9-2ee7-4b68-854c-338ba83afc9f",
          "name": "Sticky Note3",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -2080,
            -1540
          ],
          "parameters": {
            "color": 4,
            "width": 1300,
            "height": 3060,
            "content": "# 🚀 **Scrape Industry News**\n\nThis workflow automatically collects insights from **Reuters news** about the **Israel-Iran war** and its impact on geopolitics. Specifically, it tracks news regarding Hezbollah’s potential return to its arsenal, triggered by the conflict. The insights are then emailed to your **Trends Team** for analysis.\n\n---\n\n## 1️⃣ **Section 1: Start & Input**\n\n### 🧩 Nodes:\n\n* **🚦 Start Workflow (Manual Trigger)**\n\n  * *Node:* When clicking ‘Execute workflow’\n  * **What it does:**\n    You manually trigger the workflow by clicking on the \"Execute workflow\" button. This step ensures that the process only runs when you want it to.\n\n* **🔗 Enter Reuters News URL**\n\n  * *Node:* Edit Fields (manual)\n  * **What it does:**\n    You input the URL of the Reuters article related to the **Israel-Iran conflict**. This URL points to an article discussing Hezbollah’s involvement and geopolitical consequences, which will be scraped and analyzed by the system.\n\n### 🌟 **Why This is Useful:**\n\n* **Simple Input**: You only need to paste the URL.\n* **Manual Control**: You decide when to trigger the process.\n\n---\n\n## 2️⃣ **Section 2: AI Agent Scrapes & Analyzes the News**\n\n### 🧩 Main Node:\n\n* **🤖 Agent: Scrape Reuters News**\n\n  * *Node:* AI Agent\n    **What it does:**\n    The **AI Agent** uses a combination of intelligent models and tools to scrape the provided article and extract structured data. It ensures you get the most important details about the Israel-Iran conflict, including Hezbollah’s role.\n\n### 🔧 Sub-Nodes within AI Agent:\n\n* **🧠 OpenAI Chat Model**\n\n  * *Node:* OpenAI Chat Model\n    **What it does:**\n    The **OpenAI Chat Model** processes your request and structures the analysis based on your specific needs. It prepares the instructions for scraping the article and makes sure the relevant information is captured (like **Hezbollah’s involvement** in the conflict).\n\n* **🌐 MCP Client Tool (web\\_data\\_reuter\\_news)**\n\n  * *Node:* MCP Client (executeTool)\n    **What it does:**\n    This tool uses **Bright Data’s MCP Client** to securely scrape the article. It fetches the content from Reuters, including the **article title**, **author**, **publication date**, and detailed **content summary**. This tool ensures that the scraping is efficient and reliable.\n\n* **📦 Format Article as Structured Output**\n\n  * *Node:* Structured Output Parser\n    **What it does:**\n    After scraping the article, this node formats the data into a structured JSON format. The output includes the following key details:\n\n    * **Article Title**\n    * **Author Name**\n    * **Publication Date**\n    * **Content Summary**\n    * **Hezbollah’s involvement in the conflict**\n\n### 🌟 **Why This is Useful:**\n\n* **No Manual Data Processing**: The system extracts and formats the key data automatically.\n* **Relevant Data**: It captures only the parts of the article relevant to Hezbollah’s role and impact on geopolitics.\n* **Structured Format**: The data is formatted for easy use and analysis.\n\n---\n\n## 3️⃣ **Section 3: Share Insights with Trends Team**\n\n### 🧩 Node:\n\n* **✉️ Send Insights to Trends Team (Gmail)**\n\n  * *Node:* Gmail (send: message)\n    **What it does:**\n    The final formatted data (including article title, summary, and insights on Hezbollah's role) is automatically emailed to the **Trends Team**. This step ensures that the team receives actionable insights without having to manually gather data.\n\n### 🌟 **Why This is Useful:**\n\n* **Instant Communication**: The trends team gets the insights directly in their inbox, ready for analysis.\n* **No Effort Required**: Once the data is scraped and formatted, everything else happens automatically.\n\n---\n\n## 🌟 **Summary: Workflow Breakdown for Beginners**\n\n| Step                | What You Do                                                    | What Happens                                                                   |\n| ------------------- | -------------------------------------------------------------- | ------------------------------------------------------------------------------ |\n| 🚦 Start            | Click **Execute workflow** in n8n                              | The process begins, and the system is ready to scrape data.                    |\n| 🔗 Input URL        | Paste the URL of the Reuters article about the Israel-Iran War | The system fetches the article, focusing on **Hezbollah’s** role.              |\n| 🤖 AI Agent Scrapes | Wait for the system to process                                 | The agent scrapes the article, extracts, and formats relevant data.            |\n| ✉️ Email Insights   | (No action needed)                                             | An email with the article summary and key insights is sent to the Trends Team. |\n\n---\n\n## 📈 **Benefits of This Workflow**\n\n* **Automated Geopolitical Monitoring**:\n  Stay updated on how the **Israel-Iran war** impacts geopolitical shifts, especially regarding **Hezbollah’s actions**.\n\n* **Efficient Reporting**:\n  Insights are automatically formatted and sent to the Trends Team, allowing them to take quick action based on the latest data.\n\n* **Zero Manual Effort**:\n  No need for you to manually copy, paste, or format data. Everything happens automatically once you enter the URL.\n\n\n"
          },
          "typeVersion": 1
        },
        {
          "id": "0faff930-fd91-4882-b232-24d6ac04769c",
          "name": "Sticky Note5",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            1040,
            -720
          ],
          "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": "e8cf9646-dd81-49ad-8e33-bba27ee57cfc",
          "name": "Sticky Note9",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -2080,
            -1880
          ],
          "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": "be03bcd2-5cf3-47e1-a27c-deb5f6821d70",
          "name": "Auto-fixing Output Parser",
          "type": "@n8n/n8n-nodes-langchain.outputParserAutofixing",
          "position": [
            400,
            140
          ],
          "parameters": {
            "options": {}
          },
          "typeVersion": 1
        },
        {
          "id": "ee8d7d4c-b3f2-4c90-89fe-1d27054aa628",
          "name": "OpenAI Chat Model1",
          "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
          "position": [
            340,
            360
          ],
          "parameters": {
            "model": {
              "__rl": true,
              "mode": "list",
              "value": "gpt-4.1-mini"
            },
            "options": {}
          },
          "credentials": {
            "openAiApi": {
              "id": "credential-id",
              "name": "openAiApi Credential"
            }
          },
          "typeVersion": 1.2
        },
        {
          "id": "fda6fc11-8e42-4ce3-91e2-4d642673efaa",
          "name": "📦 Format Article as Structured Output",
          "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
          "position": [
            540,
            360
          ],
          "parameters": {
            "jsonSchemaExample": "{\n  \"platform\": \"Reuters\",\n  \"article\": {\n    \"title\": \"Under pressure, Hezbollah weighs scaling back its arsenal\",\n    \"authors\": [\"Laila Bassam\", \"Maya Gebeily\"],\n    \"date\": \"July 4, 2025\",\n    \"content_summary\": [\n      \"Hezbollah is conducting a major strategic review after its devastating war with Israel, considering scaling back its role as an armed movement without fully disarming.\",\n      \"This reflects pressures from ongoing Israeli strikes, financial strains, US demands for disarmament, and diminished political influence since Lebanon's new cabinet took office.\",\n      \"Hezbollah faces regional shifts: Syrian ally Bashar al-Assad toppled, severing arms supply routes; Iran recovering from its conflict with Israel, limiting aid.\",\n      \"Discussions within Hezbollah involve leadership structure, political role, social work, and weapons.\",\n      \"The group views its large arsenal as a liability but plans to keep lighter arms and anti-tank missiles to resist future attacks.\",\n      \"Hezbollah sacrificed some weapons depots in southern Lebanon per the truce but is reluctant to surrender its entire arsenal, especially missiles and drones.\",\n      \"The ceasefire brokered by the US and France demands Lebanon confiscate unauthorized arms, but Hezbollah wants to retain some weapons fearing attacks from Israel and Sunni jihadists in Syria.\",\n      \"Hezbollah faces financial strains impacting compensation and social services to constituents affected by the war.\",\n      \"Israel continues military actions targeting Hezbollah-linked infrastructure and finances.\",\n      \"Hezbollah aims to maintain political power in Lebanon amid tensions with rivals.\",\n      \"The group’s armed status is deemed part of its DNA and difficult to relinquish despite pressure.\"\n    ],\n    \"trend_summary\": [\n      \"Hezbollah's future strategy is pivoting to reduce overt militarization while retaining a defensive capability.\",\n      \"Financial constraints and geopolitical shifts are compelling Hezbollah to rethink its armed posture.\",\n      \"The regional balance is volatile with the Iran-Israel conflict impacting Hezbollah’s operational dynamics.\",\n      \"Domestic Lebanese politics and international pressure are pivotal factors in Hezbollah's decisions about its arsenal and political role.\",\n      \"The peace process remains fragile with ceasefire violations and unresolved tensions.\"\n    ]\n  }\n}\n"
          },
          "typeVersion": 1.3
        }
      ],
      "active": false,
      "pinData": {},
      "settings": {
        "executionOrder": "v1"
      },
      "versionId": "9be77b79-b2e3-487b-8625-ab23ae3d1fae",
      "connections": {
        "OpenAI Chat Model": {
          "ai_languageModel": [
            [
              {
                "node": "🤖 Agent: Scrape Reuters News",
                "type": "ai_languageModel",
                "index": 0
              }
            ]
          ]
        },
        "OpenAI Chat Model1": {
          "ai_languageModel": [
            [
              {
                "node": "Auto-fixing Output Parser",
                "type": "ai_languageModel",
                "index": 0
              }
            ]
          ]
        },
        "🌐 MCP Client Tool ": {
          "ai_tool": [
            [
              {
                "node": "🤖 Agent: Scrape Reuters News",
                "type": "ai_tool",
                "index": 0
              }
            ]
          ]
        },
        "Auto-fixing Output Parser": {
          "ai_outputParser": [
            [
              {
                "node": "🤖 Agent: Scrape Reuters News",
                "type": "ai_outputParser",
                "index": 0
              }
            ]
          ]
        },
        "🔗 Enter Reuters News URL": {
          "main": [
            [
              {
                "node": "🤖 Agent: Scrape Reuters News",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "🤖 Agent: Scrape Reuters News": {
          "main": [
            [
              {
                "node": "✉️ Send Insights to Trends Team (Gmail)",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "🚦 Start Workflow (Manual Trigger)": {
          "main": [
            [
              {
                "node": "🔗 Enter Reuters News URL",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "📦 Format Article as Structured Output": {
          "ai_outputParser": [
            [
              {
                "node": "Auto-fixing Output Parser",
                "type": "ai_outputParser",
                "index": 0
              }
            ]
          ]
        }
      }
    },
    "lastUpdatedBy": 62,
    "workflowInfo": {
      "nodeCount": 15,
      "nodeTypes": {
        "n8n-nodes-base.set": {
          "count": 1
        },
        "n8n-nodes-base.gmail": {
          "count": 1
        },
        "n8n-nodes-base.stickyNote": {
          "count": 6
        },
        "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": 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": 356,
        "icon": "file:gmail.svg",
        "name": "n8n-nodes-base.gmail",
        "codex": {
          "data": {
            "alias": [
              "email",
              "human",
              "form",
              "wait",
              "hitl",
              "approval"
            ],
            "resources": {
              "generic": [
                {
                  "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/supercharging-your-conference-registration-process-with-n8n/",
                  "icon": "🎫",
                  "label": "Supercharging your conference registration process with 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-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/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/using-automation-to-boost-productivity-in-the-workplace/",
                  "icon": "💪",
                  "label": "Using Automation to Boost Productivity in the Workplace"
                }
              ],
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.gmail/"
                }
              ],
              "credentialDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"
                }
              ]
            },
            "categories": [
              "Communication",
              "HITL"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0",
            "subcategories": {
              "HITL": [
                "Human in the Loop"
              ]
            }
          }
        },
        "group": "[\"transform\"]",
        "defaults": {
          "name": "Gmail"
        },
        "iconData": {
          "type": "file",
          "fileBuffer": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTYiIGhlaWdodD0iMTkzIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+PHBhdGggZmlsbD0iIzQyODVGNCIgZD0iTTU4LjE4MiAxOTIuMDVWOTMuMTRMMjcuNTA3IDY1LjA3NyAwIDQ5LjUwNHYxMjUuMDkxYzAgOS42NTggNy44MjUgMTcuNDU1IDE3LjQ1NSAxNy40NTV6Ii8+PHBhdGggZmlsbD0iIzM0QTg1MyIgZD0iTTE5Ny44MTggMTkyLjA1aDQwLjcyN2M5LjY1OSAwIDE3LjQ1NS03LjgyNiAxNy40NTUtMTcuNDU1VjQ5LjUwNWwtMzEuMTU2IDE3LjgzNy0yNy4wMjYgMjUuNzk4eiIvPjxwYXRoIGZpbGw9IiNFQTQzMzUiIGQ9Im01OC4xODIgOTMuMTQtNC4xNzQtMzguNjQ3IDQuMTc0LTM2Ljk4OUwxMjggNjkuODY4bDY5LjgxOC01Mi4zNjQgNC42NyAzNC45OTItNC42NyA0MC42NDRMMTI4IDE0NS41MDR6Ii8+PHBhdGggZmlsbD0iI0ZCQkMwNCIgZD0iTTE5Ny44MTggMTcuNTA0VjkzLjE0TDI1NiA0OS41MDRWMjYuMjMxYzAtMjEuNTg1LTI0LjY0LTMzLjg5LTQxLjg5LTIwLjk0NXoiLz48cGF0aCBmaWxsPSIjQzUyMjFGIiBkPSJtMCA0OS41MDQgMjYuNzU5IDIwLjA3TDU4LjE4MiA5My4xNFYxNy41MDRMNDEuODkgNS4yODZDMjQuNjEtNy42NiAwIDQuNjQ2IDAgMjYuMjN6Ii8+PC9zdmc+"
        },
        "displayName": "Gmail",
        "typeVersion": 2,
        "nodeCategories": [
          {
            "id": 6,
            "name": "Communication"
          },
          {
            "id": 28,
            "name": "HITL"
          }
        ]
      },
      {
        "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": 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": []
  }
}