From 276ff0522dd9d4cdaf6f81a598536aee525180fa Mon Sep 17 00:00:00 2001 From: gitea Date: Mon, 1 Jan 2001 00:00:00 +0000 Subject: [PATCH] Update Travel-App (Trigger).json --- Travel-App (Trigger).json | 975 +++++++------------------------------- 1 file changed, 180 insertions(+), 795 deletions(-) diff --git a/Travel-App (Trigger).json b/Travel-App (Trigger).json index ce24fc1..8171fdc 100644 --- a/Travel-App (Trigger).json +++ b/Travel-App (Trigger).json @@ -1,657 +1,114 @@ { - "updatedAt": "2026-08-09T20:46:43.000Z", - "createdAt": "2026-08-09T20:43:23.999Z", - "id": "doN3KThk2oqKsAHn", + "updatedAt": "2026-08-09T21:53:16.652Z", + "createdAt": "2026-08-09T20:47:10.127Z", + "id": "urQHWlEcr6zV4tGc", "name": "Travel-App (Trigger)", "active": false, - "isArchived": true, + "isArchived": false, "nodes": [ { "parameters": { - "method": "POST", - "url": "http://192.168.178.133:3001/searches/add", - "sendBody": true, - "bodyParameters": { - "parameters": [ - { - "name": "chatId", - "value": "={{ $('Telegram Trigger').item.json.message.chat.id }}" - }, - { - "name": "query", - "value": "={{ $('Edit Fields').item.json.positiveKeyword}}" - }, - { - "name": "negativeKeywords", - "value": "={{ $('Edit Fields').item.json.negativeKeywords }}" - } - ] - }, + "promptType": "define", + "text": "=Du bist ein professioneller Hotel-Tester. Analysiere die folgenden Kundenbewertungen für das Hotel \"{{ $json.body.hotelName }}\" und erstelle 3 klare, auf den Punkt gebrachte Zusammenfassungen auf Deutsch in Stichpunkten.\n\nFormatiere deine Antwort AUSSCHLIESSLICH als gültiges JSON-Objekt ohne Markdown-Code-Wrapper (kein ```json).\n\nErwarte folgende Struktur:\n{\n \"summary_positive\": \"- Punkt 1\\n- Punkt 2\",\n \"summary_passable\": \"- Punkt 1\\n- Punkt 2\",\n \"summary_negative\": \"- Punkt 1\\n- Punkt 2\"\n}\n\n1. POSITIV & BESTNOTEN: Die größten Stärken, Lob und Highlights.\n2. PASSABEL & NEUTRAL: Was ist okay oder durchschnittlich?\n3. SCHLECHTESTE & KRITIK: Mängel, Lärm, Schwachstellen oder Warnungen (falls keine vorhanden, schreibe \"Keine wesentlichen Kritikpunkte genannt.\").\n\nBewertungen:\n{{ JSON.stringify($json.body.reviews) }}", + "needsFallback": true, "options": {} }, - "type": "n8n-nodes-base.httpRequest", - "typeVersion": 4.4, + "type": "@n8n/n8n-nodes-langchain.agent", + "typeVersion": 3.1, "position": [ - 464, - -160 + 944, + -16 ], - "id": "b62c99a2-4ad2-445a-995e-d6c186ce1c6d", - "name": "HTTP Request" + "id": "1ed8c952-8998-47e2-a1d1-074dc7ebb538", + "name": "AI Agent1" }, { "parameters": { - "rules": { - "values": [ - { - "conditions": { - "options": { - "caseSensitive": true, - "leftValue": "", - "typeValidation": "strict", - "version": 3 - }, - "conditions": [ - { - "leftValue": "={{ $('Telegram Trigger').item.json.message.text.split(/\\s+/)[0] }}", - "rightValue": "/add", - "operator": { - "type": "string", - "operation": "equals" - }, - "id": "e8bd8b22-bfe4-445b-8874-df28d37430d1" - } - ], - "combinator": "and" - }, - "renameOutput": true, - "outputKey": "/add" - }, - { - "conditions": { - "options": { - "caseSensitive": true, - "leftValue": "", - "typeValidation": "strict", - "version": 3 - }, - "conditions": [ - { - "id": "32dcfdef-6614-491e-b611-41f8fa942824", - "leftValue": "={{ $('Telegram Trigger').item.json.message.text.split(/\\s+/)[0] }}", - "rightValue": "/addseller", - "operator": { - "type": "string", - "operation": "equals", - "name": "filter.operator.equals" - } - } - ], - "combinator": "and" - }, - "renameOutput": true, - "outputKey": "/addseller" - }, - { - "conditions": { - "options": { - "caseSensitive": true, - "leftValue": "", - "typeValidation": "strict", - "version": 3 - }, - "conditions": [ - { - "id": "de8d96a8-f966-4ce1-b8aa-b5f3fa74139d", - "leftValue": "={{ $('Telegram Trigger').item.json.message.text.split(/\\s+/)[0] }}", - "rightValue": "/searches", - "operator": { - "type": "string", - "operation": "equals", - "name": "filter.operator.equals" - } - } - ], - "combinator": "and" - }, - "renameOutput": true, - "outputKey": "/searches" - }, - { - "conditions": { - "options": { - "caseSensitive": true, - "leftValue": "", - "typeValidation": "strict", - "version": 3 - }, - "conditions": [ - { - "id": "966937a6-0cad-4318-bc88-2a71e2fcb45e", - "leftValue": "={{ $('Telegram Trigger').item.json.message.text.split(/\\s+/)[0] }}", - "rightValue": "/edit", - "operator": { - "type": "string", - "operation": "equals", - "name": "filter.operator.equals" - } - } - ], - "combinator": "and" - }, - "renameOutput": true, - "outputKey": "/edit" - }, - { - "conditions": { - "options": { - "caseSensitive": true, - "leftValue": "", - "typeValidation": "strict", - "version": 3 - }, - "conditions": [ - { - "id": "9320369c-fe7b-4e75-9738-b711fa484714", - "leftValue": "={{ $('Telegram Trigger').item.json.message.text.split(/\\s+/)[0] }}", - "rightValue": "/delete", - "operator": { - "type": "string", - "operation": "equals", - "name": "filter.operator.equals" - } - } - ], - "combinator": "and" - }, - "renameOutput": true, - "outputKey": "/delete" - } - ] - }, + "model": "deepseek-v4-flash", "options": {} }, - "type": "n8n-nodes-base.switch", - "typeVersion": 3.4, - "position": [ - 16, - 96 - ], - "id": "abde6ad8-883b-4783-88b7-8b572e6e47c5", - "name": "Switch" - }, - { - "parameters": { - "assignments": { - "assignments": [ - { - "id": "51c90eec-93b9-4eab-9e0d-281ece7b3c26", - "name": "positiveKeyword", - "value": "={{ $json.message.text.trim().match(/^\\/add\\s+(.*?)(?=\\s-|$)/)?.[1]}}", - "type": "string" - }, - { - "id": "07598e9f-8cca-4646-80f2-d194fcbf228d", - "name": "negativeKeywords", - "value": "={{ $json.message.text.trim().match(/-.*/)?.[0].split(/\\s/).map(w => w.replace(/^-/, '')) }}", - "type": "string" - } - ] - }, - "options": {} - }, - "type": "n8n-nodes-base.set", - "typeVersion": 3.4, - "position": [ - 240, - -160 - ], - "id": "ca1e01ef-47a1-4b7f-9b35-5b74e63e2f8d", - "name": "Edit Fields" - }, - { - "parameters": { - "method": "POST", - "url": "http://192.168.178.133:3001/sellers/add", - "sendBody": true, - "bodyParameters": { - "parameters": [ - { - "name": "sellers", - "value": "={{ $('Edit Fields1').item.json.sellerTerm}}" - } - ] - }, - "options": {} - }, - "type": "n8n-nodes-base.httpRequest", - "typeVersion": 4.4, - "position": [ - 464, - 32 - ], - "id": "f7881a47-86a4-45f5-93fc-30a53b391994", - "name": "HTTP Request1" - }, - { - "parameters": { - "chatId": "={{ $('Telegram Trigger').item.json.message.chat.id }}", - "text": "=🏬 *Verkäufer-Suche für \"{{ $('Switch').item.json.positiveKeyword}}\"*\n\n{{ $('HTTP Request1').item.json.message }}\n\n📋 *Gefundene Verkäufer:*\n{{ $('HTTP Request1').item.json.allFound.join('\\n• ') }}", - "additionalFields": {} - }, - "type": "n8n-nodes-base.telegram", - "typeVersion": 1.2, - "position": [ - 688, - 32 - ], - "id": "d95e7d4c-4821-445f-a458-2332a133d68c", - "name": "Send a text message", - "webhookId": "9ee73736-1928-48f5-a939-be01a81b0508", - "credentials": { - "telegramApi": { - "id": "rDFxPFGGKagsBKLV", - "name": "Telegram eBayNotifyBot" - } - } - }, - { - "parameters": { - "assignments": { - "assignments": [ - { - "id": "51c90eec-93b9-4eab-9e0d-281ece7b3c26", - "name": "sellers", - "value": "={{ $json.message.text.trim().split(/\\s+/).slice(1) }}", - "type": "string" - } - ] - }, - "options": {} - }, - "type": "n8n-nodes-base.set", - "typeVersion": 3.4, - "position": [ - 240, - 32 - ], - "id": "26854121-21a9-44b2-a38d-65f6675e0970", - "name": "Edit Fields1" - }, - { - "parameters": { - "assignments": { - "assignments": [ - { - "id": "58a1139d-5e78-4e26-8bd3-5c6a2891b2fd", - "name": "text", - "value": "={{ $json.text.split(\";\").slice(1).map(w => w.trim()).join() }}", - "type": "string" - } - ] - }, - "options": {} - }, - "type": "n8n-nodes-base.set", - "typeVersion": 3.4, - "position": [ - 16, - 1056 - ], - "id": "7821fe72-005f-4d0c-b9b2-a8bcf57726ea", - "name": "Edit Fields3" - }, - { - "parameters": { - "method": "POST", - "url": "http://192.168.178.133:3001/sellers/add", - "sendBody": true, - "bodyParameters": { - "parameters": [ - { - "name": "sellers", - "value": "={{ $('Edit Fields3').item.json.text}}" - } - ] - }, - "options": {} - }, - "type": "n8n-nodes-base.httpRequest", - "typeVersion": 4.4, - "position": [ - 240, - 1056 - ], - "id": "83b6a858-fcab-44b6-af5a-9fbc651ba97c", - "name": "HTTP Request2" - }, - { - "parameters": { - "content": "# Initialize Data", - "height": 432, - "width": 704 - }, - "type": "n8n-nodes-base.stickyNote", + "type": "@n8n/n8n-nodes-langchain.lmChatDeepSeek", "typeVersion": 1, "position": [ - -288, - 784 + 1008, + 208 ], - "id": "70e6e855-901b-4534-a4f9-30e960efca85", - "name": "Sticky Note" - }, - { - "parameters": { - "assignments": { - "assignments": [ - { - "id": "93c23110-ed6e-4325-98de-92ad2e381eea", - "name": "text", - "value": ";mediamarkt ;Media Markt Henstedt-Ulzburg ;Media Markt Nürnberg-City ;MediaMarkt H-Ernst-August-Platz ;MediaMarkt Köln-Kalk ;MediaMarkt Tech Village Hamburg ;MediaMarkt_München_Solln ;Mediamarkt B-Ware ;Mediamarkt Berlin Tempelhof ;mediamarkt-Delmenhorst ;mediamarkt-Hannover-Wuelfel ;mediamarkt-aachen-aquis-plaza ;mediamarkt-aalen ;mediamarkt-albstadt ;mediamarkt-alzey ;mediamarkt-amberg ;mediamarkt-ansbach ;mediamarkt-ansbach-bruecken-center ;mediamarkt-aschaffenburg ;mediamarkt-aschaffenburg-city ;mediamarkt-augsburg-goeggingen ;mediamarkt-augsburg-oberhausen ;mediamarkt-backnang ;mediamarkt-bad-duerrheim ;mediamarkt-bad-homburg ;mediamarkt-bad-kreuznach ;mediamarkt-bad-neustadt ;mediamarkt-bad-oeynhausen ;mediamarkt-baden-baden ;mediamarkt-bamberg ;mediamarkt-baunatal ;mediamarkt-bayreuth ;mediamarkt-bergisch-gladbach ;mediamarkt-berlin-biesdorf ;mediamarkt-berlin-charlottenburg ;mediamarkt-berlin-friedrichshain ;mediamarkt-berlin-gesundbrunnen ;mediamarkt-berlin-gropiusstadt ;mediamarkt-berlin-hohenschoenhausen ;mediamarkt-berlin-leipziger-platz ;mediamarkt-berlin-marzahn ;mediamarkt-berlin-mitte ;mediamarkt-berlin-neukoelln ;mediamarkt-berlin-prenzlauerberg ;mediamarkt-berlin-schoeneweide ;mediamarkt-berlin-spandau ;mediamarkt-berlin-spandau-arcaden ;mediamarkt-berlin-steglitz ;mediamarkt-berlin-tegel ;mediamarkt-berlin-waltersdorf ;mediamarkt-berlin-wedding ;mediamarkt-bielefeld ;mediamarkt-bischofsheim ;mediamarkt-bocholt ;mediamarkt-bochum-hofstede ;mediamarkt-bochum-ruhrpark ;mediamarkt-bonn ;mediamarkt-bornheim ;mediamarkt-boulevard-steglitz ;mediamarkt-brandenburg ;mediamarkt-braunschweig ;mediamarkt-braunschweig-schloss-ark ;mediamarkt-bremen-habenhausen ;mediamarkt-bremen-roland-center ;mediamarkt-bremen-stuhr ;mediamarkt-bremen-waterfront ;mediamarkt-bremen-weserpark ;mediamarkt-bremerhaven ;mediamarkt-bruchsal ;mediamarkt-buchholz ;mediamarkt-buxtehude ;mediamarkt-castrop-rauxel ;mediamarkt-celle ;mediamarkt-chemnitz-roehrsdorf ;mediamarkt-chemnitz-roter-turm ;mediamarkt-chemnitz-sachsenallee ;mediamarkt-coburg ;mediamarkt-cottbus ;mediamarkt-darmstadt-city ;mediamarkt-deggendorf ;mediamarkt-dessau ;mediamarkt-dessau-city ;mediamarkt-dietzenbach ;mediamarkt-donauwoerth ;mediamarkt-dorsten ;mediamarkt-dortmund ;mediamarkt-dortmund-eving ;mediamarkt-dortmund-hoerde ;mediamarkt-dresden-centrum ;mediamarkt-dresden-elbepark ;mediamarkt-dresden-kaufpark ;mediamarkt-dueren ;mediamarkt-duesseldorf-arcaden ;mediamarkt-duesseldorf-metrostrasse ;mediamarkt-duisburg-forum ;mediamarkt-duisburg-grossenbaum ;mediamarkt-duisburg-marxloh ;mediamarkt-egelsbach ;mediamarkt-eisenach ;mediamarkt-eislingen ;mediamarkt-elmshorn ;mediamarkt-emden ;mediamarkt-emmendingen ;mediamarkt-erding ;mediamarkt-erfurt-city ;mediamarkt-erfurt-tec ;mediamarkt-erfurt-thueringenpark ;mediamarkt-erlangen ;mediamarkt-erlangen-arcaden ;mediamarkt-eschweiler ;mediamarkt-essen ;mediamarkt-essen-limbecker-platz ;mediamarkt-esslingen ;mediamarkt-europa-center-berlin ;mediamarkt-euskirchen ;mediamarkt-fellbach ;mediamarkt-flensburg ;mediamarkt-forchheim ;mediamarkt-frankfurt-borsigallee ;mediamarkt-frankfurt-nordwestzentr ;mediamarkt-frankfurt-skylineplaza ;mediamarkt-frankfurt-zeil ;mediamarkt-freiburg ;mediamarkt-freiburg-city ;mediamarkt-freising ;mediamarkt-friedberg ;mediamarkt-friedrichshafen ;mediamarkt-fulda ;mediamarkt-gießen ;mediamarkt-goettingen ;mediamarkt-goettingen-kauf-park ;mediamarkt-goslar ;mediamarkt-greifswald ;mediamarkt-gruendau-lieblos ;mediamarkt-guenthersdorf ;mediamarkt-guetersloh ;mediamarkt-halberstadt ;mediamarkt-halle-peissen ;mediamarkt-halstenbek ;mediamarkt-hamburg-altona ;mediamarkt-hamburg-bergedorf ;mediamarkt-hamburg-billstedt ;mediamarkt-hamburg-elbe-ekz ;mediamarkt-hamburg-harburg ;mediamarkt-hamburg-hummelsbuettel ;mediamarkt-hamburg-nedderfeld ;mediamarkt-hamburg-oststeinbek ;mediamarkt-hamburg-poppenbuettel ;mediamarkt-hamburg-wandsbek ;mediamarkt-hameln ;mediamarkt-hamm ;mediamarkt-hanau ;mediamarkt-hannover-isernhagen ;mediamarkt-hannover-vahrenheide ;mediamarkt-heide ;mediamarkt-heidelberg ;mediamarkt-heidelberg-rohrbach ;mediamarkt-heidenheim ;mediamarkt-heilbronn ;mediamarkt-heppenheim ;mediamarkt-herzogenrath ;mediamarkt-hilden ;mediamarkt-hildesheim ;mediamarkt-hof ;mediamarkt-homburg ;mediamarkt-hueckelhoven ;mediamarkt-huerth ;mediamarkt-idar-oberstein ;mediamarkt-ingolstadt ;mediamarkt-ingolstadt-westpark ;mediamarkt-itzehoe ;mediamarkt-jena ;mediamarkt-jena-city ;mediamarkt-kaiserslautern ;mediamarkt-kaiserslautern-merkurstr ;mediamarkt-karlsfeld ;mediamarkt-karlsruhe ;mediamarkt-karlsruhe-2 ;mediamarkt-karlsruhe-durlach ;mediamarkt-kassel ;mediamarkt-kassel-koenigsplatz ;mediamarkt-kempten-allgaeu ;mediamarkt-kempten-beim-fenepark ;mediamarkt-kerpen ;mediamarkt-kiel ;mediamarkt-kiel-sophienhof ;mediamarkt-kirchheim ;mediamarkt-koblenz ;mediamarkt-koblenz-bubenheim ;mediamarkt-koeln-city-am-dom ;mediamarkt-koeln-marsdorf ;mediamarkt-koeln-maybachstrasse ;mediamarkt-koeln-weiden ;mediamarkt-konstanz ;mediamarkt-krefeld ;mediamarkt-kulmbach ;mediamarkt-lahr ;mediamarkt-landau ;mediamarkt-landsberg ;mediamarkt-landshut ;mediamarkt-landshut-west ;mediamarkt-leer ;mediamarkt-leinfelden-echterdingen ;mediamarkt-leipzig-gruenau ;mediamarkt-leipzig-hbf ;mediamarkt-leipzig-hoefe ;mediamarkt-leipzig-paunsdorf ;mediamarkt-leonberg-leo-center ;mediamarkt-limburg ;mediamarkt-lingen ;mediamarkt-lippstadt ;mediamarkt-ludwigsburg ;mediamarkt-ludwigshafen-oggersheim ;mediamarkt-luebeck ;mediamarkt-luebeck-daenischburg ;mediamarkt-luedenscheid ;mediamarkt-lueneburg ;mediamarkt-luenen ;mediamarkt-magdeburg-am-pfahlberg ;mediamarkt-magdeburg-boerdepark ;mediamarkt-magdeburg-city ;mediamarkt-main-taunus-zentrum ;mediamarkt-mainz ;mediamarkt-mainz-city ;mediamarkt-mannheim ;mediamarkt-mannheim-city ;mediamarkt-mannheim-sandhofen ;mediamarkt-marburg ;mediamarkt-marktredwitz ;mediamarkt-marl ;mediamarkt-meerane ;mediamarkt-memmingen ;mediamarkt-moenchengladbach ;mediamarkt-moers ;mediamarkt-mosbach ;mediamarkt-muc-euroindustriepark ;mediamarkt-muehldorf-am-inn ;mediamarkt-muelheim ;mediamarkt-muelheim-rrz ;mediamarkt-muenchen-haidhausen ;mediamarkt-muenchen-oez ;mediamarkt-muenchen-pasing ;mediamarkt-muenchen-pep ;mediamarkt-muenster ;mediamarkt-muenster-arkaden ;mediamarkt-nagold ;mediamarkt-neckarsulm ;mediamarkt-neu-isenburg ;mediamarkt-neu-ulm ;mediamarkt-neubrandenburg ;mediamarkt-neuburg-an-der-donau ;mediamarkt-neumarkt ;mediamarkt-neumuenster ;mediamarkt-neunkirchen ;mediamarkt-neuss ;mediamarkt-neuss-rheinpark-center ;mediamarkt-neustadt ;mediamarkt-neuwied ;mediamarkt-nienburg ;mediamarkt-noerdlingen ;mediamarkt-norderstedt ;mediamarkt-nordhausen ;mediamarkt-nordhorn ;mediamarkt-nuernberg-kleinreuth ;mediamarkt-nuernberg-langwasser ;mediamarkt-nuernberg-schoppershof ;mediamarkt-oberhausen ;mediamarkt-offenbach-ringcenter ;mediamarkt-offenburg ;mediamarkt-oldenburg-schlosshoefe ;mediamarkt-osnabrueck-belm ;mediamarkt-osnabrueck-city ;mediamarkt-paderborn ;mediamarkt-papenburg ;mediamarkt-passau ;mediamarkt-passau-stadtgalerie ;mediamarkt-pforzheim ;mediamarkt-pfungstadt ;mediamarkt-pirmasens ;mediamarkt-plauen ;mediamarkt-porta-westfalica ;mediamarkt-potsdam ;mediamarkt-potsdam-city ;mediamarkt-ravensburg ;mediamarkt-recklinghausen ;mediamarkt-regensburg ;mediamarkt-regensburg-im-donau-ekz ;mediamarkt-remscheid ;mediamarkt-rendsburg ;mediamarkt-reutlingen ;mediamarkt-reutlingen-betzingen ;mediamarkt-rheine ;mediamarkt-riesa ;mediamarkt-rosenheim ;mediamarkt-rostock-brinckmansdorf ;mediamarkt-rostock-city ;mediamarkt-rostock-sievershagen ;mediamarkt-saarbruecken-burbach ;mediamarkt-saarbruecken-europa-gale ;mediamarkt-saarbruecken-saarbasar ;mediamarkt-saarlouis ;mediamarkt-salzgitter ;mediamarkt-sankt-augustin ;mediamarkt-schorndorf ;mediamarkt-schwabach ;mediamarkt-schwaebisch-gmuend ;mediamarkt-schwaebisch-hall ;mediamarkt-schwedt ;mediamarkt-schweinfurt ;mediamarkt-schweinfurt-city ;mediamarkt-schwentinental ;mediamarkt-schwerin ;mediamarkt-senden ;mediamarkt-siegen-city-galerie ;mediamarkt-sindelfingen ;mediamarkt-singen ;mediamarkt-sinsheim ;mediamarkt-smart-peine ;mediamarkt-solingen ;mediamarkt-speyer ;mediamarkt-stade ;mediamarkt-stadthagen ;mediamarkt-stralsund ;mediamarkt-straubing ;mediamarkt-stuttgart-feuerbach ;mediamarkt-stuttgart-koenigstrasse ;mediamarkt-stuttgart-milaneo ;mediamarkt-traunreut ;mediamarkt-traunstein ;mediamarkt-trier ;mediamarkt-tuebingen ;mediamarkt-ulm ;mediamarkt-velbert ;mediamarkt-viernheim ;mediamarkt-wandsbeker-quarree ;mediamarkt-weiden ;mediamarkt-weilheim ;mediamarkt-weiterstadt ;mediamarkt-wetzlar ;mediamarkt-wiesbaden-aeppelallee ;mediamarkt-wiesbaden-hasengarten ;mediamarkt-wilhelmshaven ;mediamarkt-wolfsburg ;mediamarkt-wolfsburg-city ;mediamarkt-worms ;mediamarkt-wuerzburg ;mediamarkt-wuerzburg-city ;mediamarkt-wuerzburg-duerrbachau ;mediamarkt-wuppertal ;mediamarkt-wuppertal-city ;mediamarkt-zella-mehlis ;mediamarkt-zwickau ;mediamarkt-zwickau-am-glueck-auf-ce", - "type": "string" - } - ] - }, - "options": {} - }, - "type": "n8n-nodes-base.set", - "typeVersion": 3.4, - "position": [ - -208, - 832 - ], - "id": "688b6b22-f8d9-46c4-a44a-efacbb010612", - "name": "Mediamarkt" - }, - { - "parameters": { - "assignments": { - "assignments": [ - { - "id": "93c23110-ed6e-4325-98de-92ad2e381eea", - "name": "text", - "value": ";saturn ;Saturn B-Ware ;Saturn Köln Porz ;Saturn München Neuhauser Straße ;Saturn-Dresden ;saturn-berlin-koepenick ;saturn-berlin-reinickendorf ;saturn-bielefeld ;saturn-bochum ;saturn-bremen ;saturn-chemnitz ;saturn-dortmund ;saturn-duesseldorf-sevens ;saturn-gummersbach ;saturn-halle ;saturn-karlsruhe ;saturn-kleve ;saturn-koblenz ;saturn-koeln-hohestrasse ;saturn-krefeld ;saturn-leverkusen ;saturn-moenchengladbach-city ;saturn-muenchen-riem ;saturn-pforzheim ;saturn-weimar ;saturn-wiesbaden-luisenforum ;saturn_berlin_alexanderplatz", - "type": "string" - } - ] - }, - "options": {} - }, - "type": "n8n-nodes-base.set", - "typeVersion": 3.4, - "position": [ - -208, - 1056 - ], - "id": "b76d9a5d-2c9d-4df5-beb2-d425b4690cd2", - "name": "Saturn" - }, - { - "parameters": { - "jsCode": "const searches = $json.searches || [];\n\nif (searches.length === 0) {\n return [{ json: { text: \"⚠️ Keine aktiven Suchaufträge vorhanden.\" } }];\n}\n\nlet message = \"📋 *Deine aktiven Suchaufträge:*\\n\\n\";\n\nsearches.forEach((s) => {\n const negatives = (s.negative_keywords || []).join(\", \") || \"Keine\";\n message += `*ID #${s.id}*: \"${s.query}\"\\n`;\n message += `🚫 Ausschlüsse: _${negatives}_\\n`;\n message += `\\n`;\n});\n\nmessage += \"💡 *Befehle:*\\n\";\nmessage += \"• `/edit NegativKeyword1, NegativKeyword2` zum Ändern\\n\";\nmessage += \"• `/delete ` zum Löschen\";\n\nreturn [{ json: { text: message } }];" - }, - "type": "n8n-nodes-base.code", - "typeVersion": 2, - "position": [ - 464, - 224 - ], - "id": "34c96931-7239-4077-bcf4-7b2424088a43", - "name": "Code in JavaScript" - }, - { - "parameters": { - "chatId": "={{ $('Telegram Trigger').item.json.message.chat.id }}", - "text": "={{ $('Code in JavaScript').item.json.text }}", - "additionalFields": {} - }, - "type": "n8n-nodes-base.telegram", - "typeVersion": 1.2, - "position": [ - 688, - 224 - ], - "id": "7e48d438-83bb-4eab-88d7-daefde557b98", - "name": "Send a text message1", - "webhookId": "1c6fb687-7be7-4b5e-9306-207bdb1fe0f4", + "id": "b7c8b87a-af4c-4380-b2d6-442afb56a6a0", + "name": "DeepSeek Chat Model2", "credentials": { - "telegramApi": { - "id": "rDFxPFGGKagsBKLV", - "name": "Telegram eBayNotifyBot" + "deepSeekApi": { + "id": "kZER3rR0sCHEUm9o", + "name": "DeepSeek account" } } }, { "parameters": { - "url": "http://192.168.178.133:3001/searches", "options": {} }, - "type": "n8n-nodes-base.httpRequest", - "typeVersion": 4.4, + "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini", + "typeVersion": 1.1, "position": [ - 240, - 224 + 880, + 208 ], - "id": "8829edf4-9ab2-4249-be85-2d47516c6645", - "name": "HTTP Request3" - }, - { - "parameters": { - "jsCode": "const text = $(\"Telegram Trigger\").first().json.message.text.trim();\n\n// Regulärer Ausdruck prüft das Format: /edit \nconst match = text.match(/^\\/edit\\s+(\\d+)\\s+(.+)$/s);\n\nif (!match) {\n return [{ \n json: { \n error: true, \n text: \"❌ *Falsches Format!*\\n\\nVerwende:\\n`/edit Keyword1, Keyword2`\\n\\nBeispiel:\\n`/edit 3 Defekt, Panzerglas, Hülle`\" \n } \n }];\n}\n\nconst id = match[1];\nconst rawKeywords = match[2];\n\n// Keywords am Komma trennen und Leerzeichen entfernen\nconst keywordsArray = rawKeywords.split(\",\").map(k => k.trim()).filter(Boolean);\n\nreturn [{\n json: {\n error: false,\n id: id,\n negative_keywords: keywordsArray\n }\n}];" - }, - "type": "n8n-nodes-base.code", - "typeVersion": 2, - "position": [ - 240, - 512 - ], - "id": "01246c59-5e14-461c-bf52-6cc34baabcdd", - "name": "Code in JavaScript1" - }, - { - "parameters": { - "conditions": { - "options": { - "caseSensitive": true, - "leftValue": "", - "typeValidation": "strict", - "version": 3 - }, - "conditions": [ - { - "id": "803c95e8-608d-4a41-b74c-ac0d901f5f21", - "leftValue": "={{ $json.error }}", - "rightValue": "true", - "operator": { - "type": "boolean", - "operation": "true", - "singleValue": true - } - } - ], - "combinator": "and" - }, - "options": {} - }, - "type": "n8n-nodes-base.if", - "typeVersion": 2.3, - "position": [ - 464, - 512 - ], - "id": "64bcf172-177d-458d-9d2e-de97d4de7b78", - "name": "If" - }, - { - "parameters": { - "chatId": "={{ $('Telegram Trigger').item.json.message.chat.id }}", - "text": "={{ $json.text }}", - "additionalFields": {} - }, - "type": "n8n-nodes-base.telegram", - "typeVersion": 1.2, - "position": [ - 688, - 416 - ], - "id": "426b3b4b-7525-458c-971e-1c05778e1540", - "name": "Send a text message2", - "webhookId": "b55f6aa2-2f36-4b2c-95f7-81399e1046e9", + "id": "78f24a79-f02f-463a-a84d-7764ef071159", + "name": "Google Gemini Chat Model1", "credentials": { - "telegramApi": { - "id": "rDFxPFGGKagsBKLV", - "name": "Telegram eBayNotifyBot" + "googlePalmApi": { + "id": "EWlC0h6CFPDYaxlJ", + "name": "Google Gemini(PaLM) Api account" } } }, { "parameters": { - "method": "PUT", - "url": "=http://192.168.178.133:3001/searches/{{ $json.id }}", + "httpMethod": "POST", + "path": "scrape-reviews", + "options": {} + }, + "type": "n8n-nodes-base.webhook", + "typeVersion": 2.1, + "position": [ + -32, + 0 + ], + "id": "1702fe2c-fbc8-48c7-a570-03fe8611b32b", + "name": "Webhook", + "webhookId": "3ddfdc90-2a1a-4d22-8017-d5ee79ba6099" + }, + { + "parameters": { + "method": "POST", + "url": "=http://192.168.178.133:3002/api/hotels/{{ $('Webhook').item.json.body.hotelId }}/review-summary", "sendBody": true, "specifyBody": "json", - "jsonBody": "={\n \"negative_keywords\": {{ JSON.stringify($json.negative_keywords) }}\n}", + "jsonBody": "={{ JSON.parse($json.output) }}", "options": {} }, "type": "n8n-nodes-base.httpRequest", "typeVersion": 4.4, "position": [ - 688, - 608 + 1296, + -16 ], - "id": "c9af0add-be49-4716-a38e-ce1ec277ec16", - "name": "HTTP Request4" - }, - { - "parameters": { - "chatId": "={{ $('Telegram Trigger').item.json.message.chat.id }}", - "text": "=✅ Negativ-Keywords für ID #{{$json.search.id}} aktualisiert auf {{$json.search.negative_keywords.join(\", \")}}", - "additionalFields": {} - }, - "type": "n8n-nodes-base.telegram", - "typeVersion": 1.2, - "position": [ - 912, - 608 - ], - "id": "4cc7f56e-6384-47e1-a70c-4ae49f7c3148", - "name": "Send a text message3", - "webhookId": "4d589850-4a4d-4e9a-9aec-530be93ab442", - "credentials": { - "telegramApi": { - "id": "rDFxPFGGKagsBKLV", - "name": "Telegram eBayNotifyBot" - } - } - }, - { - "parameters": { - "jsCode": "const text = $(\"Telegram Trigger\").first().json.message.text.trim();\nconst match = text.match(/^\\/delete\\s+(\\d+)$/);\n\nif (!match) {\n return [{ \n json: { \n error: true, \n text: \"❌ *Falsches Format!*\\n\\nVerwende:\\n`/delete `\\n\\nBeispiel:\\n`/delete 3`\" \n } \n }];\n}\n\nreturn [{\n json: {\n error: false,\n id: match[1]\n }\n}];" - }, - "type": "n8n-nodes-base.code", - "typeVersion": 2, - "position": [ - 592, - 1376 - ], - "id": "87bcdf36-2a57-4f16-8682-fdba260255e0", - "name": "Code in JavaScript2" - }, - { - "parameters": { - "method": "DELETE", - "url": "=http://192.168.178.133:3001/searches/{{ $json.id }}", - "options": {} - }, - "type": "n8n-nodes-base.httpRequest", - "typeVersion": 4.4, - "position": [ - 1040, - 1472 - ], - "id": "fbcebff8-d6e7-44ae-91d2-7f9b3490da57", - "name": "HTTP Request5" - }, - { - "parameters": { - "chatId": "={{ $('Telegram Trigger').item.json.message.chat.id }}", - "text": "={{ $json.message }}", - "additionalFields": {} - }, - "type": "n8n-nodes-base.telegram", - "typeVersion": 1.2, - "position": [ - 1264, - 1472 - ], - "id": "cc7aca63-32e0-424b-8fd8-6d949de2b488", - "name": "Send a text message5", - "webhookId": "32fc7d22-9c29-474d-aeb5-c5f7901c87e2", - "credentials": { - "telegramApi": { - "id": "rDFxPFGGKagsBKLV", - "name": "Telegram eBayNotifyBot" - } - } - }, - { - "parameters": { - "conditions": { - "options": { - "caseSensitive": true, - "leftValue": "", - "typeValidation": "strict", - "version": 3 - }, - "conditions": [ - { - "id": "803c95e8-608d-4a41-b74c-ac0d901f5f21", - "leftValue": "={{ $json.error }}", - "rightValue": "true", - "operator": { - "type": "boolean", - "operation": "true", - "singleValue": true - } - } - ], - "combinator": "and" - }, - "options": {} - }, - "type": "n8n-nodes-base.if", - "typeVersion": 2.3, - "position": [ - 816, - 1120 - ], - "id": "d9d27ec7-38da-4019-941b-077b7ceb9dde", - "name": "If1" - }, - { - "parameters": { - "chatId": "={{ $('Telegram Trigger').item.json.message.chat.id }}", - "text": "={{ $json.text }}", - "additionalFields": {} - }, - "type": "n8n-nodes-base.telegram", - "typeVersion": 1.2, - "position": [ - 1120, - 960 - ], - "id": "003bf9f5-848f-4e88-b339-0a8ab76e6289", - "name": "Send a text message4", - "webhookId": "25829a6d-f1a1-4c4c-90c4-b66522aa3769", - "credentials": { - "telegramApi": { - "id": "rDFxPFGGKagsBKLV", - "name": "Telegram eBayNotifyBot" - } - } + "id": "770a0511-5b88-4021-b2e0-4a21b119f744", + "name": "HTTP Request" } ], "connections": { - "Edit Fields": { + "DeepSeek Chat Model2": { + "ai_languageModel": [ + [ + { + "node": "AI Agent1", + "type": "ai_languageModel", + "index": 1 + } + ] + ] + }, + "AI Agent1": { "main": [ [ { @@ -662,195 +119,22 @@ ] ] }, - "Switch": { - "main": [ + "Google Gemini Chat Model1": { + "ai_languageModel": [ [ { - "node": "Edit Fields", - "type": "main", - "index": 0 - } - ], - [ - { - "node": "Edit Fields1", - "type": "main", - "index": 0 - } - ], - [ - { - "node": "HTTP Request3", - "type": "main", - "index": 0 - } - ], - [ - { - "node": "Code in JavaScript1", - "type": "main", - "index": 0 - } - ], - [ - { - "node": "Code in JavaScript2", - "type": "main", + "node": "AI Agent1", + "type": "ai_languageModel", "index": 0 } ] ] }, - "HTTP Request": { - "main": [ - [] - ] - }, - "HTTP Request1": { + "Webhook": { "main": [ [ { - "node": "Send a text message", - "type": "main", - "index": 0 - } - ] - ] - }, - "Edit Fields1": { - "main": [ - [ - { - "node": "HTTP Request1", - "type": "main", - "index": 0 - } - ] - ] - }, - "Edit Fields3": { - "main": [ - [ - { - "node": "HTTP Request2", - "type": "main", - "index": 0 - } - ] - ] - }, - "Mediamarkt": { - "main": [ - [] - ] - }, - "Saturn": { - "main": [ - [ - { - "node": "Edit Fields3", - "type": "main", - "index": 0 - } - ] - ] - }, - "Code in JavaScript": { - "main": [ - [ - { - "node": "Send a text message1", - "type": "main", - "index": 0 - } - ] - ] - }, - "HTTP Request3": { - "main": [ - [ - { - "node": "Code in JavaScript", - "type": "main", - "index": 0 - } - ] - ] - }, - "Code in JavaScript1": { - "main": [ - [ - { - "node": "If", - "type": "main", - "index": 0 - } - ] - ] - }, - "If": { - "main": [ - [ - { - "node": "Send a text message2", - "type": "main", - "index": 0 - } - ], - [ - { - "node": "HTTP Request4", - "type": "main", - "index": 0 - } - ] - ] - }, - "HTTP Request4": { - "main": [ - [ - { - "node": "Send a text message3", - "type": "main", - "index": 0 - } - ] - ] - }, - "Code in JavaScript2": { - "main": [ - [ - { - "node": "If1", - "type": "main", - "index": 0 - } - ] - ] - }, - "HTTP Request5": { - "main": [ - [ - { - "node": "Send a text message5", - "type": "main", - "index": 0 - } - ] - ] - }, - "If1": { - "main": [ - [ - { - "node": "Send a text message4", - "type": "main", - "index": 0 - } - ], - [ - { - "node": "HTTP Request5", + "node": "AI Agent1", "type": "main", "index": 0 } @@ -860,23 +144,124 @@ }, "settings": { "executionOrder": "v1", - "binaryMode": "separate", - "availableInMCP": false + "availableInMCP": false, + "binaryMode": "separate" }, "staticData": null, "meta": { "templateCredsSetupCompleted": true }, - "pinData": {}, - "versionId": "61e736f1-e672-4294-922a-4663b0757c73", + "pinData": { + "Webhook": [ + { + "json": { + "headers": { + "x-forwarded-proto": "https, https", + "host": "n8n.prinz-pilaw.de", + "x-forwarded-scheme": "https", + "x-forwarded-for": "192.168.178.133", + "x-real-ip": "192.168.178.133", + "connection": "keep-alive", + "content-length": "3022", + "accept": "application/json, text/plain, */*", + "content-type": "application/json", + "user-agent": "axios/1.19.0", + "accept-encoding": "gzip, compress, deflate, br" + }, + "params": {}, + "query": { + "hotelId": "10e23152-f499-45db-bb8e-18e5310e4fee" + }, + "body": { + "jobId": "6", + "hotelId": "10e23152-f499-45db-bb8e-18e5310e4fee", + "hotelName": "Abad Fort", + "reviews": [ + { + "title": "Sehr gut", + "positive": "Frühstück sowie Speißekarte sehr gut. Hilfsbereitschaft und freundlichkeit sehr gut-Lage sehr gut und alle Sehenwürdigkeit in und um Fort Kochi gut und bequem zu Fuß erreichbar", + "negative": "", + "date": "Bewertung abgegeben: 25. Dezember 2024" + }, + { + "title": "Sehr gut", + "positive": "Gutes Hotel für den Preis. Grosses, sauberes Zimmer. Betten eher hart. Die Lage ist nicht ganz in der Nähe def Sehenswürdigkeiten.", + "negative": "", + "date": "Bewertung abgegeben: 15. Dezember 2025" + }, + { + "title": "Passabel", + "positive": "Nahe am Jüdischen Viertel in Fort Kochi. Die Zimmer sind okay, das Frühstück auch", + "negative": "Direkt an der Straße- daher sehr laut.", + "date": "Bewertung abgegeben: 26. Dezember 2024" + }, + { + "title": "Great place with a friendly team and excellent food!", + "positive": "Fort Kochi and other attractions are conveniently located near the hotel. The breakfast was excellent!", + "negative": "Their Google Maps pin is slightly inaccurate, although it’s not a major issue when locating the place. The bathroom shower area could also be partitioned a bit better, as some water spills near the WC area.", + "date": "Bewertung abgegeben: 18. Mai 2026" + }, + { + "title": "Hervorragend", + "positive": "Good hospitality especially resturant staff\nGood cleanliness", + "negative": "", + "date": "Bewertung abgegeben: 13. Mai 2026" + }, + { + "title": "Hervorragend", + "positive": "The hotel offers a great experience with friendly and helpful staff. The facilities are well-maintained, and the front desk provides prompt service. Room service is efficient and reliable. The restaurant serves tasty and authentic food, making the stay even more enjoyable.", + "negative": "", + "date": "Bewertung abgegeben: 19. April 2026" + }, + { + "title": "Perfect for what I needed", + "positive": "Onsite facilities including housekeeping were good, great location for trip\nAll staff were great and could not do enough for me\nRestaurant and food was good", + "negative": "There was nothing to dislike during my stay", + "date": "Bewertung abgegeben: 2. April 2026" + }, + { + "title": "My stay was great, felt very welcome and nothing was too much trouble for staff", + "positive": "Rooms were spacious and had everything I needed.\nRestaurant was open throughout the day with varied menu. Breakfast was great and restaurant staff looked after me like family.\nAll hotel staff were very polite and extremely helpful, from reception right through to housekeeping\nWalking distance to Jew Town or Cochin beach, or just jump in TukTuk", + "negative": "There was nothing to dislike during my stay", + "date": "Bewertung abgegeben: 2. April 2026" + }, + { + "title": "Perfect for what we needed", + "positive": "Central location for getting around and exploring Cochin. Good size room with everything you need. Good breakfast and restaurant for lunch and dinner if required. Staff extremely helpful.", + "negative": "Nothing noteworthy.", + "date": "Bewertung abgegeben: 7. März 2026" + } + ], + "timestamp": "2026-08-09T21:47:25.026Z" + }, + "webhookUrl": "https://n8n.prinz-pilaw.de/webhook-test/scrape-reviews", + "executionMode": "test" + }, + "pairedItem": { + "item": 0 + } + } + ], + "AI Agent1": [ + { + "json": { + "output": "{\n \"summary_positive\": \"- Exzellentes Frühstück sowie eine vielseitige und authentische Speisekarte.\\n- Herausragende Gastfreundschaft und Hilfsbereitschaft des gesamten Personals.\\n- Große, saubere und gut ausgestattete Zimmer.\\n- Zentrale Lage in Fort Kochi mit guter fußläufiger Erreichbarkeit von Sehenswürdigkeiten.\",\n \"summary_passable\": \"- Die Matratzen der Betten werden als eher hart empfunden.\\n- Zimmer und Frühstücksbuffet werden von einigen Gästen lediglich als solide/zweckmäßig bewertet.\\n- Unterschiedliche Wahrnehmung der Lage (einige empfinden sie als nicht unmittelbar im Zentrum).\",\n \"summary_negative\": \"- Hoher Lärmpegel aufgrund der direkten Lage an einer Hauptstraße.\\n- Bauliche Mängel im Badezimmer (fehlende Abtrennung der Dusche führt zu Wasser im WC-Bereich).\\n- Ungenauer Standort-Pin bei Google Maps erschwert das Auffinden des Hotels.\"\n}" + }, + "pairedItem": { + "item": 0 + } + } + ] + }, + "versionId": "e51f58cd-0178-434f-877b-8be384d70d45", "activeVersionId": null, "triggerCount": 0, "shared": [ { - "updatedAt": "2026-08-09T20:43:24.010Z", - "createdAt": "2026-08-09T20:43:24.010Z", + "updatedAt": "2026-08-09T20:47:10.129Z", + "createdAt": "2026-08-09T20:47:10.129Z", "role": "workflow:owner", - "workflowId": "doN3KThk2oqKsAHn", + "workflowId": "urQHWlEcr6zV4tGc", "projectId": "cSAaWNJydnksD5EB" } ],