{"workflow":{"id":12827,"name":"Automate systematic literature reviews with Google Drive, GPT-4, Gemini, Qdrant and Airtable","views":352,"recentViews":1,"totalViews":352,"createdAt":"2026-01-19T20:38:00.384Z","description":"How it works\n- Automates systematic literature review by downloading papers from Google Drive, extracting text, and evaluating them against strict inclusion/exclusion criteria using LLM agents\n\n- Routes included papers to Qdrant vector stores with Gemini embeddings for semantic search, and excluded papers to a separate folder\n\n- Logs all decisions to Airtable with PRISMA-compliant justification for complete audit trails\n\nSet up steps\n- Connect Google Drive credentials to access your paper folder\n\n- Configure Airtable base and table for decision logging\n\n- Add OpenAI (GPT-4) and Google Gemini API credentials for LLM evaluation and embeddings\n\n- Set up Qdrant instances for vector storage (supports up to 3 collections)\n\n- Keep detailed descriptions of your inclusion/exclusion criteria in the sticky notes inside your workflow\n","workflow":{"meta":{"instanceId":"a240d893487a2e0734ac1ae3e7a6bdc8133fccfd8d73f3153b62dbf520b66933"},"nodes":[{"id":"9ca3f3bd-7c5c-4d5f-9484-147e21f49ab9","name":"Download PDF","type":"n8n-nodes-base.googleDrive","position":[1216,608],"parameters":{"fileId":{"__rl":true,"mode":"id","value":"={{ $json.id }}"},"options":{},"operation":"download"},"credentials":{"googleDriveOAuth2Api":{"id":"dYXGMEWOweSWX7sq","name":"Google Drive account"}},"typeVersion":3},{"id":"7b9a905c-e9ce-4976-bae6-5e557689fa1d","name":"Extract PDF Text","type":"n8n-nodes-base.extractFromFile","position":[1440,608],"parameters":{"options":{"keepSource":"binary"},"operation":"pdf"},"typeVersion":1},{"id":"531bc118-781a-4ce8-9f28-59a1ebf02f56","name":"Default Data Loader","type":"@n8n/n8n-nodes-langchain.documentDefaultDataLoader","position":[4144,640],"parameters":{"options":{},"jsonData":"={{ $('Cut of bibliography').item.json.info.Custom }}\n{{ $('Cut of bibliography').item.json.metadata }}\n{{ $('Cut of bibliography').item.json.text_cleaned }}","jsonMode":"expressionData"},"typeVersion":1.1},{"id":"3178736a-ef7c-433b-9b8f-1a242e0f6aa9","name":"Default Data Loader1","type":"@n8n/n8n-nodes-langchain.documentDefaultDataLoader","position":[4096,1040],"parameters":{"options":{},"jsonData":"={{ $('Cut of bibliography').item.json.info.Custom }}\n{{ $('Cut of bibliography').item.json.metadata }}\n{{ $('Cut of bibliography').item.json.text_cleaned }}","jsonMode":"expressionData"},"typeVersion":1.1},{"id":"c326a15f-b329-4be6-98f1-a296f6e91e2a","name":"Default Data Loader2","type":"@n8n/n8n-nodes-langchain.documentDefaultDataLoader","position":[4080,1456],"parameters":{"options":{},"jsonData":"={{ $('Cut of bibliography').item.json.info.Custom }}\n{{ $('Cut of bibliography').item.json.metadata }}\n{{ $('Cut of bibliography').item.json.text_cleaned }}","jsonMode":"expressionData"},"typeVersion":1.1},{"id":"299adc62-3a6d-4bd9-9711-5665197ee9b5","name":"Embeddings Google Gemini","type":"@n8n/n8n-nodes-langchain.embeddingsGoogleGemini","position":[3936,1456],"parameters":{},"credentials":{"googlePalmApi":{"id":"NlgXTX3RPIZyIyfM","name":"Google Gemini(PaLM) Api account"}},"typeVersion":1},{"id":"d47672ba-ef0e-4ed5-9a1b-350a104d598e","name":"Embeddings Google Gemini1","type":"@n8n/n8n-nodes-langchain.embeddingsGoogleGemini","position":[3952,1040],"parameters":{},"credentials":{"googlePalmApi":{"id":"NlgXTX3RPIZyIyfM","name":"Google Gemini(PaLM) Api account"}},"typeVersion":1},{"id":"ace691a3-2216-42be-9959-fed7ab0e644d","name":"Embeddings Google Gemini2","type":"@n8n/n8n-nodes-langchain.embeddingsGoogleGemini","position":[3968,640],"parameters":{},"credentials":{"googlePalmApi":{"id":"NlgXTX3RPIZyIyfM","name":"Google Gemini(PaLM) Api account"}},"typeVersion":1},{"id":"099262de-5dd7-4720-b6d9-2df151e36e0a","name":"Loop Over Items","type":"n8n-nodes-base.splitInBatches","position":[944,592],"parameters":{"options":{"reset":false}},"typeVersion":3},{"id":"ac4f98af-6ef7-418c-aa87-e97ebd78cef3","name":"When clicking ‘Execute workflow’","type":"n8n-nodes-base.manualTrigger","position":[384,592],"parameters":{},"typeVersion":1},{"id":"57fd7572-519d-466e-b331-55e8c3064a14","name":"Structured Output Parser","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[2176,768],"parameters":{"autoFix":true,"jsonSchemaExample":"{\n  \"DOI\": \"string\",\n  \"Author\": \"string\",\n  \"Titel\": \"string\",\n  \"Abstract\": \"string\",\n  \"Decision\": \"Included or excluded\",\n  \"Decision Reasoning\": \"string\",\n  \"Score\": \"number\",\n  \"Additional notes\": \"string\"\n}"},"typeVersion":1.3},{"id":"080599d6-359a-48ae-a060-35450b6c7a4e","name":"Google Gemini Chat Model1","type":"@n8n/n8n-nodes-langchain.lmChatGoogleGemini","position":[2080,880],"parameters":{"options":{}},"credentials":{"googlePalmApi":{"id":"NlgXTX3RPIZyIyfM","name":"Google Gemini(PaLM) Api account"}},"typeVersion":1},{"id":"2f2c6118-0fb4-4442-865c-5c2ec07c853e","name":"If","type":"n8n-nodes-base.if","position":[2512,608],"parameters":{"options":{},"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"0236dbb1-2ba5-46fc-aa3a-ff525084ed1e","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.output.Decision }}","rightValue":"Included"}]}},"typeVersion":2.3},{"id":"3b65637b-5cd0-439a-9eb3-69736e431ada","name":"Structured Output Parser1","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[2976,576],"parameters":{"autoFix":true,"jsonSchemaExample":"{\n  \"DOI\": \"Extracted DOI string or 'Not Found'\",\n  \"Author\": \"Extracted Authors\",\n  \"Titel\": \"Extracted Title\",\n  \"Mechanism\": \"Iterative Self-Correction / Debate Mechanismen\",\n  \"Abstract\": \"Summary of content (max 3 sentences)\",\n  \"Decision\": \"Included\",\n  \"Decision Reasoning\": \"Detailed summary of strengths/weaknesses based on the checklist scores.\",\n  \"Score\": 15,\n  \"Additional notes\": \"Optional observations or empty string\"\n}"},"typeVersion":1.3},{"id":"b5f9c81d-a0df-4a9e-9c6f-a4ae03f2b4e5","name":"Google Gemini Chat Model3","type":"@n8n/n8n-nodes-langchain.lmChatGoogleGemini","position":[3088,720],"parameters":{"options":{}},"credentials":{"googlePalmApi":{"id":"NlgXTX3RPIZyIyfM","name":"Google Gemini(PaLM) Api account"}},"typeVersion":1},{"id":"27cecd6b-9eee-4c59-825a-f05e90de1c8d","name":"Search files and folders","type":"n8n-nodes-base.googleDrive","position":[688,592],"parameters":{"filter":{"driveId":{"mode":"list","value":"My Drive"},"folderId":{"__rl":true,"mode":"list","value":"167cyFTL95Xo0z5hWO250raqIvryIeHp8","cachedResultUrl":"https://drive.google.com/drive/folders/167cyFTL95Xo0z5hWO250raqIvryIeHp8","cachedResultName":"INBOX"},"whatToSearch":"files"},"options":{},"resource":"fileFolder","returnAll":true,"searchMethod":"query"},"credentials":{"googleDriveOAuth2Api":{"id":"oIQmjgdtfBVoiKgP","name":"Jannik.hiller02"}},"typeVersion":3},{"id":"ccbb01d2-23bc-4efc-a8d0-0eb1ff25210c","name":"OpenAI Chat Model","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[1888,768],"parameters":{"model":{"__rl":true,"mode":"id","value":"=openai/gpt-oss-20b"},"options":{},"builtInTools":{}},"credentials":{"openAiApi":{"id":"SpJPyW3HdoSZheft","name":"Huggingface"}},"typeVersion":1.3},{"id":"d140f251-8959-4291-8e15-11d279e1317a","name":"OpenAI Chat Model1","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[2784,592],"parameters":{"model":{"__rl":true,"mode":"id","value":"=openai/gpt-oss-20b"},"options":{},"builtInTools":{}},"credentials":{"openAiApi":{"id":"SpJPyW3HdoSZheft","name":"Huggingface"}},"typeVersion":1.3},{"id":"1022012e-ed01-4283-9177-7c76e263c6a3","name":"📋 Overview: SLR Paper Review Agent","type":"n8n-nodes-base.stickyNote","position":[-704,-368],"parameters":{"color":"yellow","width":544,"height":592,"content":"## SLR Paper Review Agent\n\nThis workflow automates systematic literature review (SLR) for academic papers. It downloads papers from Google Drive, applies strict inclusion/exclusion criteria using LLM agents, logs decisions to Airtable, and stores included papers in Qdrant vector stores for semantic search.\n\n### How it works\n1. Searches and downloads papers from Google Drive\n2. Extracts text from PDF files\n3. Applies LLM-based review against 4 inclusion criteria (IC) and 4 exclusion criteria (EC)\n4. Routes papers based on review decision\n5. Logs all decisions to Airtable with reasoning\n6. Stores included papers in Qdrant with Gemini embeddings\n7. Organizes files into included/excluded folders\n\n### Setup steps\n1. Connect Google Drive credentials for paper access\n2. Configure Airtable base and table for decision logging\n3. Set up Qdrant instances for vector storage (up to 3 collections)\n4. Configure LLM credentials (OpenAI GPT-4, Google Gemini)\n5. Customize inclusion/exclusion criteria in the Basic LLM Chain node\n7. Customize scoring criteria in the second Basic LLM Chain node\n6. Adjust file organization folders as needed"},"typeVersion":1},{"id":"16251c5a-8106-401d-9f1e-0be3cf8a0493","name":"Stage 1: Paper Input & Extraction","type":"n8n-nodes-base.stickyNote","position":[160,272],"parameters":{"color":7,"width":1648,"height":720,"content":"## Stage 1: Paper Input & Extraction\n\nSearches Google Drive for papers, downloads PDFs, and extracts text content for review."},"typeVersion":1},{"id":"33d738c7-31a3-4725-9391-047f43e92005","name":"Stage 2: LLM-Based SLR Review","type":"n8n-nodes-base.stickyNote","position":[1808,272],"parameters":{"color":7,"width":672,"height":736,"content":"## Stage 2: LLM-Based SLR Review\n\nApplies strict inclusion/exclusion criteria using LLM agents. Evaluates papers against IC (4 criteria) and EC (4 criteria) with PRISMA documentation."},"typeVersion":1},{"id":"ce169d05-c0a9-4110-9bc6-738164a991ef","name":"Stage 3: Decision Routing & Logging","type":"n8n-nodes-base.stickyNote","position":[2480,272],"parameters":{"color":7,"width":1040,"height":736,"content":"## Stage 3: Decision Routing & Logging\n\nRoutes papers based on review decision (Included/Excluded). Logs all decisions to Airtable with DOI, authors, title, reasoning, and score."},"typeVersion":1},{"id":"4774df2b-a20f-49f9-8617-3e0f673d9268","name":"Stage 4: Vector Store & File Organization","type":"n8n-nodes-base.stickyNote","position":[3520,272],"parameters":{"color":7,"width":1616,"height":1392,"content":"## Stage 4: Vector Store & File Organization\n\nStores included papers in Qdrant collections with Gemini embeddings. Organizes all papers into included/excluded folders."},"typeVersion":1},{"id":"4dcc0f90-3688-483d-8a9a-5f71f4d0555e","name":"Log Excluded Paper","type":"n8n-nodes-base.airtable","position":[2672,848],"parameters":{"base":{"__rl":true,"mode":"list","value":"appMIPges4F2ST4Sm","cachedResultUrl":"https://airtable.com/appMIPges4F2ST4Sm","cachedResultName":"SLR"},"table":{"__rl":true,"mode":"list","value":"tbltF6eQKLmLth73e","cachedResultUrl":"https://airtable.com/appMIPges4F2ST4Sm/tbltF6eQKLmLth73e","cachedResultName":"Table 1"},"columns":{"value":{"DOI":"={{ $json.output.DOI }}","Score":0,"Titel":"={{ $json.output.Titel }}","Author":"={{ $json.output.Author }}","Abstract":"={{ $('SLR Agent').item.json.output.Abstract }}","Decision":"={{ $('SLR Agent').item.json.output.Decision }}","Additional notes":"={{ $('SLR Agent').item.json.output['Additional notes'] }}","Decision Reasoning":"={{ $('SLR Agent').item.json.output['Decision Reasoning'] }}"},"schema":[{"id":"DOI","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"DOI","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Author","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"Author","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Titel","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"Titel","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Abstract","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"Abstract","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Decision","type":"options","display":true,"options":[{"name":"Excluded","value":"Excluded"},{"name":"Included","value":"Included"}],"removed":false,"readOnly":false,"required":false,"displayName":"Decision","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Decision Reasoning","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"Decision Reasoning","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Score","type":"number","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"Score","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Additional notes","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"Additional notes","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"create"},"credentials":{"airtableTokenApi":{"id":"OA9ijRjL5mKS3t2D","name":"SLR Base"}},"typeVersion":2.1},{"id":"66099deb-0697-43de-852f-283450910c97","name":"Move file to Excluded Folder","type":"n8n-nodes-base.googleDrive","position":[2896,848],"parameters":{"fileId":{"__rl":true,"mode":"id","value":"={{ $('Loop Over Items').item.json.id }}"},"driveId":{"__rl":true,"mode":"list","value":"My Drive"},"folderId":{"__rl":true,"mode":"list","value":"1PCQCVbps32P08Ojng944kqXmMDiGfU6e","cachedResultUrl":"https://drive.google.com/drive/folders/1PCQCVbps32P08Ojng944kqXmMDiGfU6e","cachedResultName":"Process Excluded"},"operation":"move"},"credentials":{"googleDriveOAuth2Api":{"id":"oIQmjgdtfBVoiKgP","name":"Jannik.hiller02"}},"typeVersion":3},{"id":"60ca27c8-2505-4c17-9033-519e0b705abe","name":"SLR Agent","type":"@n8n/n8n-nodes-langchain.chainLlm","position":[1984,608],"parameters":{"text":"=This is the paper: \n {{ $json.info.Author }}\n{{ $json.info.Creator }}\n{{ $json.info.Title }}\n{{ $json.metadata }}\n{{ $json.text_cleaned }}\n\n\n","batching":{},"messages":{"messageValues":[{"message":"### ROLE You are a strict academic reviewer conducting a Systematic Literature Review (SLR) on \"LLM Self-Improvement and Debate Mechanisms\". Your ONLY task is to strictly filter the provided paper based on the defined Inclusion Criteria (IC) and Exclusion Criteria (EC).  \n\n### INCLUSION CRITERIA (IC) - Reject if ANY are missing or incomplete: - **IC 1: Technisches Protokoll & Transparenz:** Das Paper muss nicht nur das Base LLM nennen, sondern auch dessen spezifische Version (z. B. GPT-4-Turbo-1106-preview) sowie mindestens einen zentralen Hyperparameter wie die Temperatur angeben. Ohne diese Angaben ist die Validität für einen methodischen Vergleich nicht gegeben. - **IC 2: Spezifikation der Verbesserungsschleife (Intervention):** Die Studie muss die Architektur des Self-Improvement-Mechanismus (z. B. Feedback-Zyklus, Prompt-Chaining oder Multi-Agent-Interaktion) so detailliert beschreiben, dass der Prozess methodisch nachvollziehbar ist. - **IC 3: Komparative Evidenz gegen Baselines (Comparison):** Das Paper muss die Ergebnisse des Self-Improvement-Mechanismus explizit gegen eine definierte Baseline (z. B. Standard Zero-Shot oder Single-Agent Chain-of-Thought) vergleichen. Rein isolierte Leistungswerte ohne Vergleichsbasis reichen nicht aus. - **IC 4: Verwendung anerkannter Benchmarks (Outcomes):** Die Evaluation muss auf standardisierten Datensätzen (z. B. GSM8K, MMLU, QuALITY) oder wissenschaftlich fundierten Metriken (z. B. Elo-Rating, Accuracy, Performance Gap Recovered) basieren. \n\n ### EXCLUSION CRITERIA (EC) - Reject if ANY are met: - **EC 1: Mangelnde Bias-Kontrolle:** Studien, die bekannte KI-Verzerrungen wie den Positional Bias (Antwortreihenfolge) oder Verbosity Bias (bevorzugt längere Antworten) ignorieren oder keine Gegenmaßnahmen (z. B. Swapping Answers, Word Limits) dokumentieren, werden aufgrund mangelnder Qualität ausgeschlossen. - **EC 2: Fehlender Fokus auf die interne Iteration:** Schließe Paper aus, die LLMs lediglich als statische Werkzeuge nutzen, ohne eine interne Feedback- oder Reflexionsschleife zu implementieren, in der das Modell seine eigene Ausgabe bewertet oder modifiziert. - **EC 3: Unzureichende Datenextraktion (Ambiguity):** Studien, deren Ergebnisse zu vage dargestellt sind oder bei denen die Datenextraktion zu zweideutig ist, um den tatsächlichen Effekt der Intervention zu bestimmen, müssen ausgeschlossen werden. - **EC 4: Redundante Publikationen:** Sollten mehrere Versionen derselben Studie vorliegen, wird nur die vollständigste Version (i. d. R. das Journal-Paper) eingeschlossen.  ### TASK 1. Analyze the full paper text thoroughly. 2. Evaluate against every single IC and EC. 3. Check ICs: If ANY IC is not fully met -> EXCLUDE (State exactly which IC failed). 4. Check ECs: If ANY EC is met -> EXCLUDE (State exactly which EC was triggered). 5. Final Decision: Only if ALL ICs are met AND NO ECs are met -> INCLUDE. 6. PRISMA Documentation: For every excluded paper, provide a one-sentence justification based on the criteria (e.g., \"Excluded based on IC 4: No specific Base LLM mentioned\").  ### OUTPUT FORMAT Return ONLY a valid JSON object.  {   \"DOI\": \"Extracted DOI or 'Not Found'\",   \"Author\": \"Extracted Authors\",   \"Titel\": \"Extracted Title\",   \"Decision\": \"Included\" OR \"Excluded\",   \"Decision Reasoning\": \"Strict PRISMA justification. MUST start with the criteria ID if excluded (e.g., 'Excluded based on IC 1: ...' or 'Excluded based on EC 2: ...'). If Included, write 'Passed all criteria'.\" }"}]},"promptType":"define","hasOutputParser":true},"typeVersion":1.9},{"id":"d4736b18-844a-4ed6-b018-fb4ef6b8ed86","name":"Scoring Agent","type":"@n8n/n8n-nodes-langchain.chainLlm","position":[2848,384],"parameters":{"text":"=This is the Paper:  {{ $('Cut of bibliography').item.json.info.Custom }}\n{{ $('Cut of bibliography').item.json.metadata }}\n{{ $('Cut of bibliography').item.json.text_cleaned }}\n","batching":{},"messages":{"messageValues":[{"message":"### ROLE You are an expert academic reviewer. The provided paper has already passed the strict inclusion criteria. Your task is now to perform a \"Full Text Review\", classify the mechanism used, and calculate a quality score (0-20 points).  ### MECHANISM CLASSIFICATION Analyze which of the following three categories best describes the core mechanism of the paper. Choose the ONE that fits best:  1. **Self-Referential Prompting**    (Definition: Models autonomously generate new prompts or modify existing inputs based on their own outputs.) 2. **Reflective Evaluation**    (Definition: Models evaluate and critique their own answers, typically through explicit \"Reflection Prompts\" or external feedback loops.) 3. **Iterative Self-Correction / Debate Mechanismen**    (Definition: Models use dialogue-based structures, e.g., Multi-Agent Debates, to generate competing answers, compare them, and converge on a better result.)  ### SCORING RULES Evaluate the paper against the 10 criteria below. Rate each criterion on a scale of **0 to 2**: - **2 Points:** Vollständig erfüllt / klar dokumentiert. - **1 Point:** Teilweise erfüllt / unklar dargestellt. - **0 Points:** Nicht vorhanden / unzureichend.  ### QUALITY CHECKLIST (Criteria)  **Teil A: Methodische Validität (Grundlagen)** 1. **Klarheit des Mechanismus:** Beschreibt das Paper den Self-Improvement-Prozess (z. B. Feedback-Schleife, Rollen im Debate) so detailliert, dass er theoretisch replizierbar ist? 2. **Angemessenheit der Baseline:** Wird die Methode gegen anerkannte Baselines (z. B. Zero-shot, Standard CoT) verglichen, um den tatsächlichen Mehrwert zu belegen? 3. **Güte der Validierung:** Wurde die Methode an mehr als einem Datensatz oder mit verschiedenen Modell-Familien (z. B. GPT-4 und Llama) getestet?  **Teil B: Technische Präzision (KI-Spezifika)** 4. **Modell-Transparenz (Kern-Parameter):** Wird nicht nur das Basis-Modell, sondern auch die spezifische Version (z. B. GPT-4-1106-preview) genannt? 5. **Hyperparameter-Dokumentation:** Werden sekundäre Parameter wie Temperatur, Top-P oder der Seed angegeben, um die Varianz der Ergebnisse einzuordnen? 6. **Iterations-Protokoll:** Wird die Anzahl der Verbesserungsschritte (N) oder das Abbruchkriterium der Schleife exakt definiert?  **Teil C: Bias-Kontrolle & Ergebnisqualität** 7. **Minderung von Richter-Bias:** Wurden Maßnahmen gegen Positional Bias (z. B. durch Swapping Answers) oder Verbosity Bias (z. B. durch strikte Wortlimits) ergriffen? 8. **Metrische Präzision:** Werden präzise und vergleichbare Metriken wie Accuracy, Performance Gap Recovered (PGR) oder Elo-Ratings verwendet? 9. **Statistische Belastbarkeit:** Gibt das Paper Konfidenzintervalle, Standardabweichungen oder Ergebnisse über mehrere Testläufe an? 10. **Praktischer Mehrwert:** Bietet die Studie konkrete „Best Practices“ oder Empfehlungen für die Entwicklung autonomer, agentischer Systeme?  ### TASK 1. Analyze the full text deeply. 2. Extract the meta-data (DOI, Author, Title). 3. **Classify the paper** into exactly one of the 3 defined Mechanisms. 4. Generate a concise Abstract (max 3 sentences). 5. Score the paper on all 10 criteria (Sum = 0-20). 6. Formulate a \"Decision Reasoning\": Summarize strengths/weaknesses.  ### OUTPUT FORMAT Return ONLY a valid JSON object matching this schema exactly:  {   \"DOI\": \"Extracted DOI string or 'Not Found'\",   \"Author\": \"Extracted Authors\",   \"Titel\": \"Extracted Title\",   \"Mechanism\": \"Strictly one of: 'Self-Referential Prompting', 'Reflective Evaluation', or 'Iterative Self-Correction / Debate Mechanismen'\",   \"Abstract\": \"Summary of content (max 3 sentences)\",   \"Decision\": \"Included\",   \"Decision Reasoning\": \"Detailed summary of strengths/weaknesses based on the checklist scores.\",   \"Score\": Integer between 0 and 20,   \"Additional notes\": \"Optional observations or empty string\" }"}]},"promptType":"define","hasOutputParser":true},"typeVersion":1.9},{"id":"a72208aa-d604-4d35-b4ac-e261672a198c","name":"Log Included folder","type":"n8n-nodes-base.airtable","position":[3328,416],"parameters":{"base":{"__rl":true,"mode":"list","value":"appMIPges4F2ST4Sm","cachedResultUrl":"https://airtable.com/appMIPges4F2ST4Sm","cachedResultName":"SLR"},"table":{"__rl":true,"mode":"list","value":"tbltF6eQKLmLth73e","cachedResultUrl":"https://airtable.com/appMIPges4F2ST4Sm/tbltF6eQKLmLth73e","cachedResultName":"Table 1"},"columns":{"value":{"DOI":"={{ $json.output.DOI }}","Score":"={{ $json.output.Score }}","Titel":"={{ $json.output.Titel }}","Author":"={{ $json.output.Author }}","Abstract":"={{ $json.output.Abstract }}","Decision":"Included","Mechanism":"={{ $json.output.Mechanism }}","Score Reasoning":"={{ $json.output['Decision Reasoning'] }}","Additional notes":"={{ $('SLR Agent').item.json.output['Additional notes'] }}","Decision Reasoning":"={{ $('SLR Agent').item.json.output['Decision Reasoning'] }}"},"schema":[{"id":"DOI","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"DOI","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Author","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"Author","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Titel","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"Titel","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Abstract","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"Abstract","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Decision","type":"options","display":true,"options":[{"name":"Excluded","value":"Excluded"},{"name":"Included","value":"Included"}],"removed":false,"readOnly":false,"required":false,"displayName":"Decision","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Decision Reasoning","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"Decision Reasoning","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Score","type":"number","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"Score","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Score Reasoning","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"Score Reasoning","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Mechanism","type":"options","display":true,"options":[{"name":"Self-Referential Prompting","value":"Self-Referential Prompting"},{"name":"Reflective Evaluation","value":"Reflective Evaluation"},{"name":"Iterative Self-Correction / Debate Mechanismen","value":"Iterative Self-Correction / Debate Mechanismen"}],"removed":false,"readOnly":false,"required":false,"displayName":"Mechanism","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Additional notes","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"Additional notes","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"create"},"credentials":{"airtableTokenApi":{"id":"OA9ijRjL5mKS3t2D","name":"SLR Base"}},"typeVersion":2.1},{"id":"cec16c84-ee57-40ed-ad24-5972607c8f98","name":"Move file to included folder","type":"n8n-nodes-base.googleDrive","position":[4480,1472],"parameters":{"fileId":{"__rl":true,"mode":"id","value":"={{ $('Loop Over Items').item.json.id }}"},"driveId":{"__rl":true,"mode":"list","value":"My Drive"},"folderId":{"__rl":true,"mode":"list","value":"19W3qW76F2gxlMPkZnKA64HYCA-Od2OcK","cachedResultUrl":"https://drive.google.com/drive/folders/19W3qW76F2gxlMPkZnKA64HYCA-Od2OcK","cachedResultName":"Processed Included"},"operation":"move"},"credentials":{"googleDriveOAuth2Api":{"id":"oIQmjgdtfBVoiKgP","name":"Jannik.hiller02"}},"typeVersion":3},{"id":"785afcc8-9ccf-4e7f-ad40-d01fff495718","name":"Move file to included folder1","type":"n8n-nodes-base.googleDrive","position":[4720,1472],"parameters":{"fileId":{"__rl":true,"mode":"id","value":"={{ $('Loop Over Items').item.json.id }}"},"driveId":{"__rl":true,"mode":"list","value":"My Drive"},"folderId":{"__rl":true,"mode":"list","value":"19W3qW76F2gxlMPkZnKA64HYCA-Od2OcK","cachedResultUrl":"https://drive.google.com/drive/folders/19W3qW76F2gxlMPkZnKA64HYCA-Od2OcK","cachedResultName":"Processed Included"},"operation":"move"},"credentials":{"googleDriveOAuth2Api":{"id":"oIQmjgdtfBVoiKgP","name":"Jannik.hiller02"}},"typeVersion":3},{"id":"22a4af64-02f0-4884-b280-1355465247d3","name":"Move file to included folder2","type":"n8n-nodes-base.googleDrive","position":[4960,1472],"parameters":{"fileId":{"__rl":true,"mode":"id","value":"={{ $('Loop Over Items').item.json.id }}"},"driveId":{"__rl":true,"mode":"list","value":"My Drive"},"folderId":{"__rl":true,"mode":"list","value":"19W3qW76F2gxlMPkZnKA64HYCA-Od2OcK","cachedResultUrl":"https://drive.google.com/drive/folders/19W3qW76F2gxlMPkZnKA64HYCA-Od2OcK","cachedResultName":"Processed Included"},"operation":"move"},"credentials":{"googleDriveOAuth2Api":{"id":"oIQmjgdtfBVoiKgP","name":"Jannik.hiller02"}},"typeVersion":3},{"id":"8d2e0162-c05b-45ab-888e-894ed7f5cf4b","name":"Vector Store - collection 1","type":"@n8n/n8n-nodes-langchain.vectorStoreQdrant","position":[4000,416],"parameters":{"mode":"insert","options":{},"qdrantCollection":{"__rl":true,"mode":"list","value":"Self-Referential Prompting - – Modelle generieren eigenständig neue Prompts oder modifizieren bestehende Eingaben auf Basis eigener Ausgaben.","cachedResultName":"Self-Referential Prompting - – Modelle generieren eigenständig neue Prompts oder modifizieren bestehende Eingaben auf Basis eigener Ausgaben."}},"credentials":{"qdrantApi":{"id":"BtnTyNldsCJlXb1Q","name":"Self-hosted"}},"typeVersion":1.3},{"id":"a8563e2f-ec90-4ab8-aee7-85501d9a5c52","name":"Vector Store - collection 2","type":"@n8n/n8n-nodes-langchain.vectorStoreQdrant","position":[3968,816],"parameters":{"mode":"insert","options":{},"qdrantCollection":{"__rl":true,"mode":"list","value":"Reflective Evaluation – Modelle bewerten und hinterfragen ihre eigenen Antworten, typischerweise durch explizite „Reflection Prompts“ oder externe Feedback-Schleifen.","cachedResultName":"Reflective Evaluation – Modelle bewerten und hinterfragen ihre eigenen Antworten, typischerweise durch explizite „Reflection Prompts“ oder externe Feedback-Schleifen."}},"credentials":{"qdrantApi":{"id":"BtnTyNldsCJlXb1Q","name":"Self-hosted"}},"typeVersion":1.3},{"id":"b249a9a8-661c-428f-be3b-d62a18dd04c9","name":"Vector Store - collection 3","type":"@n8n/n8n-nodes-langchain.vectorStoreQdrant","position":[3952,1264],"parameters":{"mode":"insert","options":{},"qdrantCollection":{"__rl":true,"mode":"list","value":"Iterative Self-Correction Debate Mechanismen – Modelle nutzen dialogbasierte Strukturen (z. B. LLM Debates), um konkurrierende Antworten zu erzeugen, zu vergleichen und auf ein besseres Ergebnis zu konvergieren.","cachedResultName":"Iterative Self-Correction Debate Mechanismen – Modelle nutzen dialogbasierte Strukturen (z. B. LLM Debates), um konkurrierende Antworten zu erzeugen, zu vergleichen und auf ein besseres Ergebnis zu konvergieren."}},"credentials":{"qdrantApi":{"id":"BtnTyNldsCJlXb1Q","name":"Self-hosted"}},"typeVersion":1.3},{"id":"c0309ed1-659a-4339-afbe-be27836db008","name":"Cut of bibliography","type":"n8n-nodes-base.code","position":[1648,608],"parameters":{"jsCode":"// Name des Feldes anpassen\nconst inputFieldName = 'text'; \n\nfor (const item of items) {\n    \n    // --- SICHERHEITS-CHECK START ---\n    // Wir stellen sicher, dass die Struktur immer existiert, auch wenn sie leer ist.\n    // So schlagen Referenzen wie item.json.info.Custom später nicht fehl.\n    \n    // 1. info.Custom initialisieren\n    if (!item.json.info) item.json.info = {};\n    if (!item.json.info.Custom) item.json.info.Custom = {}; // Leeres Objekt {} falls fehlend\n\n    // 2. metadata initialisieren\n    if (!item.json.metadata) item.json.metadata = {}; // Leeres Objekt {} falls fehlend\n\n    // 3. Default für text_cleaned\n    let content = '';\n    // --- SICHERHEITS-CHECK ENDE ---\n\n\n    // Prüfen, ob wir überhaupt Text zum Bearbeiten haben\n    if (item.json[inputFieldName]) {\n        content = item.json[inputFieldName];\n        \n        // 1. Wörter, bei denen wir abschneiden wollen (Müll)\n        const cutOffWords = [\n            'References',\n            'Bibliography',\n            'Works Cited',\n            'LITERATURVERZEICHNIS' \n        ];\n\n        // 2. Wörter, die wir UNBEDINGT behalten wollen (Gold)\n        const protectedWords = [\n            'Appendix',\n            'Appendices',\n            'Anhang'\n        ];\n\n        // Wir suchen das früheste Vorkommen eines Cut-Off Wortes\n        let cutIndex = -1;\n        let foundWord = '';\n\n        for (const word of cutOffWords) {\n            // Regex: Zeilenumbruch + optional Leerzeichen + Wort (Case Insensitive)\n            const regex = new RegExp(`\\\\n\\\\s*${word}`, 'i');\n            const match = content.match(regex);\n            \n            if (match) {\n                // Wenn wir was finden, merken wir uns, wo es anfängt\n                if (cutIndex === -1 || match.index < cutIndex) {\n                    cutIndex = match.index;\n                    foundWord = word;\n                }\n            }\n        }\n\n        // JETZT KOMMT DIE MAGIE: Der Sicherheits-Check 🛡️\n        let isSafeToCut = true;\n\n        if (cutIndex > -1) {\n            // Wir prüfen: Kommt NACH dem Cut-Index noch ein \"Protected Word\" (Appendix)?\n            const textAfterCut = content.substring(cutIndex);\n            \n            for (const safeWord of protectedWords) {\n                const safeRegex = new RegExp(`\\\\n\\\\s*${safeWord}`, 'i');\n                if (textAfterCut.match(safeRegex)) {\n                    // ALARM! Ein Appendix kommt nach den References.\n                    isSafeToCut = false;\n                    break;\n                }\n            }\n\n            // Nur schneiden, wenn es sicher ist (kein Appendix dahinter)\n            if (isSafeToCut) {\n                content = content.substring(0, cutIndex);\n            }\n        }\n        \n        // Status für Debugging setzen\n        item.json.cleaning_status = cutIndex > -1 \n            ? (isSafeToCut ? `Cut at ${foundWord}` : `Kept References because Appendix was found`) \n            : 'Nothing to cut found';\n            \n    } else {\n        item.json.cleaning_status = 'No text content available';\n    }\n    \n    // Das Ergebnis IMMER speichern (auch wenn es leer ist)\n    item.json.text_cleaned = content;\n}\n\nreturn items;"},"typeVersion":2},{"id":"293221e1-cec4-47f4-a31d-b3cde4905d50","name":"Route to sub topic","type":"n8n-nodes-base.switch","position":[3568,784],"parameters":{"rules":{"values":[{"outputKey":"Self-Referential Prompting","conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"62525eb8-a00b-4203-9489-63ada8062b00","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.output.Mechanism }}","rightValue":"Self-Referential Prompting"}]},"renameOutput":true},{"outputKey":"Reflective Evaluation","conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"36552f69-04e2-4171-9805-90fe81b8ffa7","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.output.Mechanism }}","rightValue":"Reflective Evaluation"}]},"renameOutput":true},{"outputKey":"Iterative Self-Correction / Debate Mechanismen","conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"1277918d-effe-4d01-abca-ad72d40f6a75","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.output.Mechanism }}","rightValue":"Iterative Self-Correction / Debate Mechanismen"}]},"renameOutput":true}]},"options":{}},"typeVersion":3.4}],"pinData":{},"connections":{"If":{"main":[[{"node":"Scoring Agent","type":"main","index":0}],[{"node":"Log Excluded Paper","type":"main","index":0}]]},"SLR Agent":{"main":[[{"node":"If","type":"main","index":0}]]},"Download PDF":{"main":[[{"node":"Extract PDF Text","type":"main","index":0}]]},"Scoring Agent":{"main":[[{"node":"Route to sub topic","type":"main","index":0},{"node":"Log Included folder","type":"main","index":0}]]},"Loop Over Items":{"main":[[],[{"node":"Download PDF","type":"main","index":0}]]},"Extract PDF Text":{"main":[[{"node":"Cut of bibliography","type":"main","index":0}]]},"OpenAI Chat Model":{"ai_languageModel":[[{"node":"SLR Agent","type":"ai_languageModel","index":0}]]},"Log Excluded Paper":{"main":[[{"node":"Move file to Excluded Folder","type":"main","index":0}]]},"OpenAI Chat Model1":{"ai_languageModel":[[{"node":"Scoring Agent","type":"ai_languageModel","index":0}]]},"Route to sub topic":{"main":[[{"node":"Vector Store - collection 1","type":"main","index":0}],[{"node":"Vector Store - collection 2","type":"main","index":0}],[{"node":"Vector Store - collection 3","type":"main","index":0}]]},"Cut of bibliography":{"main":[[{"node":"SLR Agent","type":"main","index":0}]]},"Default Data Loader":{"ai_document":[[{"node":"Vector Store - collection 1","type":"ai_document","index":0}]]},"Default Data Loader1":{"ai_document":[[{"node":"Vector Store - collection 2","type":"ai_document","index":0}]]},"Default Data Loader2":{"ai_document":[[{"node":"Vector Store - collection 3","type":"ai_document","index":0}]]},"Embeddings Google Gemini":{"ai_embedding":[[{"node":"Vector Store - collection 3","type":"ai_embedding","index":0}]]},"Search files and folders":{"main":[[{"node":"Loop Over Items","type":"main","index":0}]]},"Structured Output Parser":{"ai_outputParser":[[{"node":"SLR Agent","type":"ai_outputParser","index":0}]]},"Embeddings Google Gemini1":{"ai_embedding":[[{"node":"Vector Store - collection 2","type":"ai_embedding","index":0}]]},"Embeddings Google Gemini2":{"ai_embedding":[[{"node":"Vector Store - collection 1","type":"ai_embedding","index":0}]]},"Google Gemini Chat Model1":{"ai_languageModel":[[{"node":"Structured Output Parser","type":"ai_languageModel","index":0}]]},"Google Gemini Chat Model3":{"ai_languageModel":[[{"node":"Structured Output Parser1","type":"ai_languageModel","index":0}]]},"Structured Output Parser1":{"ai_outputParser":[[{"node":"Scoring Agent","type":"ai_outputParser","index":0}]]},"Vector Store - collection 1":{"main":[[{"node":"Move file to included folder2","type":"main","index":0}]]},"Vector Store - collection 2":{"main":[[{"node":"Move file to included folder1","type":"main","index":0}]]},"Vector Store - collection 3":{"main":[[{"node":"Move file to included folder","type":"main","index":0}]]},"Move file to Excluded Folder":{"main":[[{"node":"Loop Over Items","type":"main","index":0}]]},"Move file to included folder":{"main":[[{"node":"Loop Over Items","type":"main","index":0}]]},"Move file to included folder1":{"main":[[{"node":"Loop Over Items","type":"main","index":0}]]},"Move file to included folder2":{"main":[[{"node":"Loop Over Items","type":"main","index":0}]]},"When clicking ‘Execute workflow’":{"main":[[{"node":"Search files and folders","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":36,"nodeTypes":{"n8n-nodes-base.if":{"count":1},"n8n-nodes-base.code":{"count":1},"n8n-nodes-base.switch":{"count":1},"n8n-nodes-base.airtable":{"count":2},"n8n-nodes-base.stickyNote":{"count":5},"n8n-nodes-base.googleDrive":{"count":6},"n8n-nodes-base.manualTrigger":{"count":1},"n8n-nodes-base.splitInBatches":{"count":1},"n8n-nodes-base.extractFromFile":{"count":1},"@n8n/n8n-nodes-langchain.chainLlm":{"count":2},"@n8n/n8n-nodes-langchain.lmChatOpenAi":{"count":2},"@n8n/n8n-nodes-langchain.vectorStoreQdrant":{"count":3},"@n8n/n8n-nodes-langchain.lmChatGoogleGemini":{"count":2},"@n8n/n8n-nodes-langchain.embeddingsGoogleGemini":{"count":3},"@n8n/n8n-nodes-langchain.outputParserStructured":{"count":2},"@n8n/n8n-nodes-langchain.documentDefaultDataLoader":{"count":3}}},"status":"published","readyToDemo":null,"user":{"name":"Jannik Hiller","username":"jannik-mtm","bio":"Automation consultant & developer coming from a performance Marketing and Marketing Automation background.","verified":true,"links":["https://www.linkedin.com/in/jannik-h-a02a28289/"],"avatar":"https://gravatar.com/avatar/cba12cda12d86db24f3123e537717d5134ffc3227ffd945ab9a3e75d0f1cb010?r=pg&d=retro&size=200"},"nodes":[{"id":2,"icon":"file:airtable.svg","name":"n8n-nodes-base.airtable","codex":{"data":{"resources":{"generic":[{"url":"https://n8n.io/blog/2021-goals-level-up-your-vocabulary-with-vonage-and-n8n/","icon":"🎯","label":"2021 Goals: Level Up Your Vocabulary With Vonage and n8n"},{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/","icon":"🔗","label":"How to build a low-code, self-hosted URL shortener in 3 steps"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/building-an-expense-tracking-app-in-10-minutes/","icon":"📱","label":"Building an expense tracking app in 10 minutes"},{"url":"https://n8n.io/blog/why-this-product-manager-loves-workflow-automation-with-n8n/","icon":"🧠","label":"Why this Product Manager loves workflow automation with n8n"},{"url":"https://n8n.io/blog/learn-to-build-powerful-api-endpoints-using-webhooks/","icon":"🧰","label":"Learn to Build Powerful API Endpoints Using Webhooks"},{"url":"https://n8n.io/blog/sending-sms-the-low-code-way-with-airtable-twilio-programmable-sms-and-n8n/","icon":"📱","label":"Sending SMS the Low-Code Way with Airtable, Twilio Programmable SMS, and n8n"},{"url":"https://n8n.io/blog/automating-conference-organization-processes-with-n8n/","icon":"🙋‍♀️","label":"Automating Conference Organization Processes with n8n"},{"url":"https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"},{"url":"https://n8n.io/blog/how-goomer-automated-their-operations-with-over-200-n8n-workflows/","icon":"🛵","label":"How Goomer automated their operations with over 200 n8n workflows"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.airtable/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/airtable/"}]},"categories":["Data & Storage"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"input\"]","defaults":{"name":"Airtable"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMDAgMTcwIj48cGF0aCBmaWxsPSIjZmNiNDAwIiBkPSJNODkgNC44IDE2LjIgMzQuOWMtNC4xIDEuNy00IDcuNC4xIDkuMWw3My4yIDI5YzYuNCAyLjYgMTMuNiAyLjYgMjAgMGw3My4yLTI5YzQuMS0xLjYgNC4xLTcuNC4xLTkuMWwtNzMtMzAuMUMxMDMuMiAyIDk1LjcgMiA4OSA0LjgiLz48cGF0aCBmaWxsPSIjMThiZmZmIiBkPSJNMTA1LjkgODguOXY3Mi41YzAgMy40IDMuNSA1LjggNi43IDQuNWw4MS42LTMxLjdjMS45LS43IDMuMS0yLjUgMy4xLTQuNVY1Ny4yYzAtMy40LTMuNS01LjgtNi43LTQuNUwxMDkgODQuM2MtMS45LjgtMy4xIDIuNi0zLjEgNC42Ii8+PHBhdGggZmlsbD0iI2Y4MmI2MCIgZD0ibTg2LjkgOTIuNi0yNC4yIDExLjctMi41IDEuMkw5LjEgMTMwYy0zLjIgMS42LTcuNC0uOC03LjQtNC40VjU3LjVjMC0xLjMuNy0yLjQgMS42LTMuM3EuNi0uNiAxLjItLjljMS4yLS43IDMtLjkgNC40LS4zbDc3LjUgMzAuN2M0IDEuNSA0LjMgNy4xLjUgOC45Ii8+PHBhdGggZmlsbD0iI2JhMWU0NSIgZD0ibTg2LjkgOTIuNi0yNC4yIDExLjctNTkuNC01MHEuNi0uNiAxLjItLjljMS4yLS43IDMtLjkgNC40LS4zbDc3LjUgMzAuN2M0IDEuNCA0LjMgNyAuNSA4LjgiLz48L3N2Zz4="},"displayName":"Airtable","typeVersion":2,"nodeCategories":[{"id":3,"name":"Data & Storage"}]},{"id":20,"icon":"fa:map-signs","name":"n8n-nodes-base.if","codex":{"data":{"alias":["Router","Filter","Condition","Logic","Boolean","Branch"],"details":"The IF node can be used to implement binary conditional logic in your workflow. You can set up one-to-many conditions to evaluate each item of data being inputted into the node. That data will either evaluate to TRUE or FALSE and route out of the node accordingly.\n\nThis node has multiple types of conditions: Bool, String, Number, and Date & Time.","resources":{"generic":[{"url":"https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/","icon":"🏭","label":"Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"},{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/create-a-toxic-language-detector-for-telegram/","icon":"🤬","label":"Create a toxic language detector for Telegram in 4 step"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/","icon":"🔗","label":"How to build a low-code, self-hosted URL shortener in 3 steps"},{"url":"https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/","icon":"⚙️","label":"Automate your data processing pipeline in 9 steps"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/automation-for-maintainers-of-open-source-projects/","icon":"🏷️","label":"How to automatically manage contributions to open-source projects"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/why-this-product-manager-loves-workflow-automation-with-n8n/","icon":"🧠","label":"Why this Product Manager loves workflow automation with n8n"},{"url":"https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/","icon":"🙌","label":"Sending Automated Congratulations with Google Sheets, Twilio, and n8n "},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.if/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow"]}}},"group":"[\"transform\"]","defaults":{"name":"If","color":"#408000"},"iconData":{"icon":"map-signs","type":"icon"},"displayName":"If","typeVersion":2,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":39,"icon":"fa:sync","name":"n8n-nodes-base.splitInBatches","codex":{"data":{"alias":["Loop","Concatenate","Batch","Split","Split In Batches"],"resources":{"generic":[{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.splitinbatches/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow"]}}},"group":"[\"organization\"]","defaults":{"name":"Loop Over Items","color":"#007755"},"iconData":{"icon":"sync","type":"icon"},"displayName":"Loop Over Items (Split in Batches)","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":58,"icon":"file:googleDrive.svg","name":"n8n-nodes-base.googleDrive","codex":{"data":{"resources":{"generic":[{"url":"https://n8n.io/blog/your-business-doesnt-need-you-to-operate/","icon":" 🖥️","label":"Hey founders! Your business doesn't need you to operate"},{"url":"https://n8n.io/blog/why-this-product-manager-loves-workflow-automation-with-n8n/","icon":"🧠","label":"Why this Product Manager loves workflow automation with n8n"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googledrive/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]},"categories":["Data & Storage"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"input\"]","defaults":{"name":"Google Drive"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB2aWV3Qm94PSIwIDAgODEgNzMiPjx1c2UgeGxpbms6aHJlZj0iI2EiIHg9Ii41IiB5PSIuNSIvPjxzeW1ib2wgaWQ9ImEiIG92ZXJmbG93PSJ2aXNpYmxlIj48ZyBmaWxsLXJ1bGU9Im5vbnplcm8iIHN0cm9rZT0ibm9uZSI+PHBhdGggZmlsbD0iIzAwNjZkYSIgZD0ibTYuMDQ4IDYxLjI2IDMuNTI4IDYuMDk0Yy43MzMgMS4yODMgMS43ODcgMi4yOTEgMy4wMjQgMy4wMjRsMTIuNi0yMS44MUgwYTguMyA4LjMgMCAwIDAgMS4xIDQuMTI0eiIvPjxwYXRoIGZpbGw9IiMwMGFjNDciIGQ9Ik00MCAyMi45MSAyNy40IDEuMWMtMS4yMzcuNzMzLTIuMjkxIDEuNzQxLTMuMDI0IDMuMDI0TDEuMSA0NC40NDVBOC4zIDguMyAwIDAgMCAwIDQ4LjU2OGgyNS4yeiIvPjxwYXRoIGZpbGw9IiNlYTQzMzUiIGQ9Ik02Ny40IDcwLjM3OGMxLjIzNy0uNzMzIDIuMjkxLTEuNzQxIDMuMDI0LTMuMDI0bDEuNDY2LTIuNTIgNy4wMS0xMi4xNDJhOC4zIDguMyAwIDAgMCAxLjEtNC4xMjRINTQuNzk4bDUuMzYzIDEwLjUzOHoiLz48cGF0aCBmaWxsPSIjMDA4MzJkIiBkPSJNNDAgMjIuOTEgNTIuNiAxLjFDNTEuMzYzLjM2NyA0OS45NDMgMCA0OC40NzcgMEgzMS41MjRjLTEuNDY2IDAtMi44ODcuNDEyLTQuMTI0IDEuMXoiLz48cGF0aCBmaWxsPSIjMjY4NGZjIiBkPSJNNTQuNzk5IDQ4LjU2OEgyNS4ybC0xMi42IDIxLjgxYzEuMjM3LjczMyAyLjY1NyAxLjEgNC4xMjQgMS4xaDQ2LjU1MmMxLjQ2NiAwIDIuODg3LS40MTIgNC4xMjQtMS4xeiIvPjxwYXRoIGZpbGw9IiNmZmJhMDAiIGQ9Ik02Ny4yNjIgMjQuMjg0IDU1LjYyNCA0LjEyNEM1NC44OTEgMi44NDEgNTMuODM3IDEuODMzIDUyLjYgMS4xTDQwIDIyLjkxbDE0LjggMjUuNjU5aDI1LjE1NWE4LjMgOC4zIDAgMCAwLTEuMS00LjEyNHoiLz48L2c+PC9zeW1ib2w+PC9zdmc+"},"displayName":"Google Drive","typeVersion":3,"nodeCategories":[{"id":3,"name":"Data & Storage"}]},{"id":112,"icon":"fa:map-signs","name":"n8n-nodes-base.switch","codex":{"data":{"alias":["Router","If","Path","Filter","Condition","Logic","Branch","Case"],"resources":{"generic":[{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/build-your-own-virtual-assistant-with-n8n-a-step-by-step-guide/","icon":"👦","label":"Build your own virtual assistant with n8n: A step by step guide"},{"url":"https://n8n.io/blog/automation-for-maintainers-of-open-source-projects/","icon":"🏷️","label":"How to automatically manage contributions to open-source projects"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.switch/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow"]}}},"group":"[\"transform\"]","defaults":{"name":"Switch","color":"#506000"},"iconData":{"icon":"map-signs","type":"icon"},"displayName":"Switch","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":565,"icon":"fa:sticky-note","name":"n8n-nodes-base.stickyNote","codex":{"data":{"alias":["Comments","Notes","Sticky"],"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"input\"]","defaults":{"name":"Sticky Note","color":"#FFD233"},"iconData":{"icon":"sticky-note","type":"icon"},"displayName":"Sticky Note","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":834,"icon":"file:code.svg","name":"n8n-nodes-base.code","codex":{"data":{"alias":["cpde","Javascript","JS","Python","Script","Custom Code","Function"],"details":"The Code node allows you to execute JavaScript in your workflow.","resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.code/"}]},"categories":["Development","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers","Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Code"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8xMTcxXzQ0MSkiPgo8cGF0aCBkPSJNMTcwLjI4MyA0OEgxOTYuNUMyMDMuMTI3IDQ4IDIwOC41IDQyLjYyNzQgMjA4LjUgMzZWMTJDMjA4LjUgNS4zNzI1OCAyMDMuMTI3IDAgMTk2LjUgMEgxNzAuMjgzQzEyNi4xIDAgOTAuMjgzIDM1LjgxNzIgOTAuMjgzIDgwVjE3NkM5MC4yODMgMjA2LjkyOCA2NS4yMTA5IDIzMiAzNC4yODMgMjMySDIzQzE2LjM3MjYgMjMyIDExIDIzNy4zNzIgMTEgMjQ0VjI2OEMxMSAyNzQuNjI3IDE2LjM3MjQgMjgwIDIyLjk5OTYgMjgwTDM0LjI4MyAyODBDNjUuMjEwOSAyODAgOTAuMjgzIDMwNS4wNzIgOTAuMjgzIDMzNlY0NDBDOTAuMjgzIDQ3OS43NjQgMTIyLjUxOCA1MTIgMTYyLjI4MyA1MTJIMTk2LjVDMjAzLjEyNyA1MTIgMjA4LjUgNTA2LjYyNyAyMDguNSA1MDBWNDc2QzIwOC41IDQ2OS4zNzMgMjAzLjEyNyA0NjQgMTk2LjUgNDY0SDE2Mi4yODNDMTQ5LjAyOCA0NjQgMTM4LjI4MyA0NTMuMjU1IDEzOC4yODMgNDQwVjMzNkMxMzguMjgzIDMwOS4wMjIgMTI4LjAxMSAyODQuNDQzIDExMS4xNjQgMjY1Ljk2MUMxMDYuMTA5IDI2MC40MTYgMTA2LjEwOSAyNTEuNTg0IDExMS4xNjQgMjQ2LjAzOUMxMjguMDExIDIyNy41NTcgMTM4LjI4MyAyMDIuOTc4IDEzOC4yODMgMTc2VjgwQzEzOC4yODMgNjIuMzI2OSAxNTIuNjEgNDggMTcwLjI4MyA0OFoiIGZpbGw9IiNGRjk5MjIiLz4KPHBhdGggZD0iTTMwNSAzNkMzMDUgNDIuNjI3NCAzMTAuMzczIDQ4IDMxNyA0OEgzNDIuOTc5QzM2MC42NTIgNDggMzc0Ljk3OCA2Mi4zMjY5IDM3NC45NzggODBWMTc2QzM3NC45NzggMjAyLjk3OCAzODUuMjUxIDIyNy41NTcgNDAyLjA5OCAyNDYuMDM5QzQwNy4xNTMgMjUxLjU4NCA0MDcuMTUzIDI2MC40MTYgNDAyLjA5OCAyNjUuOTYxQzM4NS4yNTEgMjg0LjQ0MyAzNzQuOTc4IDMwOS4wMjIgMzc0Ljk3OCAzMzZWNDMyQzM3NC45NzggNDQ5LjY3MyAzNjAuNjUyIDQ2NCAzNDIuOTc5IDQ2NEgzMTdDMzEwLjM3MyA0NjQgMzA1IDQ2OS4zNzMgMzA1IDQ3NlY1MDBDMzA1IDUwNi42MjcgMzEwLjM3MyA1MTIgMzE3IDUxMkgzNDIuOTc5QzM4Ny4xNjEgNTEyIDQyMi45NzggNDc2LjE4MyA0MjIuOTc4IDQzMlYzMzZDNDIyLjk3OCAzMDUuMDcyIDQ0OC4wNTEgMjgwIDQ3OC45NzkgMjgwSDQ5MEM0OTYuNjI3IDI4MCA1MDIgMjc0LjYyOCA1MDIgMjY4VjI0NEM1MDIgMjM3LjM3MyA0OTYuNjI4IDIzMiA0OTAgMjMyTDQ3OC45NzkgMjMyQzQ0OC4wNTEgMjMyIDQyMi45NzggMjA2LjkyOCA0MjIuOTc4IDE3NlY4MEM0MjIuOTc4IDM1LjgxNzIgMzg3LjE2MSAwIDM0Mi45NzkgMEgzMTdDMzEwLjM3MyAwIDMwNSA1LjM3MjU4IDMwNSAxMlYzNloiIGZpbGw9IiNGRjk5MjIiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8xMTcxXzQ0MSI+CjxyZWN0IHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo="},"displayName":"Code","typeVersion":2,"nodeCategories":[{"id":5,"name":"Development"},{"id":9,"name":"Core Nodes"}]},{"id":838,"icon":"fa:mouse-pointer","name":"n8n-nodes-base.manualTrigger","codex":{"data":{"resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.manualworkflowtrigger/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"trigger\"]","defaults":{"name":"When clicking ‘Execute workflow’","color":"#909298"},"iconData":{"icon":"mouse-pointer","type":"icon"},"displayName":"Manual Trigger","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":1123,"icon":"fa:link","name":"@n8n/n8n-nodes-langchain.chainLlm","codex":{"data":{"alias":["LangChain"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.chainllm/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Chains","Root Nodes"]}}},"group":"[\"transform\"]","defaults":{"name":"Basic LLM Chain","color":"#909298"},"iconData":{"icon":"link","type":"icon"},"displayName":"Basic LLM Chain","typeVersion":2,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1153,"icon":"file:openAiLight.svg","name":"@n8n/n8n-nodes-langchain.lmChatOpenAi","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatopenai/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Language Models","Root Nodes"],"Language Models":["Chat Models (Recommended)"]}}},"group":"[\"transform\"]","defaults":{"name":"OpenAI Chat Model"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTM2Ljg2NzEgMTYuMzcxOEMzNy43NzQ2IDEzLjY0OCAzNy40NjIxIDEwLjY2NDIgMzYuMDEwOCA4LjE4NjYxQzMzLjgyODIgNC4zODY1MyAyOS40NDA3IDIuNDMxNDkgMjUuMTU1NiAzLjM1MTUxQzIzLjI0OTMgMS4yMDM5NiAyMC41MTA1IC0wLjAxNzMxNDggMTcuNjM5MiAwLjAwMDE4NTUzM0MxMy4yNTkxIC0wLjAwOTgxNDY4IDkuMzcyNzMgMi44MTAyNSA4LjAyNTIgNi45Nzc4M0M1LjIxMTM5IDcuNTU0MSAyLjc4MjU4IDkuMzE1MzggMS4zNjEzIDExLjgxMTdDLTAuODM3NDkzIDE1LjYwMTggLTAuMzM2MjMyIDIwLjM3OTQgMi42MDEzMyAyMy42Mjk0QzEuNjkzODEgMjYuMzUzMiAyLjAwNjMyIDI5LjMzNzEgMy40NTc2IDMxLjgxNDZDNS42NDAxNSAzNS42MTQ3IDEwLjAyNzcgMzcuNTY5NyAxNC4zMTI4IDM2LjY0OTdDMTYuMjE3OSAzOC43OTczIDE4Ljk1NzkgNDAuMDE4NSAyMS44MjkyIDM5Ljk5OThDMjYuMjExOCA0MC4wMTEgMzAuMDk5NCAzNy4xODg1IDMxLjQ0NjkgMzMuMDE3MUMzNC4yNjA4IDMyLjQ0MDkgMzYuNjg5NiAzMC42Nzk2IDM4LjExMDggMjguMTgzM0M0MC4zMDcxIDI0LjM5MzIgMzkuODA0NiAxOS42MTk0IDM2Ljg2ODMgMTYuMzY5M0wzNi44NjcxIDE2LjM3MThaTTIxLjgzMTcgMzcuMzg2QzIwLjA3OCAzNy4zODg1IDE4LjM3OTIgMzYuNzc0NyAxNy4wMzI5IDM1LjY1MDlDMTcuMDk0MSAzNS42MTg0IDE3LjIwMDQgMzUuNTU5NyAxNy4yNjkxIDM1LjUxNzJMMjUuMjM0MyAzMC45MTcxQzI1LjY0MTggMzAuNjg1OCAyNS44OTE4IDMwLjI1MjEgMjUuODg5MyAyOS43ODMzVjE4LjU1NDNMMjkuMjU1NyAyMC40OTgxQzI5LjI5MTkgMjAuNTE1NiAyOS4zMTU3IDIwLjU1MDYgMjkuMzIwNyAyMC41OTA2VjI5Ljg4OTZDMjkuMzE1NyAzNC4wMjQ3IDI1Ljk2NjggMzcuMzc3MiAyMS44MzE3IDM3LjM4NlpNNS43MjY0IDMwLjUwNzFDNC44NDc2MyAyOC45ODk2IDQuNTMxMzcgMjcuMjEwOCA0LjgzMjYzIDI1LjQ4NDVDNC44OTEzOCAyNS41MTk1IDQuOTk1MTMgMjUuNTgzMiA1LjA2ODg4IDI1LjYyNTdMMTMuMDM0MSAzMC4yMjU4QzEzLjQzNzggMzAuNDYyMSAxMy45Mzc4IDMwLjQ2MjEgMTQuMzQyOCAzMC4yMjU4TDI0LjA2NjggMjQuNjEwN1YyOC40OTgzQzI0LjA2OTMgMjguNTM4MyAyNC4wNTA1IDI4LjU3NyAyNC4wMTkzIDI4LjYwMkwxNS45Njc5IDMzLjI1MDlDMTIuMzgxNSAzNS4zMTU5IDcuODAxNDQgMzQuMDg4NCA1LjcyNzY1IDMwLjUwNzFINS43MjY0Wk0zLjYzMDEgMTMuMTIwNUM0LjUwNTEyIDExLjYwMDQgNS44ODY0IDEwLjQzNzkgNy41MzE0NCA5LjgzNDE1QzcuNTMxNDQgOS45MDI5IDcuNTI3NjkgMTAuMDI0MiA3LjUyNzY5IDEwLjEwOTJWMTkuMzEwNkM3LjUyNTE5IDE5Ljc3ODEgNy43NzUxOSAyMC4yMTE5IDguMTgxNDUgMjAuNDQzMUwxNy45MDU0IDI2LjA1N0wxNC41MzkxIDI4LjAwMDhDMTQuNTA1MyAyOC4wMjMzIDE0LjQ2MjggMjguMDI3IDE0LjQyNTMgMjguMDEwOEw2LjM3MjY2IDIzLjM1ODJDMi43OTM4MyAyMS4yODU2IDEuNTY2MzEgMTYuNzA2OCAzLjYyODg1IDEzLjEyMTdMMy42MzAxIDEzLjEyMDVaTTMxLjI4ODIgMTkuNTU2OUwyMS41NjQyIDEzLjk0MTdMMjQuOTMwNiAxMS45OTkyQzI0Ljk2NDMgMTEuOTc2NyAyNS4wMDY4IDExLjk3MjkgMjUuMDQ0MyAxMS45ODkyTDMzLjA5NyAxNi42MzhDMzYuNjgyMSAxOC43MDkzIDM3LjkxMDggMjMuMjk1NyAzNS44Mzk1IDI2Ljg4MDhDMzQuOTYzMyAyOC4zOTgzIDMzLjU4MzIgMjkuNTYwOCAzMS45Mzk1IDMwLjE2NThWMjAuNjg5NEMzMS45NDMyIDIwLjIyMTkgMzEuNjk0NSAxOS43ODk0IDMxLjI4OTQgMTkuNTU2OUgzMS4yODgyWk0zNC42MzgzIDE0LjUxNDJDMzQuNTc5NSAxNC40NzggMzQuNDc1OCAxNC40MTU1IDM0LjQwMiAxNC4zNzNMMjYuNDM2OCA5Ljc3Mjg5QzI2LjAzMzEgOS41MzY2NCAyNS41MzMxIDkuNTM2NjQgMjUuMTI4MSA5Ljc3Mjg5TDE1LjQwNDEgMTUuMzg4VjExLjUwMDRDMTUuNDAxNiAxMS40NjA0IDE1LjQyMDQgMTEuNDIxNyAxNS40NTE2IDExLjM5NjdMMjMuNTAzIDYuNzUxNThDMjcuMDg5NCA0LjY4Mjc5IDMxLjY3NDUgNS45MTQwNiAzMy43NDIgOS41MDE2NEMzNC42MTU4IDExLjAxNjcgMzQuOTMyIDEyLjc5MDUgMzQuNjM1OCAxNC41MTQySDM0LjYzODNaTTEzLjU3NDEgMjEuNDQzMUwxMC4yMDY1IDE5LjQ5OTRDMTAuMTcwMiAxOS40ODE5IDEwLjE0NjUgMTkuNDQ2OCAxMC4xNDE1IDE5LjQwNjhWMTAuMTA3OUMxMC4xNDQgNS45Njc4MSAxMy41MDI4IDIuNjEyNzQgMTcuNjQyOSAyLjYxNTI0QzE5LjM5NDIgMi42MTUyNCAyMS4wODkyIDMuMjMwMjUgMjIuNDM1NSA0LjM1MDI4QzIyLjM3NDMgNC4zODI3OCAyMi4yNjkzIDQuNDQxNTMgMjIuMTk5MiA0LjQ4NDAzTDE0LjIzNDEgOS4wODQxM0MxMy44MjY2IDkuMzE1MzggMTMuNTc2NiA5Ljc0Nzg5IDEzLjU3OTEgMTAuMjE2N0wxMy41NzQxIDIxLjQ0MDZWMjEuNDQzMVpNMTUuNDAyOSAxNy41MDA2TDE5LjczNDIgMTQuOTk5M0wyNC4wNjU1IDE3LjQ5OTNWMjIuNTAwN0wxOS43MzQyIDI1LjAwMDdMMTUuNDAyOSAyMi41MDA3VjE3LjUwMDZaIiBmaWxsPSIjN0Q3RDg3Ii8+Cjwvc3ZnPgo="},"displayName":"OpenAI Chat Model","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1179,"icon":"fa:code","name":"@n8n/n8n-nodes-langchain.outputParserStructured","codex":{"data":{"alias":["json","zod"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.outputparserstructured/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Output Parsers"]}}},"group":"[\"transform\"]","defaults":{"name":"Structured Output Parser"},"iconData":{"icon":"code","type":"icon"},"displayName":"Structured Output Parser","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1235,"icon":"file:extractFromFile.svg","name":"n8n-nodes-base.extractFromFile","codex":{"data":{"alias":["CSV","Spreadsheet","Excel","xls","xlsx","ods","tabular","decode","decoding","Move Binary Data","Binary","File","PDF","JSON","HTML","ICS","iCal","txt","Text","RTF","XML","64","Base64","Convert"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.extractfromfile/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Files","Data Transformation"]}}},"group":"[\"input\"]","defaults":{"name":"Extract from File"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTAuOTM3NSAyQzAuNDE5NzMzIDIgMCAyLjQxOTczIDAgMi45Mzc1VjM3LjMyMjFDMCAzNy44Mzk5IDAuNDE5NzMzIDM4LjI1OTYgMC45Mzc1IDM4LjI1OTZIMjYuMjE1NEMyNi43MzMyIDM4LjI1OTYgMjcuMTUyOSAzNy44Mzk5IDI3LjE1MjkgMzcuMzIyMUwyNy4xNTI5IDMwLjY3MTlMMTYuNzk2OSAzMC42NzE5QzE0Ljg5ODQgMzAuNjcxOSAxMy4zNTk0IDI5LjEzMjkgMTMuMzU5NCAyNy4yMzQ0VjI1LjM1OTRDMTMuMzU5NCAyMy40NjA5IDE0Ljg5ODQgMjEuOTIxOSAxNi43OTY5IDIxLjkyMTlIMjcuMTUyOUwyNy4xNTI5IDE1Ljc4MjFIMTQuMzA4M0MxMy43OTA2IDE1Ljc4MjEgMTMuMzcwOCAxNS4zNjI0IDEzLjM3MDggMTQuODQ0NlYySDAuOTM3NVoiIGZpbGw9IiMzNTNGNkUiLz4KPHBhdGggZD0iTTE2LjAyNzEgMkMxNS45NDA4IDIgMTUuODcwOCAyLjA2OTk2IDE1Ljg3MDggMi4xNTYyNVYxMi44MTM0QzE1Ljg3MDggMTMuMDcyMyAxNi4wODA3IDEzLjI4MjEgMTYuMzM5NiAxMy4yODIxSDI2Ljk5NjdDMjcuMDgzIDEzLjI4MjEgMjcuMTUyOSAxMy4yMTIyIDI3LjE1MjkgMTMuMTI1OUwyNy4xNTI5IDEyLjYxNzFDMjcuMTUyOSAxMi4zNjg4IDI3LjA1NDUgMTIuMTMwNyAyNi44NzkxIDExLjk1NUwxNy4yMjI1IDIuMjc1MzhDMTcuMDQ2NiAyLjA5OTA4IDE2LjgwNzkgMiAxNi41NTg4IDJIMTYuMDI3MVoiIGZpbGw9IiMzNTNGNkUiLz4KPHBhdGggZD0iTTI5Ljc2NDIgMzQuNjUwM0MyOS4wMzQgMzMuOTE2IDI5LjAzNzQgMzIuNzI4OCAyOS43NzE2IDMxLjk5ODZMMzMuNjE5NyAyOC4xNzE5TDE2Ljc5NjkgMjguMTcxOUMxNi4yNzkxIDI4LjE3MTkgMTUuODU5NCAyNy43NTIxIDE1Ljg1OTQgMjcuMjM0NFYyNS4zNTk0QzE1Ljg1OTQgMjQuODQxNiAxNi4yNzkxIDI0LjQyMTkgMTYuNzk2OSAyNC40MjE5TDMzLjU0MTIgMjQuNDIxOUwyOS43NzE2IDIwLjY3MzNDMjkuMDM3NCAxOS45NDMxIDI5LjAzNCAxOC43NTU5IDI5Ljc2NDIgMTguMDIxNkMzMC40OTQ0IDE3LjI4NzQgMzEuNjgxNiAxNy4yODQgMzIuNDE1OSAxOC4wMTQyTDM5LjQ0NzEgMjUuMDA2NEMzOS44MDEgMjUuMzU4MyA0MCAyNS44MzY4IDQwIDI2LjMzNTlDNDAgMjYuODM1IDM5LjgwMSAyNy4zMTM1IDM5LjQ0NzEgMjcuNjY1NUwzMi40MTU5IDM0LjY1NzZDMzEuNjgxNiAzNS4zODc4IDMwLjQ5NDQgMzUuMzg0NSAyOS43NjQyIDM0LjY1MDNaIiBmaWxsPSIjMzUzRjZFIi8+Cjwvc3ZnPgo="},"displayName":"Extract from File","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":1243,"icon":"file:binary.svg","name":"@n8n/n8n-nodes-langchain.documentDefaultDataLoader","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.documentdefaultdataloader/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Document Loaders"]}}},"group":"[\"transform\"]","defaults":{"name":"Default Data Loader"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI3NjgiIGhlaWdodD0iMTAyNCI+PHBhdGggZmlsbD0iIzdEN0Q4NyIgZD0iTTAgOTYwVjY0aDU3NmwxOTIgMTkydjcwNHptNzA0LTY0MEw1MTIgMTI4SDY0djc2OGg2NDB6TTMyMCA1MTJIMTI4VjI1NmgxOTJ6bS02NC0xOTJoLTY0djEyOGg2NHptMCA0NDhoNjR2NjRIMTI4di02NGg2NFY2NDBoLTY0di02NGgxMjh6bTI1Ni0zMjBoNjR2NjRIMzg0di02NGg2NFYzMjBoLTY0di02NGgxMjh6bTY0IDM4NEgzODRWNTc2aDE5MnptLTY0LTE5MmgtNjR2MTI4aDY0eiIvPjwvc3ZnPg=="},"displayName":"Default Data Loader","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1248,"icon":"file:qdrant.svg","name":"@n8n/n8n-nodes-langchain.vectorStoreQdrant","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.vectorstoreqdrant/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Vector Stores","Tools","Root Nodes"],"Tools":["Other Tools"],"Vector Stores":["Other Vector Stores"]}}},"group":"[\"transform\"]","defaults":{"name":"Qdrant Vector Store"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBkYXRhLW5hbWU9IkNhcGEgMiIgdmlld0JveD0iMCAwIDM0Ni40MiA0MDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxkZWZzPgo8c3R5bGU+LmNscy0xIHsKICAgICAgICBmaWxsOiAjOWUwZDM4OwogICAgICB9CgogICAgICAuY2xzLTIgewogICAgICAgIGZpbGw6ICNkYzI0NGM7CiAgICAgIH0KCiAgICAgIC5jbHMtMyB7CiAgICAgICAgZmlsbDogI2ZmNTE2YjsKICAgICAgfTwvc3R5bGU+CjwvZGVmcz4KPHBvbHlnb24gY2xhc3M9ImNscy0yIiBwb2ludHM9IjE3My4yMSAwIDAgMTAwIDAgMzAwIDE3My4yMSA0MDAgMjM4LjE2IDM2Mi41IDIzOC4xNiAyODcuNSAxNzMuMjEgMzI1IDY0Ljk2IDI2Mi41IDY0Ljk2IDEzNy41IDE3My4yMSA3NSAyODEuNDYgMTM3LjUgMjgxLjQ2IDM4Ny41IDM0Ni40MiAzNTAgMzQ2LjQyIDEwMCIvPgo8cG9seWdvbiBjbGFzcz0iY2xzLTIiIHBvaW50cz0iMTA4LjI2IDE2Mi41IDEwOC4yNiAyMzcuNSAxNzMuMjEgMjc1IDIzOC4xNiAyMzcuNSAyMzguMTYgMTYyLjUgMTczLjIxIDEyNSIvPgo8cG9seWdvbiBjbGFzcz0iY2xzLTEiIHBvaW50cz0iMjM4LjE2IDI4Ny41IDIzOC4xNiAzNjIuNSAxNzMuMjEgNDAwIDE3My4yMSAzMjUiLz4KPHBvbHlnb24gY2xhc3M9ImNscy0xIiBwb2ludHM9IjM0Ni40MiAxMDAgMzQ2LjQyIDM1MCAyODEuNDYgMzg3LjUgMjgxLjQ2IDEzNy41Ii8+Cjxwb2x5Z29uIGNsYXNzPSJjbHMtMyIgcG9pbnRzPSIzNDYuNDIgMTAwIDI4MS40NiAxMzcuNSAxNzMuMjEgNzUgNjQuOTYgMTM3LjUgMCAxMDAgMTczLjIxIDAiLz4KPHBvbHlnb24gY2xhc3M9ImNscy0yIiBwb2ludHM9IjE3My4yMSAzMjUgMTczLjIxIDQwMCAwIDMwMCAwIDEwMCA2NC45NiAxMzcuNSA2NC45NiAyNjIuNSIvPgo8cG9seWdvbiBjbGFzcz0iY2xzLTMiIHBvaW50cz0iMjM4LjE2IDE2Mi41IDE3My4yMSAyMDAgMTA4LjI2IDE2Mi41IDE3My4yMSAxMjUiLz4KPHBvbHlnb24gY2xhc3M9ImNscy0yIiBwb2ludHM9IjE3My4yMSAyMDAgMTczLjIxIDI3NSAxMDguMjYgMjM3LjUgMTA4LjI2IDE2Mi41Ii8+Cjxwb2x5Z29uIGNsYXNzPSJjbHMtMSIgcG9pbnRzPSIyMzguMTYgMTYyLjUgMjM4LjE2IDIzNy41IDE3My4yMSAyNzUgMTczLjIxIDIwMCIvPgo8L3N2Zz4K"},"displayName":"Qdrant Vector Store","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1261,"icon":"file:google.svg","name":"@n8n/n8n-nodes-langchain.embeddingsGoogleGemini","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.embeddingsgooglegemini/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Embeddings"]}}},"group":"[\"transform\"]","defaults":{"name":"Embeddings Google Gemini"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgNDggNDgiPjxkZWZzPjxwYXRoIGlkPSJhIiBkPSJNNDQuNSAyMEgyNHY4LjVoMTEuOEMzNC43IDMzLjkgMzAuMSAzNyAyNCAzN2MtNy4yIDAtMTMtNS44LTEzLTEzczUuOC0xMyAxMy0xM2MzLjEgMCA1LjkgMS4xIDguMSAyLjlsNi40LTYuNEMzNC42IDQuMSAyOS42IDIgMjQgMiAxMS44IDIgMiAxMS44IDIgMjRzOS44IDIyIDIyIDIyYzExIDAgMjEtOCAyMS0yMiAwLTEuMy0uMi0yLjctLjUtNCIvPjwvZGVmcz48Y2xpcFBhdGggaWQ9ImIiPjx1c2UgeGxpbms6aHJlZj0iI2EiIG92ZXJmbG93PSJ2aXNpYmxlIi8+PC9jbGlwUGF0aD48cGF0aCBmaWxsPSIjRkJCQzA1IiBkPSJNMCAzN1YxMWwxNyAxM3oiIGNsaXAtcGF0aD0idXJsKCNiKSIvPjxwYXRoIGZpbGw9IiNFQTQzMzUiIGQ9Im0wIDExIDE3IDEzIDctNi4xTDQ4IDE0VjBIMHoiIGNsaXAtcGF0aD0idXJsKCNiKSIvPjxwYXRoIGZpbGw9IiMzNEE4NTMiIGQ9Im0wIDM3IDMwLTIzIDcuOSAxTDQ4IDB2NDhIMHoiIGNsaXAtcGF0aD0idXJsKCNiKSIvPjxwYXRoIGZpbGw9IiM0Mjg1RjQiIGQ9Ik00OCA0OCAxNyAyNGwtNC0zIDM1LTEweiIgY2xpcC1wYXRoPSJ1cmwoI2IpIi8+PC9zdmc+"},"displayName":"Embeddings Google Gemini","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1262,"icon":"file:google.svg","name":"@n8n/n8n-nodes-langchain.lmChatGoogleGemini","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatgooglegemini/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Language Models","Root Nodes"],"Language Models":["Chat Models (Recommended)"]}}},"group":"[\"transform\"]","defaults":{"name":"Google Gemini Chat Model"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgNDggNDgiPjxkZWZzPjxwYXRoIGlkPSJhIiBkPSJNNDQuNSAyMEgyNHY4LjVoMTEuOEMzNC43IDMzLjkgMzAuMSAzNyAyNCAzN2MtNy4yIDAtMTMtNS44LTEzLTEzczUuOC0xMyAxMy0xM2MzLjEgMCA1LjkgMS4xIDguMSAyLjlsNi40LTYuNEMzNC42IDQuMSAyOS42IDIgMjQgMiAxMS44IDIgMiAxMS44IDIgMjRzOS44IDIyIDIyIDIyYzExIDAgMjEtOCAyMS0yMiAwLTEuMy0uMi0yLjctLjUtNCIvPjwvZGVmcz48Y2xpcFBhdGggaWQ9ImIiPjx1c2UgeGxpbms6aHJlZj0iI2EiIG92ZXJmbG93PSJ2aXNpYmxlIi8+PC9jbGlwUGF0aD48cGF0aCBmaWxsPSIjRkJCQzA1IiBkPSJNMCAzN1YxMWwxNyAxM3oiIGNsaXAtcGF0aD0idXJsKCNiKSIvPjxwYXRoIGZpbGw9IiNFQTQzMzUiIGQ9Im0wIDExIDE3IDEzIDctNi4xTDQ4IDE0VjBIMHoiIGNsaXAtcGF0aD0idXJsKCNiKSIvPjxwYXRoIGZpbGw9IiMzNEE4NTMiIGQ9Im0wIDM3IDMwLTIzIDcuOSAxTDQ4IDB2NDhIMHoiIGNsaXAtcGF0aD0idXJsKCNiKSIvPjxwYXRoIGZpbGw9IiM0Mjg1RjQiIGQ9Ik00OCA0OCAxNyAyNGwtNC0zIDM1LTEweiIgY2xpcC1wYXRoPSJ1cmwoI2IpIi8+PC9zdmc+"},"displayName":"Google Gemini Chat Model","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]}],"categories":[{"id":35,"name":"Document Extraction"},{"id":48,"name":"AI RAG"}],"image":[]}}