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 →
{
"name": "Operations KPI Refresh Demo",
"nodes": [
{
"parameters": {
"rule": {
"interval": [
{
"field": "days",
"daysInterval": 1,
"triggerAtHour": 6,
"triggerAtMinute": 0
}
]
}
},
"id": "schedule-trigger",
"name": "Daily 06:00",
"type": "n8n-nodes-base.scheduleTrigger",
"typeVersion": 1.2,
"position": [
260,
300
]
},
{
"parameters": {
"method": "POST",
"url": "https://operations-kpi-automation-demo.vercel.app/api/refresh",
"options": {}
},
"id": "refresh-api",
"name": "Refresh KPI API",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
500,
300
],
"onError": "continueErrorOutput"
},
{
"parameters": {
"conditions": {
"options": {
"caseSensitive": true,
"leftValue": "",
"typeValidation": "strict"
},
"conditions": [
{
"leftValue": "={{ $json.status }}",
"rightValue": "completed",
"operator": {
"type": "string",
"operation": "equals"
}
}
],
"combinator": "and"
}
},
"id": "check-status",
"name": "Refresh Successful?",
"type": "n8n-nodes-base.if",
"typeVersion": 2.2,
"position": [
740,
300
]
},
{
"parameters": {
"assignments": {
"assignments": [
{
"name": "message",
"value": "=KPI refresh {{ $json.run_id }} completed. Orders: {{ $json.result.summary.orders }}, on-time: {{ $json.result.summary.on_time_rate }}%.",
"type": "string"
}
]
},
"options": {}
},
"id": "prepare-message",
"name": "Prepare Status Message",
"type": "n8n-nodes-base.set",
"typeVersion": 3.4,
"position": [
980,
220
]
},
{
"parameters": {
"assignments": {
"assignments": [
{
"name": "message",
"value": "=KPI refresh failed. Reason: {{ $json.error?.message || 'unexpected status: ' + ($json.status || 'no valid response') }}. Please check the API health endpoint.",
"type": "string"
}
]
},
"options": {}
},
"id": "prepare-error-message",
"name": "Prepare Error Message",
"type": "n8n-nodes-base.set",
"typeVersion": 3.4,
"position": [
980,
380
]
}
],
"connections": {
"Daily 06:00": {
"main": [
[
{
"node": "Refresh KPI API",
"type": "main",
"index": 0
}
]
]
},
"Refresh KPI API": {
"main": [
[
{
"node": "Refresh Successful?",
"type": "main",
"index": 0
}
],
[
{
"node": "Prepare Error Message",
"type": "main",
"index": 0
}
]
]
},
"Refresh Successful?": {
"main": [
[
{
"node": "Prepare Status Message",
"type": "main",
"index": 0
}
],
[
{
"node": "Prepare Error Message",
"type": "main",
"index": 0
}
]
]
}
},
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "7d9c77d0-8fa7-4d83-a2ca-5fb1d09eca5f"
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Operations KPI Refresh Demo. Uses httpRequest. Scheduled trigger; 5 nodes.
Source: https://github.com/leonwwest/operations-kpi-automation-demo/blob/main/workflows/n8n-kpi-refresh.json — 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.
Absen Otomatis. Uses ssh, httpRequest. Scheduled trigger; 11 nodes.
ELYVN Deploy Verifier. Uses httpRequest. Scheduled trigger; 6 nodes.
03 · Auditoria Diária — Carlos. Uses httpRequest. Scheduled trigger; 6 nodes.
Fechamento Mensal - Automação. Uses httpRequest, emailSend. Scheduled trigger; 6 nodes.