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 →
{
"updatedAt": "2026-06-15T19:08:05.364Z",
"createdAt": "2026-06-15T19:08:05.364Z",
"id": "soJEzCCnnwwSCGs7",
"name": "NOVA Daily Health Check",
"description": null,
"active": true,
"isArchived": false,
"nodes": [
{
"id": "hc-trigger",
"name": "Daily 9am NZT",
"type": "n8n-nodes-base.scheduleTrigger",
"typeVersion": 1.2,
"position": [
250,
300
],
"parameters": {
"rule": {
"interval": [
{
"field": "cronExpression",
"expression": "0 21 * * *"
}
]
}
}
},
{
"id": "hc-http",
"name": "GET NOVA Health",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
450,
300
],
"parameters": {
"method": "GET",
"url": "http://localhost:10000/api/health",
"options": {}
}
},
{
"id": "hc-if",
"name": "Health OK?",
"type": "n8n-nodes-base.if",
"typeVersion": 2,
"position": [
650,
300
],
"parameters": {
"conditions": {
"options": {
"caseSensitive": true,
"leftValue": "",
"typeValidation": "strict"
},
"conditions": [
{
"id": "c1",
"leftValue": "={{ $json.ok }}",
"rightValue": true,
"operator": {
"type": "boolean",
"operation": "equals"
}
}
],
"combinator": "and"
},
"options": {}
}
},
{
"id": "hc-alert",
"name": "Write Alert",
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
850,
420
],
"parameters": {
"jsCode": "\nconst fs = require('fs');\nconst health = $input.first().json;\nconst now = new Date().toISOString();\nconst line = '[' + now + '] ALERT: NOVA health FAILED ollamaUp=' + health.ollamaUp +\n ' modelLoaded=' + health.modelLoaded + ' breakerOpen=' + health.breakerOpen + '\\n';\nconst dir = '/home/ubuntu/logs';\nfs.mkdirSync(dir, { recursive: true });\nfs.appendFileSync(dir + '/health_alerts.txt', line);\nreturn [{ json: { alerted: true, ts: now } }];\n"
}
}
],
"connections": {
"Daily 9am NZT": {
"main": [
[
{
"node": "GET NOVA Health",
"type": "main",
"index": 0
}
]
]
},
"GET NOVA Health": {
"main": [
[
{
"node": "Health OK?",
"type": "main",
"index": 0
}
]
]
},
"Health OK?": {
"main": [
[],
[
{
"node": "Write Alert",
"type": "main",
"index": 0
}
]
]
}
},
"settings": {
"executionOrder": "v1",
"callerPolicy": "workflowsFromSameOwner",
"availableInMCP": false
},
"staticData": {
"node:Daily 9am NZT": {
"recurrenceRules": []
}
},
"meta": null,
"versionId": "9efc56ef-3acf-4234-8d80-c8f2bb214753",
"activeVersionId": "9efc56ef-3acf-4234-8d80-c8f2bb214753",
"versionCounter": 4,
"triggerCount": 1,
"shared": [
{
"updatedAt": "2026-06-15T19:08:05.370Z",
"createdAt": "2026-06-15T19:08:05.370Z",
"role": "workflow:owner",
"workflowId": "soJEzCCnnwwSCGs7",
"projectId": "Ulewkx0XO8WcUsFp",
"project": {
"updatedAt": "2026-06-15T19:01:42.398Z",
"createdAt": "2026-06-15T18:58:16.188Z",
"id": "Ulewkx0XO8WcUsFp",
"name": "Emanuel Figueroa <emanuel.figueroa.alejandro@gmail.com>",
"type": "personal",
"icon": null,
"description": null,
"creatorId": "290a5642-4625-4650-be11-878711ddb8c1"
}
}
],
"tags": [],
"activeVersion": {
"updatedAt": "2026-06-15T19:08:05.382Z",
"createdAt": "2026-06-15T19:08:05.382Z",
"versionId": "9efc56ef-3acf-4234-8d80-c8f2bb214753",
"workflowId": "soJEzCCnnwwSCGs7",
"nodes": [
{
"id": "hc-trigger",
"name": "Daily 9am NZT",
"type": "n8n-nodes-base.scheduleTrigger",
"typeVersion": 1.2,
"position": [
250,
300
],
"parameters": {
"rule": {
"interval": [
{
"field": "cronExpression",
"expression": "0 21 * * *"
}
]
}
}
},
{
"id": "hc-http",
"name": "GET NOVA Health",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
450,
300
],
"parameters": {
"method": "GET",
"url": "http://localhost:10000/api/health",
"options": {}
}
},
{
"id": "hc-if",
"name": "Health OK?",
"type": "n8n-nodes-base.if",
"typeVersion": 2,
"position": [
650,
300
],
"parameters": {
"conditions": {
"options": {
"caseSensitive": true,
"leftValue": "",
"typeValidation": "strict"
},
"conditions": [
{
"id": "c1",
"leftValue": "={{ $json.ok }}",
"rightValue": true,
"operator": {
"type": "boolean",
"operation": "equals"
}
}
],
"combinator": "and"
},
"options": {}
}
},
{
"id": "hc-alert",
"name": "Write Alert",
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
850,
420
],
"parameters": {
"jsCode": "\nconst fs = require('fs');\nconst health = $input.first().json;\nconst now = new Date().toISOString();\nconst line = '[' + now + '] ALERT: NOVA health FAILED ollamaUp=' + health.ollamaUp +\n ' modelLoaded=' + health.modelLoaded + ' breakerOpen=' + health.breakerOpen + '\\n';\nconst dir = '/home/ubuntu/logs';\nfs.mkdirSync(dir, { recursive: true });\nfs.appendFileSync(dir + '/health_alerts.txt', line);\nreturn [{ json: { alerted: true, ts: now } }];\n"
}
}
],
"connections": {
"Daily 9am NZT": {
"main": [
[
{
"node": "GET NOVA Health",
"type": "main",
"index": 0
}
]
]
},
"GET NOVA Health": {
"main": [
[
{
"node": "Health OK?",
"type": "main",
"index": 0
}
]
]
},
"Health OK?": {
"main": [
[],
[
{
"node": "Write Alert",
"type": "main",
"index": 0
}
]
]
}
},
"authors": "Emanuel Figueroa",
"name": null,
"description": null,
"autosaved": false,
"workflowPublishHistory": [
{
"createdAt": "2026-06-15T19:08:28.931Z",
"id": 3,
"workflowId": "soJEzCCnnwwSCGs7",
"versionId": "9efc56ef-3acf-4234-8d80-c8f2bb214753",
"event": "activated",
"userId": "290a5642-4625-4650-be11-878711ddb8c1"
}
]
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
NOVA Daily Health Check. Uses httpRequest. Scheduled trigger; 4 nodes.
Source: https://github.com/Emmroa/matauranga-nova8/blob/51f5414e7e7af2323e57d92c7fe60b9d76ca9506/n8n/nova_daily_health_check.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.
Birthday Automation - Production (Fixed). Uses stopAndError, httpRequest, emailSend, bannerbear. Scheduled trigger; 86 nodes.
This template runs two scheduled workflows to govern Microsoft Entra ID (Azure AD) guest accounts by detecting stale users via Microsoft Graph, staging deletions in SharePoint with a 72-hour window, n
Jira-Allure-Auto-Qa. Uses httpRequest, jira. Scheduled trigger; 68 nodes.
Spotify-Sync-Surrealdb-V1. Uses httpRequest, n8n-nodes-surrealdb, spotify. Scheduled trigger; 62 nodes.
As n8n instances scale, teams often lose track of sub-workflows—who uses them, where they are referenced, and whether they can be safely updated. This leads to inefficiencies like unnecessary copies o