AutomationFlowsAI & RAG › Orchestrate Multi-agent Energy Optimization with Openai Gpt and Claude

Orchestrate Multi-agent Energy Optimization with Openai Gpt and Claude

ByCheng Siong Chin @cschin on n8n.io

This workflow runs manually to orchestrate multi-agent analysis for a thermodynamic system, using OpenAI and Anthropic models to interpret sensor inputs, optimize energy usage, plan and execute tasks, validate results, and send an HTTP alert if validation fails. Starts when you…

Event trigger★★★★★ complexityAI-powered33 nodesAgentOpenAI ChatOutput Parser StructuredTool CalculatorTool CodeAnthropic ChatHTTP Request
AI & RAG Trigger: Event Nodes: 33 Complexity: ★★★★★ AI nodes: yes Added:

This workflow corresponds to n8n.io template #16343 — we link there as the canonical source.

This workflow follows the Agent → HTTP Request recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "id": "uTwaDov2nwyztAs2",
  "name": "Multi-agent energy optimization and adaptive decision orchestration",
  "tags": [],
  "nodes": [
    {
      "id": "fde3e85f-e458-445b-bdea-3303c5a06eb4",
      "name": "Initialize System",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        240,
        288
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "164e3d05-f8c4-463a-8381-d0e49c12b978",
      "name": "Perception Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        464,
        288
      ],
      "parameters": {
        "text": "=Analyze sensor data from the physical environment. Current state: {{ $json.systemState }}. Temperature: {{ $json.temperature }}K. Process sensor inputs and detect anomalies.",
        "options": {
          "systemMessage": "You are a Perception Agent in a thermodynamically-constrained autonomous system. Your role is to process raw sensor data, identify environmental patterns, and detect anomalies. Always output structured sensor readings with confidence scores."
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 3.1
    },
    {
      "id": "cdf25d86-0553-4160-8df6-e9ece142f287",
      "name": "GPT Model - Perception",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        480,
        512
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-5-mini"
        },
        "options": {
          "temperature": 0.3
        },
        "builtInTools": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "1b85aa99-5f47-413a-a403-3c4c661d852f",
      "name": "Perception Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        608,
        512
      ],
      "parameters": {
        "jsonSchemaExample": "{ \"sensorData\": { \"temperature\": 298.15, \"pressure\": 101.325, \"humidity\": 0.45 }, \"anomalies\": [], \"confidence\": 0.95 }"
      },
      "typeVersion": 1.3
    },
    {
      "id": "b0efce97-bf00-4d26-8a3b-fd564e39e6c2",
      "name": "Energy Optimization Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        944,
        288
      ],
      "parameters": {
        "text": "=Optimize energy consumption based on current budget: {{ $(\"Initialize System\").item.json.energyBudget }} units. Sensor data: {{ $(\"Perception Agent\").item.json.output }}. Calculate optimal energy allocation.",
        "options": {
          "systemMessage": "You are an Energy Optimization Agent. Your purpose is to minimize energy consumption while maintaining system performance. Use the Energy Analysis Tool to calculate efficiency metrics. Always respect thermodynamic constraints and the second law of thermodynamics."
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 3.1
    },
    {
      "id": "e9490243-f2d5-46ff-9657-8833aa772c4a",
      "name": "GPT Model - Energy",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        816,
        512
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-5-mini"
        },
        "options": {
          "temperature": 0.2
        },
        "builtInTools": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "134a8656-c806-4094-a2bc-d5df3e7c2673",
      "name": "Thermodynamic Calculator",
      "type": "@n8n/n8n-nodes-langchain.toolCalculator",
      "position": [
        944,
        512
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "6c223630-ebd2-479d-a75a-a07bd1c0a1fe",
      "name": "Energy Analysis Tool",
      "type": "@n8n/n8n-nodes-langchain.toolCode",
      "position": [
        1072,
        512
      ],
      "parameters": {
        "jsCode": "const energyData = JSON.parse(query);\nconst efficiency = (energyData.output / energyData.input) * 100;\nconst entropy = Math.log(energyData.states || 1);\nreturn JSON.stringify({ efficiency: efficiency.toFixed(2), entropy: entropy.toFixed(4), recommendation: efficiency > 70 ? \"optimal\" : \"needs optimization\" });",
        "description": "Analyzes energy consumption and calculates thermodynamic efficiency metrics"
      },
      "typeVersion": 1.3
    },
    {
      "id": "57ea70e6-3721-47bf-b893-cc5f70f5df0f",
      "name": "Energy Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        1200,
        512
      ],
      "parameters": {
        "jsonSchemaExample": "{ \"currentConsumption\": 450, \"optimizedConsumption\": 320, \"savingsPercent\": 28.9, \"actions\": [\"reduce_sensor_polling\", \"optimize_computation\"] }"
      },
      "typeVersion": 1.3
    },
    {
      "id": "97f7325f-c9a5-4748-b18d-8c096227bc33",
      "name": "Planning Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1408,
        288
      ],
      "parameters": {
        "text": "=Create execution plan for tasks: {{ $(\"Initialize System\").item.json.taskQueue }}. Energy budget: {{ $(\"Energy Optimization Agent\").item.json.output.optimizedConsumption }}. Sensor state: {{ $(\"Perception Agent\").item.json.output.sensorData }}.",
        "options": {
          "systemMessage": "You are a Planning Agent responsible for task sequencing and resource allocation. Generate optimal execution plans that minimize energy expenditure while maximizing task completion. Use the Thermodynamic Calculator for energy estimations."
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 3.1
    },
    {
      "id": "7789a0c1-cb13-423e-bdb8-444d7758b9b7",
      "name": "GPT Model - Planning",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        1424,
        512
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-5-mini"
        },
        "options": {
          "temperature": 0.5
        },
        "builtInTools": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "becc7762-d871-4d13-88c7-8c12e69bb800",
      "name": "Planning Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        1552,
        512
      ],
      "parameters": {
        "jsonSchemaExample": "{ \"taskSequence\": [\"task1\", \"task2\"], \"priority\": \"high\", \"estimatedEnergy\": 250, \"executionTime\": 5.2 }"
      },
      "typeVersion": 1.3
    },
    {
      "id": "a71da3b4-4f6c-4829-b50f-a5acdf7b896a",
      "name": "Execution Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1760,
        288
      ],
      "parameters": {
        "text": "=Execute plan: {{ $(\"Planning Agent\").item.json.output.taskSequence }}. Environment data: {{ $(\"Fetch Environment Data\").item.json }}. Energy limit: {{ $(\"Planning Agent\").item.json.output.estimatedEnergy }}.",
        "options": {
          "systemMessage": "You are an Execution Agent that carries out planned tasks in the physical environment. Monitor energy consumption in real-time and adapt execution strategies to stay within thermodynamic constraints. Report actual energy usage and task outcomes."
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 3.1
    },
    {
      "id": "f35dfd0c-b0bb-4a69-9717-a8440e54f708",
      "name": "Claude Model - Execution",
      "type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
      "position": [
        1776,
        512
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "claude-sonnet-4-6"
        },
        "options": {
          "temperature": 0.4
        }
      },
      "credentials": {
        "anthropicApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.5
    },
    {
      "id": "c0ba4251-85f1-4827-b75e-c688116ea000",
      "name": "Execution Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        1904,
        512
      ],
      "parameters": {
        "jsonSchemaExample": "{ \"status\": \"completed\", \"actualEnergy\": 245, \"duration\": 5.1, \"outputs\": {} }"
      },
      "typeVersion": 1.3
    },
    {
      "id": "35d9c6a9-5e2a-4429-98ef-58f424522ae5",
      "name": "Validation Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        2112,
        288
      ],
      "parameters": {
        "text": "=Validate execution results: {{ $(\"Execution Agent\").item.json.output }}. Check thermodynamic compliance. Planned energy: {{ $(\"Planning Agent\").item.json.output.estimatedEnergy }}, Actual: {{ $(\"Execution Agent\").item.json.output.actualEnergy }}.",
        "options": {
          "systemMessage": "You are a Validation Agent ensuring all system operations comply with thermodynamic laws and energy constraints. Verify that entropy never decreases in isolated processes, energy conservation is maintained, and efficiency metrics are accurate. Provide recommendations for improvement."
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 3.1
    },
    {
      "id": "90095efe-822f-4a57-b405-2b2f1ad44a56",
      "name": "Claude Model - Validation",
      "type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
      "position": [
        2128,
        512
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "claude-sonnet-4-6"
        },
        "options": {
          "temperature": 0.1
        }
      },
      "credentials": {
        "anthropicApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.5
    },
    {
      "id": "11dcadc1-3ffc-4def-aafd-674745c77f2a",
      "name": "Validation Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        2256,
        512
      ],
      "parameters": {
        "jsonSchemaExample": "{ \"isValid\": true, \"thermodynamicCompliance\": true, \"energyEfficiency\": 0.89, \"recommendations\": [] }"
      },
      "typeVersion": 1.3
    },
    {
      "id": "ac5116b0-e81b-4534-a994-e6070c20de3a",
      "name": "Route by Validation",
      "type": "n8n-nodes-base.switch",
      "position": [
        2464,
        288
      ],
      "parameters": {
        "rules": {
          "values": [
            {
              "conditions": {
                "options": {
                  "version": 1,
                  "leftValue": "",
                  "caseSensitive": false,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "operator": {
                      "type": "boolean",
                      "operation": "true"
                    },
                    "leftValue": "={{ $json.output.isValid }}"
                  }
                ]
              }
            },
            {
              "conditions": {
                "options": {
                  "version": 1,
                  "leftValue": "",
                  "caseSensitive": false,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "operator": {
                      "type": "boolean",
                      "operation": "false"
                    },
                    "leftValue": "={{ $json.output.isValid }}"
                  }
                ]
              }
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 3.4
    },
    {
      "id": "b9d16caa-02f2-4019-ad81-f81dafab3a73",
      "name": "Generate System Report",
      "type": "n8n-nodes-base.set",
      "position": [
        3040,
        160
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "1",
              "name": "reportType",
              "type": "string",
              "value": "Thermodynamic System Validation"
            },
            {
              "id": "2",
              "name": "timestamp",
              "type": "string",
              "value": "={{ $now.toISO() }}"
            },
            {
              "id": "3",
              "name": "perceptionData",
              "type": "object",
              "value": "={{ $(\"Perception Agent\").item.json.output }}"
            },
            {
              "id": "4",
              "name": "energyOptimization",
              "type": "object",
              "value": "={{ $(\"Energy Optimization Agent\").item.json.output }}"
            },
            {
              "id": "5",
              "name": "executionResults",
              "type": "object",
              "value": "={{ $(\"Execution Agent\").item.json.output }}"
            },
            {
              "id": "6",
              "name": "validationStatus",
              "type": "object",
              "value": "={{ $(\"Validation Agent\").item.json.output }}"
            },
            {
              "id": "7",
              "name": "overallEfficiency",
              "type": "number",
              "value": "={{ $(\"Validation Agent\").item.json.output.energyEfficiency }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "8444220b-7013-44d3-b916-fc6ee5d00f27",
      "name": "Merge Final Results",
      "type": "n8n-nodes-base.merge",
      "position": [
        3264,
        288
      ],
      "parameters": {},
      "typeVersion": 3.2
    },
    {
      "id": "89045a2e-8580-4b07-9c46-1df4078d978e",
      "name": "Recalibration Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        2688,
        416
      ],
      "parameters": {
        "text": "=System validation failed. Validation data: {{ $(\"Validation Agent\").item.json.output }}. Analyze failures and generate recalibration parameters.",
        "options": {
          "systemMessage": "You are a Recalibration Agent activated when system validation fails. Diagnose thermodynamic constraint violations, identify root causes, and generate corrective parameters. Your goal is to restore system compliance with physical laws."
        },
        "promptType": "define"
      },
      "typeVersion": 3.1
    },
    {
      "id": "894181ba-dca6-4ae3-8f8e-b6dbe6210153",
      "name": "Send Alert",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        3040,
        416
      ],
      "parameters": {
        "url": "<__PLACEHOLDER_VALUE__Alert webhook URL (e.g., https://api.example.com/alerts)__>",
        "method": "POST",
        "options": {},
        "jsonBody": "={{ { \"alert\": \"System validation failed\", \"recalibration\": $(\"Recalibration Agent\").item.json.output, \"timestamp\": $now.toISO() } }}",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "typeVersion": 4.4
    },
    {
      "id": "31455d5e-3a67-449b-98f6-b4545cacb8c1",
      "name": "Final System State",
      "type": "n8n-nodes-base.set",
      "position": [
        3488,
        288
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "1",
              "name": "systemStatus",
              "type": "string",
              "value": "={{ $json.reportType ? \"operational\" : \"recalibrating\" }}"
            },
            {
              "id": "2",
              "name": "completionTime",
              "type": "string",
              "value": "={{ $now.toISO() }}"
            },
            {
              "id": "3",
              "name": "data",
              "type": "object",
              "value": "={{ $json }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "4f10a103-43fb-40b1-b0fa-c063c43084d5",
      "name": "Sticky Note f78e402e",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1744,
        -560
      ],
      "parameters": {
        "color": 2,
        "width": 628,
        "height": 520,
        "content": "## Prerequisites\nn8n instance, AI model API credentials, external data source access, notification service integration, and predefined validation rules.\n\n## Use Cases\nEnergy optimization, autonomous operations, adaptive control systems, decision support, and multi-agent orchestration in dynamic environments.\n\n## Customization\nReplace AI models, modify optimization goals, add new agents, integrate additional data sources, or customize reporting mechanisms.\n\n## Benefits\nEnhances automation, improves decision quality, increases adaptability, optimizes resource usage, and reduces manual intervention.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "fc3d718d-481b-4876-836f-46972fe057a6",
      "name": "Sticky Note 8c7f6738",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        192,
        -352
      ],
      "parameters": {
        "width": 900,
        "height": 344,
        "content": "## How It Works\n\nThis workflow provides an agentic framework for autonomous decision-making and optimization in dynamic operational environments. It is designed for researchers, engineers, and operations teams seeking to coordinate multiple AI agents for perception, planning, execution, validation, and recalibration tasks. The workflow begins by collecting system inputs and environmental data to establish situational awareness. A perception agent interprets incoming information, while an energy optimization agent evaluates efficiency considerations. A planning agent formulates candidate actions using contextual data and external environmental inputs. Execution and validation agents assess whether proposed actions satisfy predefined constraints and objectives. If deviations or failures occur, a recalibration agent refines the strategy before final outputs are generated. System reports and alerts provide stakeholders with actionable insights, ensuring transparent, adaptive, and reliable decision-making through continuous feedback and validation loops."
      },
      "typeVersion": 1
    },
    {
      "id": "aabc5d10-2df5-4be9-8c32-83fd56d78ec3",
      "name": "Sticky Note ba06ad74",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1168,
        -304
      ],
      "parameters": {
        "width": 464,
        "height": 252,
        "content": "## Setup Steps\n1. Configure OpenAI or Claude credentials for all AI agents.\n2. Connect environmental and operational data sources.\n3. Define optimization objectives and validation criteria.\n4. Configure reporting and notification channels.\n5. Execute test runs to verify end-to-end performance."
      },
      "typeVersion": 1
    },
    {
      "id": "1141fd43-bb92-4e2f-a952-b87cc2ca0136",
      "name": "Claude Model - Execution1",
      "type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
      "position": [
        2768,
        640
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "claude-sonnet-4-6"
        },
        "options": {
          "temperature": 0.4
        }
      },
      "credentials": {
        "anthropicApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.5
    },
    {
      "id": "01791c93-6e8a-4c81-87a5-328db3ea6b9f",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1712,
        64
      ],
      "parameters": {
        "color": 7,
        "width": 688,
        "height": 736,
        "content": "## Execution & Validation\n**What:** Execute and verify proposed actions.\n**Why:** Ensure outputs satisfy constraints and objectives."
      },
      "typeVersion": 1
    },
    {
      "id": "83ef7277-be73-479b-b3f0-474bb9b34372",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1344,
        64
      ],
      "parameters": {
        "color": 7,
        "width": 352,
        "height": 800,
        "content": "\n## Planning\n**What:** Generate actions using contextual data.\n**Why:** Identify optimal strategies under changing conditions."
      },
      "typeVersion": 1
    },
    {
      "id": "48320a85-908d-4fcf-b71e-ba4d4f36016f",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        800,
        96
      ],
      "parameters": {
        "color": 7,
        "width": 528,
        "height": 672,
        "content": "## Energy Optimization\n**What:** Evaluate efficiency and resource utilization.\n**Why:** Improve operational performance and sustainability.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "2408fb62-642e-47b6-bda2-5fc6c238fa29",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        208,
        80
      ],
      "parameters": {
        "color": 7,
        "width": 576,
        "height": 688,
        "content": "\n## Perception\n**What:** Interpret system and environmental inputs.\n**Why:** Establish situational awareness for informed decisions."
      },
      "typeVersion": 1
    },
    {
      "id": "2846a7ee-0047-441c-af3d-5de986836dc1",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2448,
        16
      ],
      "parameters": {
        "color": 7,
        "width": 1328,
        "height": 816,
        "content": "## Recalibration & Reporting\n**What:** Refine strategies and generate alerts/reports.\n**Why:** Support adaptability and stakeholder awareness."
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "binaryMode": "separate",
    "executionOrder": "v1"
  },
  "versionId": "c2b6b564-641e-4a20-9561-aa114692abb6",
  "nodeGroups": [],
  "connections": {
    "Send Alert": {
      "main": [
        [
          {
            "node": "Merge Final Results",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Planning Agent": {
      "main": [
        [
          {
            "node": "Execution Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Execution Agent": {
      "main": [
        [
          {
            "node": "Validation Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Perception Agent": {
      "main": [
        [
          {
            "node": "Energy Optimization Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Validation Agent": {
      "main": [
        [
          {
            "node": "Route by Validation",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Initialize System": {
      "main": [
        [
          {
            "node": "Perception Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "GPT Model - Energy": {
      "ai_languageModel": [
        [
          {
            "node": "Energy Optimization Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Merge Final Results": {
      "main": [
        [
          {
            "node": "Final System State",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Recalibration Agent": {
      "main": [
        [
          {
            "node": "Send Alert",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Route by Validation": {
      "main": [
        [
          {
            "node": "Generate System Report",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Recalibration Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Energy Analysis Tool": {
      "ai_tool": [
        [
          {
            "node": "Energy Optimization Agent",
            "type": "ai_tool",
            "index": 0
          },
          {
            "node": "Execution Agent",
            "type": "ai_tool",
            "index": 0
          },
          {
            "node": "Recalibration Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Energy Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Energy Optimization Agent",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "GPT Model - Planning": {
      "ai_languageModel": [
        [
          {
            "node": "Planning Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "GPT Model - Perception": {
      "ai_languageModel": [
        [
          {
            "node": "Perception Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Generate System Report": {
      "main": [
        [
          {
            "node": "Merge Final Results",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Planning Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Planning Agent",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Execution Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Execution Agent",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Claude Model - Execution": {
      "ai_languageModel": [
        [
          {
            "node": "Execution Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Perception Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Perception Agent",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Thermodynamic Calculator": {
      "ai_tool": [
        [
          {
            "node": "Energy Optimization Agent",
            "type": "ai_tool",
            "index": 0
          },
          {
            "node": "Planning Agent",
            "type": "ai_tool",
            "index": 0
          },
          {
            "node": "Execution Agent",
            "type": "ai_tool",
            "index": 0
          },
          {
            "node": "Validation Agent",
            "type": "ai_tool",
            "index": 0
          },
          {
            "node": "Recalibration Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Validation Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Validation Agent",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Claude Model - Execution1": {
      "ai_languageModel": [
        [
          {
            "node": "Recalibration Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Claude Model - Validation": {
      "ai_languageModel": [
        [
          {
            "node": "Validation Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Energy Optimization Agent": {
      "main": [
        [
          {
            "node": "Planning Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

This workflow runs manually to orchestrate multi-agent analysis for a thermodynamic system, using OpenAI and Anthropic models to interpret sensor inputs, optimize energy usage, plan and execute tasks, validate results, and send an HTTP alert if validation fails. Starts when you…

Source: https://n8n.io/workflows/16343/ — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

CashMate – Your AI-Powered WhatsApp Finance Agent Turn WhatsApp into a smart finance assistant that auto-registers you, logs transactions in natural language, extracts data from receipts and voice not

Tool Code, Output Parser Structured, Tool Calculator +6
AI & RAG

RESUME SCREENER. Uses agent, outputParserStructured, lmChatOpenAi, gmailTrigger. Event-driven trigger; 37 nodes.

Agent, Output Parser Structured, OpenAI Chat +7
AI & RAG

Tired of grinding out YouTube content? This n8n workflow turns AI into your personal video factory—creating engaging, faceless shorts on autopilot. Perfect for creators, marketers, or side-hustlers lo

HTTP Request, Google Drive, Google Sheets +6
AI & RAG

Template Carnaval - time instagram. Uses toolWorkflow, lmChatOpenAi, memoryBufferWindow, agent. Event-driven trigger; 56 nodes.

Tool Workflow, OpenAI Chat, Memory Buffer Window +10
AI & RAG

My workflow 30. Uses lmChatOpenAi, httpRequest, agent, lmChatOllama. Event-driven trigger; 52 nodes.

OpenAI Chat, HTTP Request, Agent +12