176 lines
6.2 KiB
JSON
176 lines
6.2 KiB
JSON
{
|
|
"name": "Telegram Assistant - Router",
|
|
"nodes": [
|
|
{
|
|
"parameters": {
|
|
"httpMethod": "POST",
|
|
"path": "79209f6f-28f3-4782-8366-2517e47adc0e",
|
|
"responseMode": "responseNode",
|
|
"options": {}
|
|
},
|
|
"id": "webhook-router-1",
|
|
"name": "Webhook",
|
|
"type": "n8n-nodes-base.webhook",
|
|
"typeVersion": 1,
|
|
"position": [240, 300],
|
|
"webhookId": "79209f6f-28f3-4782-8366-2517e47adc0e"
|
|
},
|
|
{
|
|
"parameters": {
|
|
"mode": "rules",
|
|
"rules": {
|
|
"rules": [
|
|
{
|
|
"operation": "equal",
|
|
"value1": "={{ $json.command }}",
|
|
"value2": "/start"
|
|
},
|
|
{
|
|
"operation": "equal",
|
|
"value1": "={{ $json.command }}",
|
|
"value2": "/help"
|
|
},
|
|
{
|
|
"operation": "equal",
|
|
"value1": "={{ $json.command }}",
|
|
"value2": "/deck"
|
|
},
|
|
{
|
|
"operation": "equal",
|
|
"value1": "={{ $json.command }}",
|
|
"value2": "/email"
|
|
},
|
|
{
|
|
"operation": "equal",
|
|
"value1": "={{ $json.command }}",
|
|
"value2": "/ask"
|
|
}
|
|
]
|
|
},
|
|
"fallbackOutput": "extra"
|
|
},
|
|
"id": "switch-command-1",
|
|
"name": "Route Command",
|
|
"type": "n8n-nodes-base.switch",
|
|
"typeVersion": 1,
|
|
"position": [460, 300]
|
|
},
|
|
{
|
|
"parameters": {
|
|
"respondWith": "json",
|
|
"responseBody": "={{ JSON.stringify({chatId: $json.chatId, text: \"👋 Welcome to your Telegram Assistant!\\n\\nI can help you with:\\n\\n📋 /deck - Manage Nextcloud Deck tasks\\n📧 /email - Search your emails\\n💬 /ask - Chat with AI\\n❓ /help - Show this message\\n\\nOr just chat naturally - I understand!\", parseMode: 'Markdown'}) }}"
|
|
},
|
|
"id": "respond-start-1",
|
|
"name": "Respond Start",
|
|
"type": "n8n-nodes-base.respondToWebhook",
|
|
"typeVersion": 1,
|
|
"position": [680, 100]
|
|
},
|
|
{
|
|
"parameters": {
|
|
"respondWith": "json",
|
|
"responseBody": "={{ JSON.stringify({chatId: $json.chatId, text: \"🤖 *Telegram Assistant Help*\\n\\n📋 *Deck:*\\n /deck add <task>\\n Or: 'add a deck called cleaning'\\n\\n📧 *Email:*\\n /email search <query>\\n Or: 'find my train ticket'\\n\\n💬 *AI:*\\n /ask <question>\\n Or: 'what's the weather?'\", parseMode: 'Markdown'}) }}"
|
|
},
|
|
"id": "respond-help-1",
|
|
"name": "Respond Help",
|
|
"type": "n8n-nodes-base.respondToWebhook",
|
|
"typeVersion": 1,
|
|
"position": [680, 200]
|
|
},
|
|
{
|
|
"parameters": {
|
|
"url": "=https://flow.egonetix.de/webhook/c1294640-f15e-411e-b38b-8b69b8419bce",
|
|
"sendBody": true,
|
|
"specifyBody": "json",
|
|
"jsonBody": "={{ JSON.stringify($json) }}",
|
|
"options": {}
|
|
},
|
|
"id": "call-deck-1",
|
|
"name": "Call Deck Workflow",
|
|
"type": "n8n-nodes-base.httpRequest",
|
|
"typeVersion": 4.1,
|
|
"position": [680, 300]
|
|
},
|
|
{
|
|
"parameters": {
|
|
"url": "=https://flow.egonetix.de/webhook/telegram-email",
|
|
"sendBody": true,
|
|
"specifyBody": "json",
|
|
"jsonBody": "={{ JSON.stringify($json) }}",
|
|
"options": {}
|
|
},
|
|
"id": "call-email-1",
|
|
"name": "Call Email Workflow",
|
|
"type": "n8n-nodes-base.httpRequest",
|
|
"typeVersion": 4.1,
|
|
"position": [680, 400]
|
|
},
|
|
{
|
|
"parameters": {
|
|
"url": "=https://flow.egonetix.de/webhook/4e0e30c5-2360-49e5-a37c-e2558f811341",
|
|
"sendBody": true,
|
|
"specifyBody": "json",
|
|
"jsonBody": "={{ JSON.stringify($json) }}",
|
|
"options": {}
|
|
},
|
|
"id": "call-ai-1",
|
|
"name": "Call AI Workflow",
|
|
"type": "n8n-nodes-base.httpRequest",
|
|
"typeVersion": 4.1,
|
|
"position": [680, 500]
|
|
},
|
|
{
|
|
"parameters": {
|
|
"respondWith": "json",
|
|
"responseBody": "={{ JSON.stringify({chatId: $json.chatId, text: \"❌ Unknown command: \" + $json.command + \"\\n\\nType /help to see available commands.\"}) }}"
|
|
},
|
|
"id": "respond-unknown-1",
|
|
"name": "Respond Unknown",
|
|
"type": "n8n-nodes-base.respondToWebhook",
|
|
"typeVersion": 1,
|
|
"position": [680, 600]
|
|
},
|
|
{
|
|
"parameters": {
|
|
"chatId": "={{ $json.chatId }}",
|
|
"text": "={{ $json.text }}",
|
|
"additionalFields": {"parse_mode": "={{ $json.parseMode || 'HTML' }}"}
|
|
},
|
|
"id": "send-telegram-1",
|
|
"name": "Send Telegram Response",
|
|
"type": "n8n-nodes-base.telegram",
|
|
"typeVersion": 1.1,
|
|
"position": [900, 300],
|
|
"credentials": {
|
|
"telegramApi": {
|
|
"id": "6Rim8odDFpQoHxCM",
|
|
"name": "mortimer"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"parameters": {
|
|
"respondWith": "json",
|
|
"responseBody": "={{ JSON.stringify({ success: true }) }}"
|
|
},
|
|
"id": "respond-ok-1",
|
|
"name": "Respond OK",
|
|
"type": "n8n-nodes-base.respondToWebhook",
|
|
"typeVersion": 1,
|
|
"position": [1120, 300]
|
|
}
|
|
],
|
|
"connections": {
|
|
"Webhook": {"main": [[{"node": "Route Command", "type": "main", "index": 0}]]},
|
|
"Route Command": {"main": [[{"node": "Respond Start", "type": "main", "index": 0}], [{"node": "Respond Help", "type": "main", "index": 0}], [{"node": "Call Deck Workflow", "type": "main", "index": 0}], [{"node": "Call Email Workflow", "type": "main", "index": 0}], [{"node": "Call AI Workflow", "type": "main", "index": 0}], [{"node": "Respond Unknown", "type": "main", "index": 0}]]},
|
|
"Respond Start": {"main": [[{"node": "Send Telegram Response", "type": "main", "index": 0}]]},
|
|
"Respond Help": {"main": [[{"node": "Send Telegram Response", "type": "main", "index": 0}]]},
|
|
"Call Deck Workflow": {"main": [[{"node": "Send Telegram Response", "type": "main", "index": 0}]]},
|
|
"Call Email Workflow": {"main": [[{"node": "Send Telegram Response", "type": "main", "index": 0}]]},
|
|
"Call AI Workflow": {"main": [[{"node": "Send Telegram Response", "type": "main", "index": 0}]]},
|
|
"Respond Unknown": {"main": [[{"node": "Send Telegram Response", "type": "main", "index": 0}]]},
|
|
"Send Telegram Response": {"main": [[{"node": "Respond OK", "type": "main", "index": 0}]]}
|
|
},
|
|
"settings": {}
|
|
}
|