{
  "id": "1pfNtfDuGq3yud8G",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "Chat with XML File",
  "tags": [],
  "nodes": [
    {
      "id": "4f235bd2-f128-4875-958a-2cddc66c05c8",
      "name": "Execute Workflow Trigger",
      "type": "n8n-nodes-base.executeWorkflowTrigger",
      "position": [
        -200,
        240
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "28d8e809-12d7-4381-9e0b-7c4ac95f0739",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        40,
        0
      ],
      "parameters": {
        "model": "gpt-3.5-turbo-0125",
        "options": {
          "temperature": 0
        }
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "dba1ce53-98d8-4337-a7cf-47b13a7afc08",
      "name": "Chat Trigger",
      "type": "@n8n/n8n-nodes-langchain.chatTrigger",
      "position": [
        -200,
        -120
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "cb21eb41-af05-447b-89eb-627c7f5f0e4e",
      "name": "AI Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        20,
        -220
      ],
      "parameters": {
        "agent": "reActAgent",
        "options": {
          "suffix": "Here is an XML file. Please parse it and answer questions based on its structure and content. I might ask you to extract specific nodes, attributes, or explain its hierarchy. First, read and understand the XML. Then wait for my questions."
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "aa4a86eb-c634-4a03-a127-0c2c47932ba9",
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        240,
        240
      ],
      "parameters": {
        "url": "={{ $json.xml_url }}",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "14deaea3-f968-48fa-8979-2d65f8251ce7",
      "name": "XML",
      "type": "n8n-nodes-base.xml",
      "position": [
        460,
        240
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 1
    },
    {
      "id": "99775ddb-ddbb-426c-a008-442201212c66",
      "name": "Get XML",
      "type": "@n8n/n8n-nodes-langchain.toolWorkflow",
      "position": [
        160,
        0
      ],
      "parameters": {
        "workflowId": {
          "__rl": true,
          "mode": "id",
          "value": "1pfNtfDuGq3yud8G"
        },
        "description": "Get XML",
        "workflowInputs": {
          "value": {},
          "schema": [],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "f4535013-2fe7-4ccc-b01d-0fe1fc161251",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -920,
        -160
      ],
      "parameters": {
        "width": 620,
        "height": 520,
        "content": "## Chat with XML\n- Triggered via webhook or manual execution.\n- Sets and fetches an external XML feed URL.\n- Parses the XML into a readable format.\n- Connects OpenAI GPT via LangChain for intelligent chat.\n- AI agent answers questions like extracting nodes, attributes, or structure from the XML.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "14e9e36d-b6ec-43a1-8094-308e925f6b87",
      "name": "Prepare output",
      "type": "n8n-nodes-base.code",
      "position": [
        680,
        240
      ],
      "parameters": {
        "jsCode": "return {\n 'response': $input.all()\n}"
      },
      "typeVersion": 2
    },
    {
      "id": "e93ae034-9c9b-4dac-b694-a37ec55cfbef",
      "name": "Set XML URL",
      "type": "n8n-nodes-base.set",
      "position": [
        20,
        240
      ],
      "parameters": {
        "fields": {
          "values": [
            {
              "name": "xml_url",
              "stringValue": "https://www.w3schools.com/xml/note.xml"
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 3.2
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "7c401d7f-c51d-40c5-982d-0751a92fd048",
  "connections": {
    "XML": {
      "main": [
        [
          {
            "node": "Prepare output",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get XML": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Set XML URL": {
      "main": [
        [
          {
            "node": "HTTP Request",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Chat Trigger": {
      "main": [
        [
          {
            "node": "AI Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP Request": {
      "main": [
        [
          {
            "node": "XML",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Execute Workflow Trigger": {
      "main": [
        [
          {
            "node": "Set XML URL",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}