This workflow corresponds to n8n.io template #14438 — we link there as the canonical source.
This workflow follows the Agent → Agenttool 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 →
{
"id": "m5LtHsi6ZqfX5Frq",
"name": "AI-powered energy governance with renewable forecasting and policy compliance",
"tags": [],
"nodes": [
{
"id": "ff1c52e9-74e1-4856-9c39-b5ce70648a13",
"name": "Energy Analysis Schedule",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
256,
496
],
"parameters": {
"rule": {
"interval": [
{
"field": "hours"
}
]
}
},
"typeVersion": 1.3
},
{
"id": "0806a3fe-9d07-40ca-9b25-f07388d8391a",
"name": "Fetch Weather Data",
"type": "n8n-nodes-base.httpRequest",
"position": [
480,
304
],
"parameters": {
"url": "<__PLACEHOLDER_VALUE__weather_api_endpoint__>",
"options": {}
},
"typeVersion": 4.4
},
{
"id": "d668b40d-8da9-430b-b24d-220c1e62aa4c",
"name": "Fetch Energy Demand",
"type": "n8n-nodes-base.httpRequest",
"position": [
480,
496
],
"parameters": {
"url": "<__PLACEHOLDER_VALUE__energy_demand_api_endpoint__>",
"options": {}
},
"typeVersion": 4.4
},
{
"id": "d097b13e-4516-4d33-860a-50a0342f7711",
"name": "Fetch Renewable Generation",
"type": "n8n-nodes-base.httpRequest",
"position": [
480,
688
],
"parameters": {
"url": "<__PLACEHOLDER_VALUE__renewable_generation_api_endpoint__>",
"options": {}
},
"typeVersion": 4.4
},
{
"id": "8d45a455-1bd9-4043-876e-1a70520cb75d",
"name": "Combine Energy Data",
"type": "n8n-nodes-base.merge",
"position": [
704,
480
],
"parameters": {
"mode": "combine",
"options": {},
"combineBy": "combineByPosition",
"numberInputs": 3
},
"typeVersion": 3.2
},
{
"id": "1eb8242f-9f0e-4847-a82d-70fe493a6878",
"name": "Energy Governance Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
1856,
496
],
"parameters": {
"text": "={{ $json }}",
"options": {
"systemMessage": "You are the Energy Governance Agent, responsible for orchestrating smart energy allocation, policy compliance, and sustainability reporting. Analyze the combined energy data (weather, demand, renewable generation) and coordinate with specialized sub-agents to optimize renewable energy usage, reduce non-renewable reliance, ensure policy compliance, and generate comprehensive sustainability insights. Provide strategic recommendations for energy allocation and identify compliance issues."
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 3.1
},
{
"id": "2d8ebfc8-8528-4c04-91d4-95ad16b4053e",
"name": "Governance Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
928,
720
],
"parameters": {
"model": {
"__rl": true,
"mode": "id",
"value": "gpt-4o"
},
"options": {
"temperature": 0.2
},
"builtInTools": {}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.3
},
{
"id": "d2201c9e-ea06-482a-9ce4-cbdd57b36e9c",
"name": "Structured KPI Output",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
2432,
720
],
"parameters": {
"schemaType": "manual",
"inputSchema": "{\n\t\"type\": \"object\",\n\t\"properties\": {\n\t\t\"renewablePercentage\": {\n\t\t\t\"type\": \"number\"\n\t\t},\n\t\t\"nonRenewablePercentage\": {\n\t\t\t\"type\": \"number\"\n\t\t},\n\t\t\"energyEfficiencyScore\": {\n\t\t\t\"type\": \"number\"\n\t\t},\n\t\t\"carbonFootprintKg\": {\n\t\t\t\"type\": \"number\"\n\t\t},\n\t\t\"policyComplianceStatus\": {\n\t\t\t\"type\": \"string\"\n\t\t},\n\t\t\"recommendations\": {\n\t\t\t\"type\": \"array\",\n\t\t\t\"items\": {\n\t\t\t\t\"type\": \"string\"\n\t\t\t}\n\t\t},\n\t\t\"alerts\": {\n\t\t\t\"type\": \"array\",\n\t\t\t\"items\": {\n\t\t\t\t\"type\": \"string\"\n\t\t\t}\n\t\t},\n\t\t\"forecastedDemandKwh\": {\n\t\t\t\"type\": \"number\"\n\t\t},\n\t\t\"availableRenewableKwh\": {\n\t\t\t\"type\": \"number\"\n\t\t},\n\t\t\"optimizationOpportunities\": {\n\t\t\t\"type\": \"array\",\n\t\t\t\"items\": {\n\t\t\t\t\"type\": \"string\"\n\t\t\t}\n\t\t}\n\t}\n}"
},
"typeVersion": 1.3
},
{
"id": "802936ed-7ea7-4bbb-86e9-008cb1efe917",
"name": "Renewable Forecasting Agent",
"type": "@n8n/n8n-nodes-langchain.agentTool",
"position": [
1056,
720
],
"parameters": {
"text": "={{ $fromAI('forecasting_task', 'The forecasting analysis task to perform') }}",
"options": {
"systemMessage": "You are the Renewable Energy Forecasting Agent. Analyze energy demand trends, weather patterns (solar radiation, wind speed), and current renewable generation capacity to predict future renewable energy availability. Calculate renewable vs non-renewable percentages, identify peak demand periods, and recommend optimal energy allocation strategies to maximize renewable usage."
},
"toolDescription": "Analyzes energy demand patterns, weather conditions, and renewable generation capacity to forecast renewable energy availability and predict optimal allocation strategies"
},
"typeVersion": 3
},
{
"id": "3f8bc7ec-2e47-49ed-9c28-19e095a4d0ed",
"name": "Forecasting Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
1136,
928
],
"parameters": {
"model": {
"__rl": true,
"mode": "id",
"value": "gpt-4o"
},
"options": {
"temperature": 0.2
},
"builtInTools": {}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.3
},
{
"id": "ede50230-9b8c-43e3-85ee-51f2b52e2f9b",
"name": "Weather Analysis Agent",
"type": "@n8n/n8n-nodes-langchain.agentTool",
"position": [
1344,
720
],
"parameters": {
"text": "={{ $fromAI('weather_task', 'The weather analysis task to perform') }}",
"options": {
"systemMessage": "You are the Weather Analysis Agent. Analyze current and forecasted weather conditions (solar radiation, wind speed, cloud cover, temperature, precipitation) to assess their impact on renewable energy generation. Predict solar panel efficiency, wind turbine output, and identify optimal weather windows for maximum renewable generation."
},
"toolDescription": "Analyzes weather patterns including solar radiation, wind speed, cloud cover, and temperature to assess impact on renewable energy generation potential"
},
"typeVersion": 3
},
{
"id": "423f6c8a-7375-4e85-a519-099468cffd35",
"name": "Weather Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
1424,
928
],
"parameters": {
"model": {
"__rl": true,
"mode": "id",
"value": "gpt-4o"
},
"options": {
"temperature": 0.2
},
"builtInTools": {}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.3
},
{
"id": "847bf588-0296-42e7-87dc-384424ae3e4d",
"name": "Policy Compliance Agent",
"type": "@n8n/n8n-nodes-langchain.agentTool",
"position": [
1632,
720
],
"parameters": {
"text": "={{ $fromAI('compliance_task', 'The policy compliance task to perform') }}",
"options": {
"systemMessage": "You are the Policy Compliance Agent. Evaluate current energy allocation and renewable usage against sustainability policies, environmental regulations, carbon emission targets, and renewable energy mandates. Identify compliance violations, calculate carbon footprint, assess policy adherence, and recommend corrective actions to meet sustainability goals."
},
"toolDescription": "Evaluates energy usage against sustainability policies, regulatory requirements, and environmental standards to ensure compliance and identify violations"
},
"typeVersion": 3
},
{
"id": "f8a74528-5082-43c5-a831-a8292268e336",
"name": "Policy Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
1712,
928
],
"parameters": {
"model": {
"__rl": true,
"mode": "id",
"value": "gpt-4o"
},
"options": {
"temperature": 0.2
},
"builtInTools": {}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.3
},
{
"id": "8a5335ce-0077-4231-93ec-6395c7d57a61",
"name": "Energy Calculator",
"type": "@n8n/n8n-nodes-langchain.toolCalculator",
"position": [
1920,
720
],
"parameters": {},
"typeVersion": 1
},
{
"id": "38408357-003d-469c-ae9f-3b63bfe613ed",
"name": "Optimization Algorithm Tool",
"type": "@n8n/n8n-nodes-langchain.toolCode",
"position": [
2048,
720
],
"parameters": {
"jsCode": "// Energy optimization algorithm\nconst demand = $fromAI('demand', 'Energy demand in kWh', 'number');\nconst renewable = $fromAI('renewable', 'Available renewable energy in kWh', 'number');\nconst efficiency = Math.min(renewable / demand * 100, 100);\nreturn { efficiency, surplus: Math.max(renewable - demand, 0) };",
"description": "Executes complex energy optimization algorithms and statistical forecasting models"
},
"typeVersion": 1.3
},
{
"id": "82d2c6d0-8003-4fff-9e17-a9f68c3040f9",
"name": "External Data API Tool",
"type": "n8n-nodes-base.httpRequestTool",
"position": [
2176,
720
],
"parameters": {
"url": "={{ $fromAI('url', 'API endpoint URL', 'string') }}",
"method": "={{ $fromAI('method', 'HTTP method (GET, POST, etc.)', 'string', 'GET') }}",
"options": {},
"toolDescription": "Fetches additional energy grid data, IoT sensor readings, or external sustainability metrics when needed"
},
"typeVersion": 4.4
},
{
"id": "9d3080ac-8a34-4a42-b563-c0346d09968c",
"name": "Sustainability Research Tool",
"type": "n8n-nodes-base.perplexityTool",
"position": [
2304,
720
],
"parameters": {
"options": {},
"messages": {
"message": [
{
"content": "={{ $fromAI('sustainability_research', 'Research query about renewable energy policies, sustainability regulations, or industry best practices') }}"
}
]
},
"requestOptions": {},
"descriptionType": "manual",
"toolDescription": "Researches latest renewable energy policies, sustainability regulations, and industry best practices"
},
"credentials": {
"perplexityApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "6ab3a126-37a0-4ae3-9c8e-cd8d639e4ef4",
"name": "Store Energy KPIs",
"type": "n8n-nodes-base.googleSheets",
"position": [
2864,
688
],
"parameters": {
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": ""
},
"documentId": {
"__rl": true,
"mode": "list",
"value": ""
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 4.7
},
{
"id": "5bf20b2b-b500-4912-923b-c08ea0b676f6",
"name": "Send Sustainability Alert",
"type": "n8n-nodes-base.slack",
"position": [
2640,
304
],
"parameters": {
"text": "=\ud83c\udf31 *Sustainability Alert*\n\n*Renewable Energy:* {{ $json.output.renewablePercentage }}%\n*Energy Efficiency Score:* {{ $json.output.energyEfficiencyScore }}/100\n*Carbon Footprint:* {{ $json.output.carbonFootprintKg }} kg CO\u2082\n*Compliance Status:* {{ $json.output.policyComplianceStatus }}\n\n*Recommendations:*\n{{ $json.output.recommendations.join('\\n\u2022 ') }}\n\n*Alerts:*\n{{ $json.output.alerts.join('\\n\u26a0\ufe0f ') }}",
"select": "channel",
"channelId": {
"__rl": true,
"mode": "list",
"value": "<__PLACEHOLDER_VALUE__sustainability_channel__>"
},
"otherOptions": {},
"authentication": "oAuth2"
},
"credentials": {
"slackOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 2.4
},
{
"id": "02b99fec-bde8-47ae-8e52-07fc4e9e5b3a",
"name": "Email Performance Dashboard",
"type": "n8n-nodes-base.gmail",
"position": [
2640,
496
],
"parameters": {
"sendTo": "<__PLACEHOLDER_VALUE__sustainability_team_email__>",
"message": "=<h2>\ud83c\udf0d Environmental Performance Dashboard</h2>\n\n<h3>Energy Metrics</h3>\n<ul>\n<li><strong>Renewable Energy Usage:</strong> {{ $('Energy Governance Agent').item.json.output.renewablePercentage }}%</li>\n<li><strong>Non-Renewable Usage:</strong> {{ $('Energy Governance Agent').item.json.output.nonRenewablePercentage }}%</li>\n<li><strong>Energy Efficiency Score:</strong> {{ $('Energy Governance Agent').item.json.output.energyEfficiencyScore }}/100</li>\n<li><strong>Carbon Footprint:</strong> {{ $('Energy Governance Agent').item.json.output.carbonFootprintKg }} kg CO\u2082</li>\n</ul>\n\n<h3>Forecasting</h3>\n<ul>\n<li><strong>Forecasted Demand:</strong> {{ $('Energy Governance Agent').item.json.output.forecastedDemandKwh }} kWh</li>\n<li><strong>Available Renewable:</strong> {{ $('Energy Governance Agent').item.json.output.availableRenewableKwh }} kWh</li>\n</ul>\n\n<h3>Policy Compliance</h3>\n<p><strong>Status:</strong> {{ $('Energy Governance Agent').item.json.output.policyComplianceStatus }}</p>\n\n<h3>Optimization Opportunities</h3>\n<ul>\n{{ $('Energy Governance Agent').item.json.output.optimizationOpportunities.map(o => '<li>' + o + '</li>').join('') }}\n</ul>\n\n<h3>Strategic Recommendations</h3>\n<ul>\n{{ $('Energy Governance Agent').item.json.output.recommendations.map(r => '<li>' + r + '</li>').join('') }}\n</ul>",
"options": {
"appendAttribution": false
},
"subject": "=Environmental Performance Dashboard - {{ $now.format('yyyy-MM-dd') }}"
},
"credentials": {
"gmailOAuth2": {
"name": "<your credential>"
}
},
"typeVersion": 2.2
},
{
"id": "bfcd2f86-5138-4e7f-ab96-8c9257cfc7a5",
"name": "Prepare Sheet Data",
"type": "n8n-nodes-base.set",
"position": [
2640,
688
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "id-1",
"name": "timestamp",
"type": "string",
"value": "={{ $now.toISO() }}"
},
{
"id": "id-2",
"name": "renewablePercentage",
"type": "number",
"value": "={{ $json.output.renewablePercentage }}"
},
{
"id": "id-3",
"name": "nonRenewablePercentage",
"type": "number",
"value": "={{ $json.output.nonRenewablePercentage }}"
},
{
"id": "id-4",
"name": "energyEfficiencyScore",
"type": "number",
"value": "={{ $json.output.energyEfficiencyScore }}"
},
{
"id": "id-5",
"name": "carbonFootprintKg",
"type": "number",
"value": "={{ $json.output.carbonFootprintKg }}"
},
{
"id": "id-6",
"name": "policyComplianceStatus",
"type": "string",
"value": "={{ $json.output.policyComplianceStatus }}"
},
{
"id": "id-7",
"name": "forecastedDemandKwh",
"type": "number",
"value": "={{ $json.output.forecastedDemandKwh }}"
},
{
"id": "id-8",
"name": "availableRenewableKwh",
"type": "number",
"value": "={{ $json.output.availableRenewableKwh }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "7e5c76e5-4f0c-4e30-9020-2eb81319d97a",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
896,
-48
],
"parameters": {
"width": 544,
"height": 224,
"content": "## Setup Steps\n1. Import workflow; configure the Energy Analysis Schedule trigger interval.\n2. Set API endpoint URLs for Fetch Weather Data, Fetch Energy Demand, and Fetch Renewable Generation nodes.\n3. Add AI model credentials to the Agents.\n4. Connect Slack credentials to the Send Sustainability Alert node.\n5. Link Gmail credentials to the Email Performance Dashboard node.\n6. Link Google Sheets credentials; set the sheet ID for the Energy KPIs tab."
},
"typeVersion": 1
},
{
"id": "ed5d9ac9-4772-4ea2-acc1-83df6b5b3dc6",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
208,
-176
],
"parameters": {
"width": 656,
"height": 336,
"content": "## How It Works\nThis workflow automates energy portfolio governance for energy managers, sustainability teams, and policy compliance officers. It eliminates the manual effort of aggregating multi-source energy data, applying forecasting and optimisation logic, and distributing performance outcomes to stakeholders. Three scheduled API feeds, weather data, energy demand, and renewable generation, are combined into a unified dataset. The Energy Governance Agent, backed by shared memory and a governance model, coordinates three specialist agents: a Renewable Forecasting Agent (predictive generation modelling), a Weather Analysis Agent (climate-adjusted demand assessment), and a Policy Compliance Agent (regulatory alignment checking). Five tools support the orchestration: an Energy Calculator, Optimisation Algorithm Tool, External Data API Tool, Sustainability Research Tool, and Structured KPI Output parser. Results are distributed across three outputs, a Slack sustainability alert, a Gmail performance dashboard email, and a Google Sheets KPI store, giving stakeholders immediate, channel-appropriate visibility into energy governance outcomes."
},
"typeVersion": 1
},
{
"id": "13cc82b0-eab4-4d0e-ba3c-9ca0eac32f81",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
1488,
-240
],
"parameters": {
"color": 6,
"width": 624,
"height": 416,
"content": "## Prerequisites\n- OpenAI API key (or compatible LLM)\n- Slack workspace with bot credentials\n- Gmail account with OAuth credentials\n- Google Sheets with Energy KPIs tab pre-created\n## Use Cases\n- Energy managers automating renewable generation forecasting against real-time demand data\n## Customisation\n- Swap the Optimisation Algorithm Tool parameters to target carbon intensity, cost, or grid stability objectives\n## Benefits\n- Parallel triple-source ingestion ensures governance decisions are based on complete, synchronised energy data"
},
"typeVersion": 1
},
{
"id": "0a084172-9c7b-4f1f-a679-46c3371ebd7f",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
2576,
128
],
"parameters": {
"color": 7,
"width": 480,
"height": 976,
"content": "## Send Sustainability Alert, Email Dashboard & Store Energy KPIs\n**Why** \u2014 Distributes governance outcomes via Slack alerts, Gmail dashboards, and Google Sheets KPI logs to keep all stakeholders informed without manual reporting."
},
"typeVersion": 1
},
{
"id": "8998bbf3-4f53-4d1c-a58e-7c469c89c733",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
1328,
240
],
"parameters": {
"color": 7,
"width": 1216,
"height": 864,
"content": "\n## Energy Calculator, Optimisation & External Data Tools\n**Why** \u2014 Applies quantitative calculation, algorithmic optimisation, and live external data enrichment to produce governance-grade energy recommendations."
},
"typeVersion": 1
},
{
"id": "2570a8a9-4e1f-445e-a277-80d70530b1a3",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
240,
208
],
"parameters": {
"color": 7,
"width": 1056,
"height": 896,
"content": "## Energy Governance Agent & Specialist Agents\n**Why** \u2014 Coordinates Renewable Forecasting, Weather Analysis, and Policy Compliance agents using shared memory, enabling context-aware optimisation across all energy dimensions simultaneously."
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"binaryMode": "separate",
"executionOrder": "v1"
},
"versionId": "eb00c5db-f2e0-47cf-ab7e-185c105c7004",
"connections": {
"Policy Model": {
"ai_languageModel": [
[
{
"node": "Policy Compliance Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Weather Model": {
"ai_languageModel": [
[
{
"node": "Weather Analysis Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Governance Model": {
"ai_languageModel": [
[
{
"node": "Energy Governance Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Energy Calculator": {
"ai_tool": [
[
{
"node": "Energy Governance Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Forecasting Model": {
"ai_languageModel": [
[
{
"node": "Renewable Forecasting Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Fetch Weather Data": {
"main": [
[
{
"node": "Combine Energy Data",
"type": "main",
"index": 0
}
]
]
},
"Prepare Sheet Data": {
"main": [
[
{
"node": "Store Energy KPIs",
"type": "main",
"index": 0
}
]
]
},
"Combine Energy Data": {
"main": [
[
{
"node": "Energy Governance Agent",
"type": "main",
"index": 0
}
]
]
},
"Fetch Energy Demand": {
"main": [
[
{
"node": "Combine Energy Data",
"type": "main",
"index": 1
}
]
]
},
"Structured KPI Output": {
"ai_outputParser": [
[
{
"node": "Energy Governance Agent",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"External Data API Tool": {
"ai_tool": [
[
{
"node": "Energy Governance Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Weather Analysis Agent": {
"ai_tool": [
[
{
"node": "Energy Governance Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Energy Governance Agent": {
"main": [
[
{
"node": "Prepare Sheet Data",
"type": "main",
"index": 0
},
{
"node": "Send Sustainability Alert",
"type": "main",
"index": 0
},
{
"node": "Email Performance Dashboard",
"type": "main",
"index": 0
}
]
]
},
"Policy Compliance Agent": {
"ai_tool": [
[
{
"node": "Energy Governance Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Energy Analysis Schedule": {
"main": [
[
{
"node": "Fetch Weather Data",
"type": "main",
"index": 0
},
{
"node": "Fetch Energy Demand",
"type": "main",
"index": 0
},
{
"node": "Fetch Renewable Generation",
"type": "main",
"index": 0
}
]
]
},
"Fetch Renewable Generation": {
"main": [
[
{
"node": "Combine Energy Data",
"type": "main",
"index": 2
}
]
]
},
"Optimization Algorithm Tool": {
"ai_tool": [
[
{
"node": "Energy Governance Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Renewable Forecasting Agent": {
"ai_tool": [
[
{
"node": "Energy Governance Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Sustainability Research Tool": {
"ai_tool": [
[
{
"node": "Energy Governance Agent",
"type": "ai_tool",
"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.
gmailOAuth2googleSheetsOAuth2ApiopenAiApiperplexityApislackOAuth2Api
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This workflow automates energy portfolio governance for energy managers, sustainability teams, and policy compliance officers. It eliminates the manual effort of aggregating multi-source energy data, applying forecasting and optimisation logic, and distributing performance…
Source: https://n8n.io/workflows/14438/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
This n8n automation workflow automates the creation, scripting, production, and posting of YouTube videos. It leverages AI (OpenAI), image generation (PIAPI), video rendering (Shotstack), and platform
Created by: Peyton Leveillee Last updated: October 2025
SEO Blog Article Generation Workflow. Uses outputParserStructured, httpRequest, agent, lmChatOpenAi. Scheduled trigger; 56 nodes.
This workflow was born out of a very real problem.
This workflow automates comprehensive real estate investment analysis by orchestrating specialized AI agents to evaluate property data, market trends, and financial metrics. Designed for real estate i