This workflow corresponds to n8n.io template #50_551_JARVIS_CALLBACK — we link there as the canonical source.
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": "50_551_JARVIS_CALLBACK",
"nodes": [
{
"id": "551-webhook-callback",
"name": "Webhook: Jarvis Callback",
"type": "n8n-nodes-base.webhook",
"typeVersion": 1,
"position": [
240,
300
],
"parameters": {
"httpMethod": "GET",
"path": "jarvis-callback",
"responseMode": "lastNode",
"options": {}
}
},
{
"id": "551-switch-action",
"name": "Switch: approve / reject",
"type": "n8n-nodes-base.switch",
"typeVersion": 3.2,
"position": [
460,
300
],
"parameters": {
"rules": {
"rules": [
{
"outputKey": "approve",
"conditions": {
"options": {
"caseSensitive": false
},
"conditions": [
{
"leftValue": "={{ $json.query.action }}",
"rightValue": "approve",
"operator": {
"type": "string",
"operation": "equals"
}
}
]
}
},
{
"outputKey": "reject",
"conditions": {
"options": {
"caseSensitive": false
},
"conditions": [
{
"leftValue": "={{ $json.query.action }}",
"rightValue": "reject",
"operator": {
"type": "string",
"operation": "equals"
}
}
]
}
}
]
},
"options": {}
}
},
{
"id": "551-approve-status",
"name": "Nexus: Status \u2192 approved",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
700,
180
],
"parameters": {
"method": "PATCH",
"url": "=https://api.automation-plus-ki.de/api/jarvis/tasks/{{ $json.query.task_id }}/status",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"sendBody": true,
"bodyParameters": {
"parameters": [
{
"name": "status",
"value": "approved"
}
]
},
"options": {}
},
"credentials": {
"httpHeaderAuth": {
"name": "<your credential>"
}
}
},
{
"id": "551-execute",
"name": "Nexus: Execute Task",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
920,
180
],
"parameters": {
"method": "POST",
"url": "=https://api.automation-plus-ki.de/api/jarvis/execute/{{ $('Webhook: Jarvis Callback').item.json.query.task_id }}",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"options": {
"timeout": 60000
}
},
"credentials": {
"httpHeaderAuth": {
"name": "<your credential>"
}
}
},
{
"id": "551-tg-approve",
"name": "Telegram: Ausgef\u00fchrt",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
1140,
180
],
"parameters": {
"method": "POST",
"url": "=https://api.telegram.org/bot{{ $env.TELEGRAM_BOT_TOKEN }}/sendMessage",
"sendBody": true,
"bodyParameters": {
"parameters": [
{
"name": "chat_id",
"value": "={{ $env.TELEGRAM_ALLOWED_USER_ID }}"
},
{
"name": "text",
"value": "=\u2705 *Ausgef\u00fchrt* \u2014 Task #{{ $('Webhook: Jarvis Callback').item.json.query.task_id }}\n\nErgebnis: {{ JSON.stringify($json.result || {}).substring(0, 300) }}"
},
{
"name": "parse_mode",
"value": "Markdown"
}
]
},
"options": {}
}
},
{
"id": "551-reject-status",
"name": "Nexus: Status \u2192 aborted",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
700,
420
],
"parameters": {
"method": "PATCH",
"url": "=https://api.automation-plus-ki.de/api/jarvis/tasks/{{ $json.query.task_id }}/status",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"sendBody": true,
"bodyParameters": {
"parameters": [
{
"name": "status",
"value": "aborted"
}
]
},
"options": {}
},
"credentials": {
"httpHeaderAuth": {
"name": "<your credential>"
}
}
},
{
"id": "551-tg-reject",
"name": "Telegram: Abgebrochen",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
920,
420
],
"parameters": {
"method": "POST",
"url": "=https://api.telegram.org/bot{{ $env.TELEGRAM_BOT_TOKEN }}/sendMessage",
"sendBody": true,
"bodyParameters": {
"parameters": [
{
"name": "chat_id",
"value": "={{ $env.TELEGRAM_ALLOWED_USER_ID }}"
},
{
"name": "text",
"value": "=\u274c *Abgebrochen* \u2014 Task #{{ $('Webhook: Jarvis Callback').item.json.query.task_id }}"
},
{
"name": "parse_mode",
"value": "Markdown"
}
]
},
"options": {}
}
},
{
"id": "551-respond",
"name": "Respond: Best\u00e4tigung",
"type": "n8n-nodes-base.respondToWebhook",
"typeVersion": 1,
"position": [
1360,
300
],
"parameters": {
"respondWith": "text",
"responseBody": "\u2705 Aktion registriert. Du kannst dieses Fenster schlie\u00dfen."
}
}
],
"connections": {
"Webhook: Jarvis Callback": {
"main": [
[
{
"node": "Switch: approve / reject",
"type": "main",
"index": 0
}
]
]
},
"Switch: approve / reject": {
"main": [
[
{
"node": "Nexus: Status \u2192 approved",
"type": "main",
"index": 0
}
],
[
{
"node": "Nexus: Status \u2192 aborted",
"type": "main",
"index": 0
}
]
]
},
"Nexus: Status \u2192 approved": {
"main": [
[
{
"node": "Nexus: Execute Task",
"type": "main",
"index": 0
}
]
]
},
"Nexus: Execute Task": {
"main": [
[
{
"node": "Telegram: Ausgef\u00fchrt",
"type": "main",
"index": 0
}
]
]
},
"Telegram: Ausgef\u00fchrt": {
"main": [
[
{
"node": "Respond: Best\u00e4tigung",
"type": "main",
"index": 0
}
]
]
},
"Nexus: Status \u2192 aborted": {
"main": [
[
{
"node": "Telegram: Abgebrochen",
"type": "main",
"index": 0
}
]
]
},
"Telegram: Abgebrochen": {
"main": [
[
{
"node": "Respond: Best\u00e4tigung",
"type": "main",
"index": 0
}
]
]
}
},
"settings": {
"executionOrder": "v1",
"saveDataSuccessExecution": "all",
"saveDataErrorExecution": "all",
"saveManualExecutions": true
},
"tags": [
{
"name": "HUMAN"
},
{
"name": "jarvis"
}
],
"meta": {
"templateId": "50_551_JARVIS_CALLBACK",
"description": "Jarvis HITL \u2014 Telegram Button Callback \u2192 approve/reject \u2192 Nexus Execute"
}
}
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.
httpHeaderAuth
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
50_551_JARVIS_CALLBACK. Uses httpRequest. Webhook trigger; 8 nodes.
Source: https://github.com/timo-goetz-ai/apki-core-platform/blob/main/automations/n8n-workflows/telegram/50_551_JARVIS_CALLBACK.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.
This n8n template provides enterprise-level version control for your workflows using GitHub integration. Stop losing hours to broken workflows and manual exports – get proper commit history, visual di
This flow creates dummy files for every item added in your *Arrs (Radarr/Sonarr) with the tag .
eek-Go v2 (Batch-Then-Review). Uses httpRequest. Webhook trigger; 75 nodes.
This workflow receives webhook requests from a content calendar and uses the X API v2 to publish text posts, threads, image/video posts, and polls, as well as delete existing posts and run a credentia
This workflow acts as a central API gateway for all technical indicator agents in the Binance Spot Market Quant AI system. It listens for incoming webhook requests and dynamically routes them to the c