Optimize EV charging load control and alerts with HTTP API and email
Ready for 3.0Ready for 3.0. This template uses no nodes that n8n 3.0 removes. No removed nodes, versions or helpers found. Static check, last run 2026-10-19.
What this workflow does
This workflow has 19 nodes and runs on a schedule (every minute). Along the way it connects Slack.
How it runs
Trigger: On a schedule (every minute).
- Config - Thresholds & Site Settings (Edit Fields (Set)): sets 11 fields: siteId, controlApiBaseUrl, metricsLogEndpoint…
- Fetch Live Station Demand & Grid Data (HTTP Request): calls an HTTP API
- JS - Parse & Normalize Station Data (Code): runs custom JavaScript code
- Send Fetch Failure Alert Email (Send Email): sends an email over SMTP
- JS - Calculate Grid Load & Detect Anomalies (Code): runs custom JavaScript code
- JS - Forecast Near-Term Demand (Code): runs custom JavaScript code
- JS - Generate Weighted Charging Schedule (Code): runs custom JavaScript code
- If: checks a condition and branches into true / false
- Wait: pauses before continuing
- Apply Control Commands (Normal Path) (HTTP Request): calls an HTTP API (POST)
…plus 8 more steps. See the full node list below.
Services it uses
Before you upgrade to n8n 3.0
Nothing in this workflow is removed in n8n 3.0, so it should import and run after the upgrade.
Nodes used (8)
- Schedule Trigger
n8n-nodes-base.scheduleTrigger - Edit Fields (Set)
n8n-nodes-base.set - HTTP Request
n8n-nodes-base.httpRequest - Send Email
n8n-nodes-base.emailSend - Code
n8n-nodes-base.code - If
n8n-nodes-base.if - Wait
n8n-nodes-base.wait - Slack
n8n-nodes-base.slack
From the author
Quick overview This workflow polls an EV charging-network API every 5 minutes, calculates site-wide grid load and tariff status, generates per-station charging recommendations, and emails either a standard schedule update or an overload warning with a…