{
  "id": "zAFpZbgV9bgNbjwR",
  "name": "AI carbon supervisor agent for ESG monitoring and strategy execution",
  "tags": [],
  "nodes": [
    {
      "id": "31b22291-3f1c-4a99-b1da-91eb3bbf0de9",
      "name": "Scheduled Carbon Data Collection",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        224,
        928
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "hours",
              "hoursInterval": 6
            }
          ]
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "96ef6655-cd22-421b-b5ba-77d532cfa981",
      "name": "Carbon Supervisor Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1440,
        928
      ],
      "parameters": {
        "text": "={{ $json.emissions_data || $json.body || $json }}",
        "options": {
          "systemMessage": "You are the Carbon Sustainability Supervisor Agent. Your role is to orchestrate carbon monitoring, optimization, policy enforcement, and ESG reporting across multi-cloud and enterprise environments. Analyze incoming emissions data, delegate tasks to specialized sub-agents (monitoring, optimization, policy enforcement, ESG reporting), and coordinate carbon reduction strategies. Determine which sub-agents to invoke based on the data type and required actions."
        },
        "hasOutputParser": true
      },
      "typeVersion": 3.1
    },
    {
      "id": "60088dda-3b7d-421a-96a7-e63ebffb0da9",
      "name": "Supervisor Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        800,
        1312
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "id",
          "value": "gpt-4o"
        },
        "options": {
          "temperature": 0.2
        },
        "builtInTools": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "43cc6763-43ce-4c92-b741-b24e22601f4d",
      "name": "Supervisor Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        2224,
        1312
      ],
      "parameters": {
        "schemaType": "manual",
        "inputSchema": "{\n\t\"type\": \"object\",\n\t\"properties\": {\n\t\t\"action\": {\n\t\t\t\"type\": \"string\",\n\t\t\t\"enum\": [\"monitor\", \"optimize\", \"enforce_policy\", \"generate_report\"]\n\t\t},\n\t\t\"priority\": {\n\t\t\t\"type\": \"string\",\n\t\t\t\"enum\": [\"critical\", \"high\", \"medium\", \"low\"]\n\t\t},\n\t\t\"carbon_metrics\": {\n\t\t\t\"type\": \"object\"\n\t\t},\n\t\t\"recommendations\": {\n\t\t\t\"type\": \"array\"\n\t\t},\n\t\t\"policy_violations\": {\n\t\t\t\"type\": \"array\"\n\t\t},\n\t\t\"requires_approval\": {\n\t\t\t\"type\": \"boolean\"\n\t\t}\n\t}\n}"
      },
      "typeVersion": 1.3
    },
    {
      "id": "fe53a095-e330-4add-ae2c-2dc51d175728",
      "name": "Carbon Monitoring Agent",
      "type": "@n8n/n8n-nodes-langchain.agentTool",
      "position": [
        928,
        1312
      ],
      "parameters": {
        "text": "={{ $fromAI('monitoring_task', 'The carbon monitoring task to perform') }}",
        "options": {
          "systemMessage": "You are the Carbon Monitoring Agent. Collect emissions data from cloud providers, validate data quality, identify anomalies in carbon metrics, calculate carbon KPIs (total emissions, emissions per service, carbon intensity), and flag data quality issues. Use available tools to query databases and APIs for historical context."
        },
        "toolDescription": "Collects and validates emissions data across cloud infrastructure (AWS, Azure, GCP), enterprise operations, and digital workloads. Validates data quality, identifies anomalies, and tracks carbon KPIs."
      },
      "typeVersion": 3
    },
    {
      "id": "279db0e0-83e6-41f0-bd24-7cf96d269b0e",
      "name": "Monitoring Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        560,
        1520
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "id",
          "value": "gpt-4o"
        },
        "options": {
          "temperature": 0.1
        },
        "builtInTools": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "3a8c3018-d572-4615-831a-da70d6211a51",
      "name": "Carbon Optimization Agent",
      "type": "@n8n/n8n-nodes-langchain.agentTool",
      "position": [
        1344,
        1312
      ],
      "parameters": {
        "text": "={{ $fromAI('optimization_task', 'The carbon optimization task to perform') }}",
        "options": {
          "systemMessage": "You are the Carbon Optimization Agent. Analyze energy consumption patterns, identify high-carbon workloads, recommend low-carbon alternatives (region migration, instance rightsizing, renewable energy sources), calculate potential carbon savings, and prioritize optimization opportunities by impact and cost-efficiency."
        },
        "toolDescription": "Analyzes energy consumption patterns and recommends automated cost-efficient and low-carbon alternatives. Identifies optimization opportunities across cloud resources and enterprise operations."
      },
      "typeVersion": 3
    },
    {
      "id": "7bc751bc-e85d-4f10-bd61-93a9bf09dbf4",
      "name": "Optimization Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        1248,
        1520
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "id",
          "value": "gpt-4o"
        },
        "options": {
          "temperature": 0.3
        },
        "builtInTools": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "edaddbbc-9e15-422b-904c-10135a1c5c53",
      "name": "Policy Enforcement Agent",
      "type": "@n8n/n8n-nodes-langchain.agentTool",
      "position": [
        1648,
        1312
      ],
      "parameters": {
        "text": "={{ $fromAI('policy_task', 'The policy enforcement task to perform') }}",
        "options": {
          "systemMessage": "You are the Policy Enforcement Agent. Check emissions data against green policies and carbon reduction targets, identify policy violations, assess severity levels, recommend corrective actions, and determine if violations require immediate escalation or approval workflows."
        },
        "toolDescription": "Enforces green policies, detects policy violations, and ensures compliance with carbon reduction targets and sustainability standards."
      },
      "typeVersion": 3
    },
    {
      "id": "50dcd6ed-4c83-4ef7-a434-16f22fa19f94",
      "name": "Policy Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        1664,
        1520
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "id",
          "value": "gpt-4o"
        },
        "options": {
          "temperature": 0.1
        },
        "builtInTools": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "0a7703a4-f2ec-4f95-a48f-441bb6d52b67",
      "name": "ESG Reporting Agent",
      "type": "@n8n/n8n-nodes-langchain.agentTool",
      "position": [
        1936,
        1312
      ],
      "parameters": {
        "text": "={{ $fromAI('reporting_task', 'The ESG reporting task to perform') }}",
        "options": {
          "systemMessage": "You are the ESG Reporting Agent. Generate comprehensive ESG reports including carbon metrics, sustainability KPIs, reduction achievements, policy compliance status, and trend analysis. Format reports for stakeholder consumption and regulatory compliance."
        },
        "toolDescription": "Generates ESG-ready sustainability reports, carbon reduction insights, and compliance documentation for stakeholders."
      },
      "typeVersion": 3
    },
    {
      "id": "db093b39-5b0a-4835-a18d-40f49b153acb",
      "name": "ESG Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        2016,
        1520
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "id",
          "value": "gpt-4o"
        },
        "options": {
          "temperature": 0.2
        },
        "builtInTools": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "3887d823-c201-439e-8606-5eac551eddb2",
      "name": "Carbon Calculations Tool",
      "type": "@n8n/n8n-nodes-langchain.toolCode",
      "position": [
        816,
        1520
      ],
      "parameters": {
        "jsCode": "// Carbon calculation functions\nconst emissions = $fromAI('emissions_value', 'Emissions value in kg CO2e', 'number');\nconst energy = $fromAI('energy_kwh', 'Energy consumption in kWh', 'number', 0);\nconst operation = $fromAI('operation', 'Calculation type: footprint, intensity, efficiency, savings', 'string');\n\nconst CARBON_INTENSITY_GRID = 0.475; // kg CO2e per kWh (global average)\nconst RENEWABLE_INTENSITY = 0.05; // kg CO2e per kWh\n\nlet result;\nif (operation === 'footprint') {\n  result = energy * CARBON_INTENSITY_GRID;\n} else if (operation === 'intensity') {\n  result = emissions / Math.max(energy, 1);\n} else if (operation === 'efficiency') {\n  result = 100 - ((emissions / (energy * CARBON_INTENSITY_GRID)) * 100);\n} else if (operation === 'savings') {\n  result = energy * (CARBON_INTENSITY_GRID - RENEWABLE_INTENSITY);\n} else {\n  result = emissions;\n}\n\nreturn { result: result.toFixed(2), unit: 'kg CO2e', operation };",
        "description": "Performs carbon footprint calculations, emissions validation, energy efficiency scoring, and carbon intensity computations using custom formulas."
      },
      "typeVersion": 1.3
    },
    {
      "id": "e330021c-9d84-4438-9812-e0b0f2b44090",
      "name": "KPI Calculator",
      "type": "@n8n/n8n-nodes-langchain.toolCalculator",
      "position": [
        1312,
        1728
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "7c87493c-3893-4036-8171-2f7ed140dd73",
      "name": "Carbon Database Tool",
      "type": "n8n-nodes-base.postgresTool",
      "position": [
        1056,
        1520
      ],
      "parameters": {
        "table": {
          "__rl": true,
          "mode": "list",
          "value": ""
        },
        "schema": {
          "__rl": true,
          "mode": "list",
          "value": "public"
        },
        "descriptionType": "manual",
        "toolDescription": "Query and update carbon emissions data, KPI metrics, historical trends, and policy configurations in the PostgreSQL database."
      },
      "typeVersion": 2.6
    },
    {
      "id": "8c507355-4586-4a1b-9133-e8b41aecd457",
      "name": "Policy Sheets Tool",
      "type": "n8n-nodes-base.googleSheetsTool",
      "position": [
        1808,
        1520
      ],
      "parameters": {
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": ""
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": ""
        },
        "descriptionType": "manual",
        "toolDescription": "Read carbon reduction policies, approved strategies, and sustainability targets from Google Sheets."
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "d3e7ab6c-96b7-42d8-98c2-e3b62ce8927d",
      "name": "Approval Workflow Tool",
      "type": "n8n-nodes-base.slackHitlTool",
      "position": [
        1376,
        1520
      ],
      "parameters": {
        "user": {
          "__rl": true,
          "mode": "list",
          "value": ""
        },
        "message": "={{ $fromAI('approval_message', 'The approval request message') }}",
        "options": {},
        "authentication": "oAuth2"
      },
      "credentials": {
        "slackOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.4
    },
    {
      "id": "6de1bc0d-fb58-4160-9fb4-9b3261192297",
      "name": "Route by Action Type",
      "type": "n8n-nodes-base.switch",
      "position": [
        2560,
        1072
      ],
      "parameters": {
        "rules": {
          "values": [
            {
              "conditions": {
                "options": {
                  "leftValue": "",
                  "caseSensitive": true
                },
                "combinator": "and",
                "conditions": [
                  {
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json.action }}",
                    "rightValue": "monitor"
                  }
                ]
              }
            },
            {
              "conditions": {
                "options": {
                  "leftValue": "",
                  "caseSensitive": true
                },
                "combinator": "and",
                "conditions": [
                  {
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json.action }}",
                    "rightValue": "optimize"
                  }
                ]
              }
            },
            {
              "conditions": {
                "options": {
                  "leftValue": "",
                  "caseSensitive": true
                },
                "combinator": "and",
                "conditions": [
                  {
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json.action }}",
                    "rightValue": "enforce_policy"
                  }
                ]
              }
            },
            {
              "conditions": {
                "options": {
                  "leftValue": "",
                  "caseSensitive": true
                },
                "combinator": "and",
                "conditions": [
                  {
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json.action }}",
                    "rightValue": "generate_report"
                  }
                ]
              }
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 3.4
    },
    {
      "id": "861fb4fb-d1e1-48ed-bd32-750d756fd63b",
      "name": "Store Carbon Metrics",
      "type": "n8n-nodes-base.postgres",
      "position": [
        3456,
        992
      ],
      "parameters": {
        "table": {
          "__rl": true,
          "mode": "name",
          "value": "carbon_metrics"
        },
        "schema": {
          "__rl": true,
          "mode": "list",
          "value": "public"
        },
        "columns": {
          "value": {
            "action": "={{ $json.action }}",
            "priority": "={{ $json.priority }}",
            "timestamp": "={{ $now }}",
            "carbon_metrics": "={{ JSON.stringify($json.carbon_metrics) }}",
            "recommendations": "={{ JSON.stringify($json.recommendations) }}",
            "policy_violations": "={{ JSON.stringify($json.policy_violations) }}",
            "requires_approval": "={{ $json.requires_approval }}"
          },
          "mappingMode": "defineBelow"
        },
        "options": {}
      },
      "typeVersion": 2.6
    },
    {
      "id": "a1b01743-1381-44d2-87be-5f9ad1834b31",
      "name": "Prepare Optimization Data",
      "type": "n8n-nodes-base.set",
      "position": [
        2768,
        1376
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "id-1",
              "name": "optimization_summary",
              "type": "string",
              "value": "={{ $json.output.recommendations }}"
            },
            {
              "id": "id-2",
              "name": "carbon_savings",
              "type": "number",
              "value": "={{ $json.output.carbon_metrics.potential_savings }}"
            },
            {
              "id": "id-3",
              "name": "priority",
              "type": "string",
              "value": "={{ $json.output.priority }}"
            },
            {
              "id": "id-4",
              "name": "requires_approval",
              "type": "boolean",
              "value": "={{ $json.output.requires_approval }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "4e262fcc-a75b-4bb0-987d-e8e56b5cf240",
      "name": "Send Policy Alert",
      "type": "n8n-nodes-base.slack",
      "position": [
        3456,
        1568
      ],
      "parameters": {
        "text": "=\ud83d\udea8 *Carbon Policy Violation Detected*\n\n*Priority:* {{ $json.output.priority }}\n*Violations:* {{ $json.output.policy_violations.length }}\n\n{{ $json.output.policy_violations.map(v => `\u2022 ${v.policy}: ${v.description}`).join('\\n') }}\n\n*Recommended Actions:*\n{{ $json.output.recommendations.map(r => `\u2022 ${r}`).join('\\n') }}",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "id",
          "value": "<__PLACEHOLDER_VALUE__policy_alerts_channel__>"
        },
        "otherOptions": {},
        "authentication": "oAuth2"
      },
      "credentials": {
        "slackOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.4
    },
    {
      "id": "bffb3126-519a-4fa3-b98d-6df566e30cc7",
      "name": "Update ESG Report",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        3232,
        1760
      ],
      "parameters": {
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": ""
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": ""
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "03ec1027-aeca-407f-a07a-9995024232fc",
      "name": "Check Approval Required",
      "type": "n8n-nodes-base.if",
      "position": [
        3008,
        1280
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "leftValue": "",
            "caseSensitive": false,
            "typeValidation": "loose"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "id-1",
              "operator": {
                "type": "boolean",
                "operation": "true"
              },
              "leftValue": "={{ $json.requires_approval }}"
            }
          ]
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "97e87f59-f00f-4e63-81a5-702cc8230cc9",
      "name": "Request Strategy Approval",
      "type": "n8n-nodes-base.slack",
      "position": [
        3232,
        1184
      ],
      "parameters": {
        "select": "channel",
        "message": "=\ud83c\udf31 *Carbon Reduction Strategy Approval Required*\n\n*Priority:* {{ $json.priority }}\n*Estimated Carbon Savings:* {{ $json.carbon_savings }} kg CO2e\n\n*Optimization Recommendations:*\n{{ $json.optimization_summary.map(r => `\u2022 ${r}`).join('\\n') }}\n\nPlease approve or reject this strategy.",
        "options": {},
        "channelId": {
          "__rl": true,
          "mode": "id",
          "value": "<__PLACEHOLDER_VALUE__approval_channel__>"
        },
        "operation": "sendAndWait",
        "authentication": "oAuth2",
        "approvalOptions": {
          "values": {
            "approvalType": "double",
            "disapproveLabel": "Reject"
          }
        }
      },
      "credentials": {
        "slackOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.4
    },
    {
      "id": "2b7cfd43-d42a-4db5-9267-887ef15af4d5",
      "name": "Log Approved Strategy",
      "type": "n8n-nodes-base.postgres",
      "position": [
        3456,
        1184
      ],
      "parameters": {
        "table": {
          "__rl": true,
          "mode": "name",
          "value": "approved_strategies"
        },
        "schema": {
          "__rl": true,
          "mode": "list",
          "value": "public"
        },
        "columns": {
          "value": {
            "status": "approved",
            "priority": "={{ $json.priority }}",
            "strategy": "={{ JSON.stringify($json.optimization_summary) }}",
            "timestamp": "={{ $now }}",
            "approved_by": "={{ $json.user }}",
            "carbon_savings": "={{ $json.carbon_savings }}"
          },
          "mappingMode": "defineBelow"
        },
        "options": {}
      },
      "typeVersion": 2.6
    },
    {
      "id": "cff86851-e84b-465a-a3bd-2d494c4c88dc",
      "name": "Auto-Execute Strategy",
      "type": "n8n-nodes-base.postgres",
      "position": [
        3456,
        1376
      ],
      "parameters": {
        "table": {
          "__rl": true,
          "mode": "name",
          "value": "approved_strategies"
        },
        "schema": {
          "__rl": true,
          "mode": "list",
          "value": "public"
        },
        "columns": {
          "value": {
            "status": "auto_executed",
            "priority": "={{ $json.priority }}",
            "strategy": "={{ JSON.stringify($json.optimization_summary) }}",
            "timestamp": "={{ $now }}",
            "carbon_savings": "={{ $json.carbon_savings }}"
          },
          "mappingMode": "defineBelow"
        },
        "options": {}
      },
      "typeVersion": 2.6
    },
    {
      "id": "5bf1187d-eee0-4b9b-9adf-89e15ba61ecd",
      "name": "Send ESG Report Email",
      "type": "n8n-nodes-base.emailSend",
      "position": [
        3456,
        1760
      ],
      "parameters": {
        "html": "=Dear Stakeholder,<br><br>Please find the latest ESG sustainability report below:<br><br><strong>Total Emissions:</strong> {{ $json.carbon_metrics.total_emissions }} kg CO2e<br><strong>Carbon Intensity:</strong> {{ $json.carbon_metrics.carbon_intensity }}<br><strong>Policy Compliance Rate:</strong> {{ $json.carbon_metrics.compliance_rate }}%<br><br><strong>Key Sustainability Insights:</strong><br>{{ $json.recommendations.map(r => `\u2022 ${r}`).join('<br>') }}<br><br>The full report has been updated in the ESG tracking sheet.<br><br>Best regards,<br>Carbon Monitoring System",
        "options": {},
        "subject": "=ESG Sustainability Report - {{ $now.toFormat('yyyy-MM-dd') }}",
        "toEmail": "<__PLACEHOLDER_VALUE__stakeholder_email__>",
        "fromEmail": "<__PLACEHOLDER_VALUE__sender_email__>"
      },
      "typeVersion": 2.1
    },
    {
      "id": "2e82947a-9625-4068-b99b-33e91fcfbd10",
      "name": "Consolidate All Actions",
      "type": "n8n-nodes-base.merge",
      "position": [
        3680,
        1328
      ],
      "parameters": {
        "numberInputs": 5
      },
      "typeVersion": 3.2
    },
    {
      "id": "3c2315d9-9d91-4b70-aba6-cc09ef0e4719",
      "name": "Send Summary Notification",
      "type": "n8n-nodes-base.slack",
      "position": [
        3904,
        1376
      ],
      "parameters": {
        "text": "=\u2705 *Carbon Monitoring Workflow Complete*\n\n*Action:* {{ $json.action || 'Multiple actions' }}\n*Priority:* {{ $json.priority || 'N/A' }}\n*Status:* Successfully processed\n\nAll carbon monitoring, optimization, policy enforcement, and reporting tasks have been completed.",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "id",
          "value": "<__PLACEHOLDER_VALUE__summary_channel__>"
        },
        "otherOptions": {},
        "authentication": "oAuth2"
      },
      "credentials": {
        "slackOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.4
    },
    {
      "id": "70b04d9d-6545-44ea-89e0-61ba7ad808a8",
      "name": "Update KPI Dashboard",
      "type": "n8n-nodes-base.postgres",
      "position": [
        4128,
        1376
      ],
      "parameters": {
        "table": {
          "__rl": true,
          "mode": "name",
          "value": "kpi_dashboard"
        },
        "schema": {
          "__rl": true,
          "mode": "list",
          "value": "public"
        },
        "columns": {
          "value": {
            "status": "=completed",
            "timestamp": "={{ $now }}",
            "total_actions": "={{ $json.action ? 1 : 0 }}",
            "workflow_run_id": "={{ $execution.id }}"
          },
          "mappingMode": "defineBelow"
        },
        "options": {}
      },
      "typeVersion": 2.6
    },
    {
      "id": "8d18ca9f-5f7e-46de-b187-d240c96db1e5",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        224,
        448
      ],
      "parameters": {
        "width": 688,
        "height": 256,
        "content": "## How It Works\nThis workflow automates end-to-end carbon emissions monitoring, strategy optimisation, and ESG reporting using a multi-agent AI supervisor architecture in n8n. Designed for sustainability managers, ESG teams, and operations leads, it eliminates the manual effort of tracking emissions, evaluating reduction strategies, and producing compliance reports. Data enters via scheduled pulls and real-time webhooks, then merges into a unified feed processed by a Carbon Supervisor Agent. Sub-agents handle monitoring, optimisation, policy enforcement, and ESG reporting. Approved strategies are auto-executed or routed for human sign-off. Outputs are consolidated and pushed to Slack, Google Sheets, and email, keeping all stakeholders informed. The workflow closes the loop from raw sensor data to actionable ESG dashboards with minimal human intervention.\n "
      },
      "typeVersion": 1
    },
    {
      "id": "3c5c4eb6-607d-40b8-8678-5d0615b94a2c",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        960,
        432
      ],
      "parameters": {
        "width": 448,
        "height": 272,
        "content": "## Setup Steps\n1. Connect scheduled trigger and webhook nodes to your emissions data sources.\n2. Add credentials for Slack (bot token), Gmail (OAuth2), and Google Sheets (service account).\n3. Configure the Carbon Supervisor Agent with your preferred LLM (OpenAI or compatible).\n4. Set approval thresholds in the Check Approval Required node.\n5. Map Google Sheets document ID for ESG report and KPI dashboard nodes."
      },
      "typeVersion": 1
    },
    {
      "id": "d22ded0d-d30d-4088-9eb3-0e575ada773e",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1472,
        352
      ],
      "parameters": {
        "color": 6,
        "width": 528,
        "height": 352,
        "content": "## Prerequisites\n- OpenAI or compatible LLM API key\n- Slack bot token\n- Gmail OAuth2 credentials\n- Google Sheets service account\n## Use Cases\n- Corporate sustainability teams automating monthly ESG reporting\n## Customisation\n- Swap LLM models per agent for cost or accuracy trade-offs\n## Benefits\n- Eliminates manual emissions data aggregation and report generation"
      },
      "typeVersion": 1
    },
    {
      "id": "4b6b8014-c0cf-48a5-870d-1409d0c01f58",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        224,
        1232
      ],
      "parameters": {
        "color": 7,
        "width": 2160,
        "height": 656,
        "content": "## Strategy & Policy Evaluation\n**What:** Optimisation and Policy Enforcement Agents propose and validate actions.\n**Why:** Keeps reduction strategies compliant before execution."
      },
      "typeVersion": 1
    },
    {
      "id": "e8b6c838-f9cc-4e69-95db-73b019d74a6a",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        112,
        784
      ],
      "parameters": {
        "color": 7,
        "width": 1936,
        "height": 416,
        "content": "## Supervisor Orchestration\n**What:** Carbon Supervisor Agent delegates tasks across four specialised sub-agents.\n**Why:** Parallel processing improves speed and separates concerns cleanly."
      },
      "typeVersion": 1
    },
    {
      "id": "25a3e0ee-960d-4d6a-892d-a58d28afeaa7",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2480,
        896
      ],
      "parameters": {
        "color": 7,
        "width": 880,
        "height": 1024,
        "content": "\n## Approval Routing\n**What:** Routes strategies requiring sign-off to Slack; auto-executes low-risk ones.\n**Why:** Balances automation with governance oversight."
      },
      "typeVersion": 1
    },
    {
      "id": "9895286e-18cf-4fac-bdc5-21c96872ba5a",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3424,
        880
      ],
      "parameters": {
        "color": 7,
        "width": 880,
        "height": 1168,
        "content": "## Reporting & Notification\n**What:** Updates ESG report, sends email summary, refreshes KPI dashboard.\n**Why:** Closes the feedback loop for stakeholders in real time."
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "binaryMode": "separate",
    "executionOrder": "v1"
  },
  "versionId": "88f18dda-034b-418f-ae68-4276f3d329a7",
  "connections": {
    "ESG Model": {
      "ai_languageModel": [
        [
          {
            "node": "ESG Reporting Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Policy Model": {
      "ai_languageModel": [
        [
          {
            "node": "Policy Enforcement Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "KPI Calculator": {
      "ai_tool": [
        [
          {
            "node": "Carbon Monitoring Agent",
            "type": "ai_tool",
            "index": 0
          },
          {
            "node": "Approval Workflow Tool",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Monitoring Model": {
      "ai_languageModel": [
        [
          {
            "node": "Carbon Monitoring Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Supervisor Model": {
      "ai_languageModel": [
        [
          {
            "node": "Carbon Supervisor Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Send Policy Alert": {
      "main": [
        [
          {
            "node": "Consolidate All Actions",
            "type": "main",
            "index": 3
          }
        ]
      ]
    },
    "Update ESG Report": {
      "main": [
        [
          {
            "node": "Send ESG Report Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Optimization Model": {
      "ai_languageModel": [
        [
          {
            "node": "Carbon Optimization Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Policy Sheets Tool": {
      "ai_tool": [
        [
          {
            "node": "Policy Enforcement Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "ESG Reporting Agent": {
      "ai_tool": [
        [
          {
            "node": "Carbon Supervisor Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Carbon Database Tool": {
      "ai_tool": [
        [
          {
            "node": "Carbon Monitoring Agent",
            "type": "ai_tool",
            "index": 0
          },
          {
            "node": "Carbon Optimization Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Route by Action Type": {
      "main": [
        [
          {
            "node": "Store Carbon Metrics",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Prepare Optimization Data",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Send Policy Alert",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Update ESG Report",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Store Carbon Metrics": {
      "main": [
        [
          {
            "node": "Consolidate All Actions",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Auto-Execute Strategy": {
      "main": [
        [
          {
            "node": "Consolidate All Actions",
            "type": "main",
            "index": 2
          }
        ]
      ]
    },
    "Log Approved Strategy": {
      "main": [
        [
          {
            "node": "Consolidate All Actions",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Send ESG Report Email": {
      "main": [
        [
          {
            "node": "Consolidate All Actions",
            "type": "main",
            "index": 4
          }
        ]
      ]
    },
    "Approval Workflow Tool": {
      "ai_tool": [
        [
          {
            "node": "Carbon Optimization Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Carbon Monitoring Agent": {
      "ai_tool": [
        [
          {
            "node": "Carbon Supervisor Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Carbon Supervisor Agent": {
      "main": [
        [
          {
            "node": "Route by Action Type",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check Approval Required": {
      "main": [
        [
          {
            "node": "Request Strategy Approval",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Auto-Execute Strategy",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Consolidate All Actions": {
      "main": [
        [
          {
            "node": "Send Summary Notification",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Carbon Calculations Tool": {
      "ai_tool": [
        [
          {
            "node": "Carbon Monitoring Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Policy Enforcement Agent": {
      "ai_tool": [
        [
          {
            "node": "Carbon Supervisor Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Supervisor Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Carbon Supervisor Agent",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Carbon Optimization Agent": {
      "ai_tool": [
        [
          {
            "node": "Carbon Supervisor Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Prepare Optimization Data": {
      "main": [
        [
          {
            "node": "Check Approval Required",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Request Strategy Approval": {
      "main": [
        [
          {
            "node": "Log Approved Strategy",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Summary Notification": {
      "main": [
        [
          {
            "node": "Update KPI Dashboard",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Scheduled Carbon Data Collection": {
      "main": [
        [
          {
            "node": "Carbon Supervisor Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}