From 8bf6031c2a3f5ca6b53e524f7f3d273a37784443 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 | 1080 ++++++++++++++++++++++++++++--------- 1 file changed, 825 insertions(+), 255 deletions(-) diff --git a/Travel-App (Trigger).json b/Travel-App (Trigger).json index 9fb62d0..ce24fc1 100644 --- a/Travel-App (Trigger).json +++ b/Travel-App (Trigger).json @@ -1,114 +1,657 @@ { - "updatedAt": "2026-08-09T22:54:43.128Z", - "createdAt": "2026-08-09T20:47:10.127Z", - "id": "urQHWlEcr6zV4tGc", + "updatedAt": "2026-08-09T20:46:43.000Z", + "createdAt": "2026-08-09T20:43:23.999Z", + "id": "doN3KThk2oqKsAHn", "name": "Travel-App (Trigger)", - "active": true, - "isArchived": false, + "active": false, + "isArchived": true, "nodes": [ - { - "parameters": { - "promptType": "define", - "text": "=Du bist ein professioneller Hotel-Tester. Analysiere die folgenden Kundenbewertungen für das Hotel \"{{ $json.body.hotelName }}\" und erstelle 4 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 \"summary_bathroom\": \"- 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.\n4. BAD & WC CHECK (SPEZIELLER FOKUS): Extrahiere ALLE Erwähnungen bezüglich Badezimmer, Dusche, Toilette/WC, Sauberkeit des Bades, Wasserdruck, Schimmel, Gerüche oder Feuchtigkeit. Schreibe prägnant zusammen, wie der Zustand des Bades von den Gästen wahrgenommen wird (falls nichts erwähnt wird, schreibe \"Keine spezifischen Anmerkungen zum Bad/WC vorhanden.\").\n\nBewertungen:\n{{ JSON.stringify($json.body.reviews) }}", - "needsFallback": true, - "options": {} - }, - "type": "@n8n/n8n-nodes-langchain.agent", - "typeVersion": 3.1, - "position": [ - 944, - -16 - ], - "id": "1ed8c952-8998-47e2-a1d1-074dc7ebb538", - "name": "AI Agent1" - }, - { - "parameters": { - "model": "deepseek-v4-flash", - "options": {} - }, - "type": "@n8n/n8n-nodes-langchain.lmChatDeepSeek", - "typeVersion": 1, - "position": [ - 1008, - 208 - ], - "id": "b7c8b87a-af4c-4380-b2d6-442afb56a6a0", - "name": "DeepSeek Chat Model2", - "credentials": { - "deepSeekApi": { - "id": "kZER3rR0sCHEUm9o", - "name": "DeepSeek account" - } - } - }, - { - "parameters": { - "options": {} - }, - "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini", - "typeVersion": 1.1, - "position": [ - 880, - 208 - ], - "id": "78f24a79-f02f-463a-a84d-7764ef071159", - "name": "Google Gemini Chat Model1", - "credentials": { - "googlePalmApi": { - "id": "EWlC0h6CFPDYaxlJ", - "name": "Google Gemini(PaLM) Api account" - } - } - }, - { - "parameters": { - "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", + "url": "http://192.168.178.133:3001/searches/add", "sendBody": true, - "specifyBody": "json", - "jsonBody": "={{\n Object.assign(\n typeof $json.output === 'string' ? JSON.parse($json.output) : $json.output,\n {\n summary_count: $('Webhook').item.json.body.reviews ? $('Webhook').item.json.body.reviews.length : 0\n }\n )\n}}", + "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 }}" + } + ] + }, "options": {} }, "type": "n8n-nodes-base.httpRequest", "typeVersion": 4.4, "position": [ - 1296, - -16 + 464, + -160 ], - "id": "770a0511-5b88-4021-b2e0-4a21b119f744", + "id": "b62c99a2-4ad2-445a-995e-d6c186ce1c6d", "name": "HTTP Request" + }, + { + "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" + } + ] + }, + "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", + "typeVersion": 1, + "position": [ + -288, + 784 + ], + "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", + "credentials": { + "telegramApi": { + "id": "rDFxPFGGKagsBKLV", + "name": "Telegram eBayNotifyBot" + } + } + }, + { + "parameters": { + "url": "http://192.168.178.133:3001/searches", + "options": {} + }, + "type": "n8n-nodes-base.httpRequest", + "typeVersion": 4.4, + "position": [ + 240, + 224 + ], + "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", + "credentials": { + "telegramApi": { + "id": "rDFxPFGGKagsBKLV", + "name": "Telegram eBayNotifyBot" + } + } + }, + { + "parameters": { + "method": "PUT", + "url": "=http://192.168.178.133:3001/searches/{{ $json.id }}", + "sendBody": true, + "specifyBody": "json", + "jsonBody": "={\n \"negative_keywords\": {{ JSON.stringify($json.negative_keywords) }}\n}", + "options": {} + }, + "type": "n8n-nodes-base.httpRequest", + "typeVersion": 4.4, + "position": [ + 688, + 608 + ], + "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" + } + } } ], "connections": { - "DeepSeek Chat Model2": { - "ai_languageModel": [ - [ - { - "node": "AI Agent1", - "type": "ai_languageModel", - "index": 1 - } - ] - ] - }, - "AI Agent1": { + "Edit Fields": { "main": [ [ { @@ -119,22 +662,195 @@ ] ] }, - "Google Gemini Chat Model1": { - "ai_languageModel": [ + "Switch": { + "main": [ [ { - "node": "AI Agent1", - "type": "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", "index": 0 } ] ] }, - "Webhook": { + "HTTP Request": { + "main": [ + [] + ] + }, + "HTTP Request1": { "main": [ [ { - "node": "AI Agent1", + "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", "type": "main", "index": 0 } @@ -144,172 +860,26 @@ }, "settings": { "executionOrder": "v1", - "availableInMCP": false, - "binaryMode": "separate" + "binaryMode": "separate", + "availableInMCP": false }, "staticData": null, "meta": { "templateCredsSetupCompleted": true }, "pinData": {}, - "versionId": "64ecae6e-2d53-47c3-8b7e-4653aca1d87a", - "activeVersionId": "64ecae6e-2d53-47c3-8b7e-4653aca1d87a", - "triggerCount": 1, + "versionId": "61e736f1-e672-4294-922a-4663b0757c73", + "activeVersionId": null, + "triggerCount": 0, "shared": [ { - "updatedAt": "2026-08-09T20:47:10.129Z", - "createdAt": "2026-08-09T20:47:10.129Z", + "updatedAt": "2026-08-09T20:43:24.010Z", + "createdAt": "2026-08-09T20:43:24.010Z", "role": "workflow:owner", - "workflowId": "urQHWlEcr6zV4tGc", + "workflowId": "doN3KThk2oqKsAHn", "projectId": "cSAaWNJydnksD5EB" } ], - "activeVersion": { - "updatedAt": "2026-08-09T22:54:47.000Z", - "createdAt": "2026-08-09T22:54:43.129Z", - "versionId": "64ecae6e-2d53-47c3-8b7e-4653aca1d87a", - "workflowId": "urQHWlEcr6zV4tGc", - "nodes": [ - { - "parameters": { - "promptType": "define", - "text": "=Du bist ein professioneller Hotel-Tester. Analysiere die folgenden Kundenbewertungen für das Hotel \"{{ $json.body.hotelName }}\" und erstelle 4 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 \"summary_bathroom\": \"- 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.\n4. BAD & WC CHECK (SPEZIELLER FOKUS): Extrahiere ALLE Erwähnungen bezüglich Badezimmer, Dusche, Toilette/WC, Sauberkeit des Bades, Wasserdruck, Schimmel, Gerüche oder Feuchtigkeit. Schreibe prägnant zusammen, wie der Zustand des Bades von den Gästen wahrgenommen wird (falls nichts erwähnt wird, schreibe \"Keine spezifischen Anmerkungen zum Bad/WC vorhanden.\").\n\nBewertungen:\n{{ JSON.stringify($json.body.reviews) }}", - "needsFallback": true, - "options": {} - }, - "type": "@n8n/n8n-nodes-langchain.agent", - "typeVersion": 3.1, - "position": [ - 944, - -16 - ], - "id": "1ed8c952-8998-47e2-a1d1-074dc7ebb538", - "name": "AI Agent1" - }, - { - "parameters": { - "model": "deepseek-v4-flash", - "options": {} - }, - "type": "@n8n/n8n-nodes-langchain.lmChatDeepSeek", - "typeVersion": 1, - "position": [ - 1008, - 208 - ], - "id": "b7c8b87a-af4c-4380-b2d6-442afb56a6a0", - "name": "DeepSeek Chat Model2", - "credentials": { - "deepSeekApi": { - "id": "kZER3rR0sCHEUm9o", - "name": "DeepSeek account" - } - } - }, - { - "parameters": { - "options": {} - }, - "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini", - "typeVersion": 1.1, - "position": [ - 880, - 208 - ], - "id": "78f24a79-f02f-463a-a84d-7764ef071159", - "name": "Google Gemini Chat Model1", - "credentials": { - "googlePalmApi": { - "id": "EWlC0h6CFPDYaxlJ", - "name": "Google Gemini(PaLM) Api account" - } - } - }, - { - "parameters": { - "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 Object.assign(\n typeof $json.output === 'string' ? JSON.parse($json.output) : $json.output,\n {\n summary_count: $('Webhook').item.json.body.reviews ? $('Webhook').item.json.body.reviews.length : 0\n }\n )\n}}", - "options": {} - }, - "type": "n8n-nodes-base.httpRequest", - "typeVersion": 4.4, - "position": [ - 1296, - -16 - ], - "id": "770a0511-5b88-4021-b2e0-4a21b119f744", - "name": "HTTP Request" - } - ], - "connections": { - "DeepSeek Chat Model2": { - "ai_languageModel": [ - [ - { - "node": "AI Agent1", - "type": "ai_languageModel", - "index": 1 - } - ] - ] - }, - "AI Agent1": { - "main": [ - [ - { - "node": "HTTP Request", - "type": "main", - "index": 0 - } - ] - ] - }, - "Google Gemini Chat Model1": { - "ai_languageModel": [ - [ - { - "node": "AI Agent1", - "type": "ai_languageModel", - "index": 0 - } - ] - ] - }, - "Webhook": { - "main": [ - [ - { - "node": "AI Agent1", - "type": "main", - "index": 0 - } - ] - ] - } - }, - "authors": "Prasanna Ranjan", - "name": "Version 64ecae6e", - "description": "", - "autosaved": true - }, + "activeVersion": null, "tags": [] } \ No newline at end of file