{
  "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": {
          "name": "<your credential>"
        }
      },
      "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": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "d47672ba-ef0e-4ed5-9a1b-350a104d598e",
      "name": "Embeddings Google Gemini1",
      "type": "@n8n/n8n-nodes-langchain.embeddingsGoogleGemini",
      "position": [
        3952,
        1040
      ],
      "parameters": {},
      "credentials": {
        "googlePalmApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "ace691a3-2216-42be-9959-fed7ab0e644d",
      "name": "Embeddings Google Gemini2",
      "type": "@n8n/n8n-nodes-langchain.embeddingsGoogleGemini",
      "position": [
        3968,
        640
      ],
      "parameters": {},
      "credentials": {
        "googlePalmApi": {
          "name": "<your credential>"
        }
      },
      "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 \u2018Execute workflow\u2019",
      "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": {
          "name": "<your credential>"
        }
      },
      "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": {
          "name": "<your credential>"
        }
      },
      "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": {
          "name": "<your credential>"
        }
      },
      "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": {
          "name": "<your credential>"
        }
      },
      "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": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "1022012e-ed01-4283-9177-7c76e263c6a3",
      "name": "\ud83d\udccb 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": {
          "name": "<your credential>"
        }
      },
      "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": {
          "name": "<your credential>"
        }
      },
      "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\u00e4t f\u00fcr 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\u00e4tzen (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\u00e4ngere Antworten) ignorieren oder keine Gegenma\u00dfnahmen (z. B. Swapping Answers, Word Limits) dokumentieren, werden aufgrund mangelnder Qualit\u00e4t ausgeschlossen. - **EC 2: Fehlender Fokus auf die interne Iteration:** Schlie\u00dfe 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\u00e4chlichen Effekt der Intervention zu bestimmen, m\u00fcssen ausgeschlossen werden. - **EC 4: Redundante Publikationen:** Sollten mehrere Versionen derselben Studie vorliegen, wird nur die vollst\u00e4ndigste 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\u00e4ndig erf\u00fcllt / klar dokumentiert. - **1 Point:** Teilweise erf\u00fcllt / unklar dargestellt. - **0 Points:** Nicht vorhanden / unzureichend.  ### QUALITY CHECKLIST (Criteria)  **Teil A: Methodische Validit\u00e4t (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\u00e4chlichen Mehrwert zu belegen? 3. **G\u00fcte 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\u00e4zision (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\u00e4re 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\u00e4t** 7. **Minderung von Richter-Bias:** Wurden Ma\u00dfnahmen gegen Positional Bias (z. B. durch Swapping Answers) oder Verbosity Bias (z. B. durch strikte Wortlimits) ergriffen? 8. **Metrische Pr\u00e4zision:** Werden pr\u00e4zise und vergleichbare Metriken wie Accuracy, Performance Gap Recovered (PGR) oder Elo-Ratings verwendet? 9. **Statistische Belastbarkeit:** Gibt das Paper Konfidenzintervalle, Standardabweichungen oder Ergebnisse \u00fcber mehrere Testl\u00e4ufe an? 10. **Praktischer Mehrwert:** Bietet die Studie konkrete \u201eBest Practices\u201c oder Empfehlungen f\u00fcr 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": {
          "name": "<your credential>"
        }
      },
      "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": {
          "name": "<your credential>"
        }
      },
      "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": {
          "name": "<your credential>"
        }
      },
      "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": {
          "name": "<your credential>"
        }
      },
      "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 - \u2013 Modelle generieren eigenst\u00e4ndig neue Prompts oder modifizieren bestehende Eingaben auf Basis eigener Ausgaben.",
          "cachedResultName": "Self-Referential Prompting - \u2013 Modelle generieren eigenst\u00e4ndig neue Prompts oder modifizieren bestehende Eingaben auf Basis eigener Ausgaben."
        }
      },
      "credentials": {
        "qdrantApi": {
          "name": "<your credential>"
        }
      },
      "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 \u2013 Modelle bewerten und hinterfragen ihre eigenen Antworten, typischerweise durch explizite \u201eReflection Prompts\u201c oder externe Feedback-Schleifen.",
          "cachedResultName": "Reflective Evaluation \u2013 Modelle bewerten und hinterfragen ihre eigenen Antworten, typischerweise durch explizite \u201eReflection Prompts\u201c oder externe Feedback-Schleifen."
        }
      },
      "credentials": {
        "qdrantApi": {
          "name": "<your credential>"
        }
      },
      "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 \u2013 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 \u2013 Modelle nutzen dialogbasierte Strukturen (z. B. LLM Debates), um konkurrierende Antworten zu erzeugen, zu vergleichen und auf ein besseres Ergebnis zu konvergieren."
        }
      },
      "credentials": {
        "qdrantApi": {
          "name": "<your credential>"
        }
      },
      "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\u00e4ter 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\u00fcr text_cleaned\n    let content = '';\n    // --- SICHERHEITS-CHECK ENDE ---\n\n\n    // Pr\u00fcfen, ob wir \u00fcberhaupt Text zum Bearbeiten haben\n    if (item.json[inputFieldName]) {\n        content = item.json[inputFieldName];\n        \n        // 1. W\u00f6rter, bei denen wir abschneiden wollen (M\u00fcll)\n        const cutOffWords = [\n            'References',\n            'Bibliography',\n            'Works Cited',\n            'LITERATURVERZEICHNIS' \n        ];\n\n        // 2. W\u00f6rter, die wir UNBEDINGT behalten wollen (Gold)\n        const protectedWords = [\n            'Appendix',\n            'Appendices',\n            'Anhang'\n        ];\n\n        // Wir suchen das fr\u00fcheste 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\u00e4ngt\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 \ud83d\udee1\ufe0f\n        let isSafeToCut = true;\n\n        if (cutIndex > -1) {\n            // Wir pr\u00fcfen: 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\u00fcr 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
    }
  ],
  "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 \u2018Execute workflow\u2019": {
      "main": [
        [
          {
            "node": "Search files and folders",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}