{
  "id": "CTfLuF1lMj4vayqs",
  "name": "Automated Research Intelligence System using decodo",
  "tags": [
    {
      "id": "uMBvoK3U8QYbRWJ5",
      "name": "done",
      "createdAt": "2025-11-18T13:27:52.572Z",
      "updatedAt": "2025-11-18T13:27:52.572Z"
    }
  ],
  "nodes": [
    {
      "id": "be760aa6-f166-4e8d-bb71-c373c62b3e1a",
      "name": "Enter Research URL",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        -848,
        960
      ],
      "parameters": {
        "options": {},
        "formTitle": "Research Input Form",
        "formFields": {
          "values": [
            {
              "fieldLabel": "Research URL"
            }
          ]
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "dedd3dd2-b8a5-4f12-a81a-6aea171ca582",
      "name": "Set Research URL",
      "type": "n8n-nodes-base.set",
      "position": [
        -592,
        960
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "1a741c7f-6d39-438f-8725-4e023745a42e",
              "name": "URL",
              "type": "string",
              "value": "={{ $json['Research URL'] }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "1122cb2b-becb-4c0d-aeaf-c507a4f8b22a",
      "name": "Validate URL",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -320,
        960
      ],
      "parameters": {
        "url": "={{ $json.URL }}",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "72e3e1f4-9368-44e5-ba1d-2e41a6705f2a",
      "name": "Research Analysis Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -80,
        432
      ],
      "parameters": {
        "text": "=use decodo to scrape new articles and papers from AI research sites and create a summary\n\nURL: {{ $('Set Research URL').item.json.URL }}",
        "options": {},
        "promptType": "define"
      },
      "typeVersion": 2.2
    },
    {
      "id": "954f7bde-6f5b-47ed-8204-c305e906264b",
      "name": "Decodo Research Scraper",
      "type": "@decodo/n8n-nodes-decodo.decodoTool",
      "position": [
        224,
        688
      ],
      "parameters": {
        "url": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('URL', ``, 'string') }}"
      },
      "credentials": {
        "decodoApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "2d30d42d-48f6-488b-a922-27b246798f29",
      "name": "OpenAI Research Analyzer",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        224,
        848
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "f79bc33f-a0b4-4a49-97b7-551aef719af0",
      "name": "Research Validation Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        208,
        432
      ],
      "parameters": {
        "text": "=Validate the summary for accuracy, completeness, and relevance to AI/LLM research. Improve if necessary, and output the validated summary as 'validated_output'.\n\nURL: {{ $('Set Research URL').item.json.URL }}\nOriginal Summary: {{ $json.output }}",
        "options": {},
        "promptType": "define"
      },
      "typeVersion": 2.2
    },
    {
      "id": "c7ffd782-a7e2-4a9e-92b7-6eebfec1ce12",
      "name": "Insights Generation Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        496,
        432
      ],
      "parameters": {
        "text": "=Generate key insights from the validated summary. Output as 'insights' in bullet points.\n\nValidated Summary: {{ $json.output }}",
        "options": {},
        "promptType": "define"
      },
      "typeVersion": 2.2
    },
    {
      "id": "54fede96-b006-46c1-babe-3d9683b8b79b",
      "name": "Format Output with Insights",
      "type": "n8n-nodes-base.set",
      "position": [
        896,
        960
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "new-id-for-format",
              "name": "formatted_output",
              "type": "string",
              "value": "=Summary for URL {{ $('Set Research URL').item.json.URL }}:{{ $('Research Validation Agent').item.json.output }}|Key Insights:{{ $json.output }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "b15de84a-108b-4fa0-bb3c-0b2e2de33524",
      "name": "Update Research Document",
      "type": "n8n-nodes-base.googleDocs",
      "position": [
        1344,
        960
      ],
      "parameters": {
        "actionsUi": {
          "actionFields": [
            {
              "text": "={{ $('Format Output with Insights').item.json.formatted_output }}",
              "action": "insert"
            }
          ]
        },
        "operation": "update",
        "documentURL": "={{ $json.id }}"
      },
      "credentials": {
        "googleDocsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "2189d7b9-1435-4626-b84b-49106c75f1b4",
      "name": "Set Log Entry",
      "type": "n8n-nodes-base.set",
      "position": [
        1552,
        960
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "2c7e4229-e5c6-41e0-b10c-e147941e7df1",
              "name": "log_entry",
              "type": "string",
              "value": "=Processed URL: {{ $('Set Research URL').item.json.URL }} at {{ new Date().toISOString() }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "3710c619-4161-4560-b430-b3677ddb4caa",
      "name": "Append to Log Sheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2736,
        784
      ],
      "parameters": {
        "columns": {
          "value": {
            "URL": "={{ $('Set Research URL').item.json.URL }}",
            "Summary": "={{ $('Format Output with Insights').item.json.formatted_output }}"
          },
          "schema": [
            {
              "id": "URL",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Summary",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Summary",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1MYYz9Uo0tl2Wsa6Y__pF154Ddto69Ww0nHmtP20o18k/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1MYYz9Uo0tl2Wsa6Y__pF154Ddto69Ww0nHmtP20o18k",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1MYYz9Uo0tl2Wsa6Y__pF154Ddto69Ww0nHmtP20o18k/edit?usp=drivesdk",
          "cachedResultName": "4. AI / LLM Research using decode scraper"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "85263f37-6728-4e63-9ec1-ef344f9cb0da",
      "name": "Structured Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        2144,
        1168
      ],
      "parameters": {
        "jsonSchemaExample": "{\n  \"rating\": 9,\n  \"scale\": \"1-10\",\n  \"criteria\": {\n    \"clarity\": 9,\n    \"comprehensiveness\": 9,\n    \"accuracy\": 10,\n    \"conciseness\": 8,\n    \"relevance\": 10\n  },\n  \"overall_feedback\": \"The summary is excellent, clearly explaining the TiDAR model, its architecture, key contributions, and results. It is comprehensive and accurate. It could be slightly more concise by avoiding some repetition in the key insights, but overall it is of high quality.\"\n}"
      },
      "typeVersion": 1.3
    },
    {
      "id": "1b17f45a-cef3-4dcd-8d92-62851e9c5ccc",
      "name": "Create Research Document",
      "type": "n8n-nodes-base.googleDocs",
      "position": [
        1104,
        960
      ],
      "parameters": {
        "title": "=Reasearch URL: {{ $('Set Research URL').item.json.URL }}",
        "folderId": "1JjWQ7Vmslz2Zm9KdNAm2Wfvfkz5TUuY1"
      },
      "credentials": {
        "googleDocsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "250910cb-d5b8-4824-b63a-b7c86fa7c738",
      "name": "Research Quality Assessor",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        2032,
        960
      ],
      "parameters": {
        "text": "=Rate the research paper summar out of 10\n\n{{ $('Format Output with Insights').item.json.formatted_output }}",
        "options": {},
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 2.2
    },
    {
      "id": "93f066d2-5a49-4bcb-b7bb-361b5d0bc87b",
      "name": "OpenAI Quality Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        2000,
        1168
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "125ee9e4-489a-4595-b7f4-aa3b4212d53d",
      "name": "Check Quality Threshold",
      "type": "n8n-nodes-base.if",
      "position": [
        2384,
        960
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "993a0236-58a1-47ca-9942-8b5e593e349b",
              "operator": {
                "type": "number",
                "operation": "gte"
              },
              "leftValue": "={{ $json.output.rating }}",
              "rightValue": 6
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "c8f7503d-2619-40e0-b75d-3af3d93d8a2b",
      "name": "Check High Quality for Slack",
      "type": "n8n-nodes-base.if",
      "position": [
        3056,
        624
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "14040420-23c6-425f-815c-8329b29f9392",
              "operator": {
                "type": "number",
                "operation": "gte"
              },
              "leftValue": "={{ $('Research Quality Assessor').item.json.output.rating }}",
              "rightValue": 9
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "86a10365-c307-4e81-8f64-d46dce693890",
      "name": "Skip Low Quality Research",
      "type": "n8n-nodes-base.noOp",
      "position": [
        2752,
        1184
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "08b2ab8a-d0e8-4faf-b4e6-b81fb033778c",
      "name": "Send Slack Alert",
      "type": "n8n-nodes-base.slack",
      "position": [
        3392,
        384
      ],
      "parameters": {
        "text": "=Research Paper URL: {{ $json.URL }}\n\nSummary: {{ $json.Summary }}",
        "otherOptions": {}
      },
      "credentials": {
        "slackApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "94b82fb4-8c95-45a4-9421-3c29852e101c",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1520,
        128
      ],
      "parameters": {
        "width": 368,
        "height": 656,
        "content": "## How it works\nThis workflow helps you analyze research papers and articles. You enter a URL of a research paper, and it automatically reads the content, creates a summary, finds key insights, and saves everything to Google Docs and Sheets. It also checks the quality of the research and sends Slack alerts for high-quality findings.\n\n## Setup steps\n\nConnect your Decodo, OpenAI, Google Docs, and Google Sheets accounts\n\nSet up the form where users enter research URLs\n\nMake sure your Google Sheets log is ready for saving data\n\nTurn on the workflow and start entering research URLs\n\n\n\n## Use Coupon Code \"YARON\" and get 23k requests for testing\n\n### https://decodo.com/"
      },
      "typeVersion": 1
    },
    {
      "id": "46587405-36ea-4967-a819-93602affaec3",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -896,
        784
      ],
      "parameters": {
        "color": 7,
        "width": 704,
        "height": 320,
        "content": "## Start Research\nThis is where you enter the research paper URL. The workflow checks if the URL works and gets it ready for analysis."
      },
      "typeVersion": 1
    },
    {
      "id": "59d4c021-9930-480b-b4bf-6b0e8c4179ac",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -112,
        176
      ],
      "parameters": {
        "color": 7,
        "width": 864,
        "height": 448,
        "content": "## Read & Analyze\nThis part visits the research URL and reads the content. The AI creates a summary, checks if it's accurate, and finds the most important points from the research.\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "994c0a48-1e23-4d62-835c-02b920b8fe3a",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        832,
        816
      ],
      "parameters": {
        "color": 7,
        "width": 864,
        "height": 336,
        "content": "## Save Research\nThis saves everything to Google Docs and Sheets. It creates a nice document with the summary and insights, and keeps a record of all researched URLs."
      },
      "typeVersion": 1
    },
    {
      "id": "2fbeed25-6b4e-4483-a253-38a2ec3b81c2",
      "name": "Sticky Note10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1904,
        816
      ],
      "parameters": {
        "color": 7,
        "width": 608,
        "height": 496,
        "content": "## Check Quality\nThe AI rates each research summary from 1-10. Research scoring 6 or higher gets saved, while lower quality research is skipped."
      },
      "typeVersion": 1
    },
    {
      "id": "42e0ed05-d1c1-4f45-89a4-da9894cfdff5",
      "name": "Sticky Note11",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2960,
        208
      ],
      "parameters": {
        "color": 7,
        "width": 576,
        "height": 576,
        "content": "## Top Research Alerts\nFor very high quality research (score 9+), this sends a Slack message to your team so everyone knows about the best findings."
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "0466b75e-2fb7-4f67-8486-5c58139d5cc4",
  "connections": {
    "Validate URL": {
      "main": [
        [
          {
            "node": "Research Analysis Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Log Entry": {
      "main": [
        [
          {
            "node": "Research Quality Assessor",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Research URL": {
      "main": [
        [
          {
            "node": "Validate URL",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Enter Research URL": {
      "main": [
        [
          {
            "node": "Set Research URL",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Append to Log Sheet": {
      "main": [
        [
          {
            "node": "Check High Quality for Slack",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Quality Model": {
      "ai_languageModel": [
        [
          {
            "node": "Research Quality Assessor",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Check Quality Threshold": {
      "main": [
        [
          {
            "node": "Append to Log Sheet",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Skip Low Quality Research",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Decodo Research Scraper": {
      "ai_tool": [
        [
          {
            "node": "Research Validation Agent",
            "type": "ai_tool",
            "index": 0
          },
          {
            "node": "Research Analysis Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Research Analysis Agent": {
      "main": [
        [
          {
            "node": "Research Validation Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create Research Document": {
      "main": [
        [
          {
            "node": "Update Research Document",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Research Analyzer": {
      "ai_languageModel": [
        [
          {
            "node": "Research Analysis Agent",
            "type": "ai_languageModel",
            "index": 0
          },
          {
            "node": "Research Validation Agent",
            "type": "ai_languageModel",
            "index": 0
          },
          {
            "node": "Insights Generation Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Research Quality Assessor",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Update Research Document": {
      "main": [
        [
          {
            "node": "Set Log Entry",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Insights Generation Agent": {
      "main": [
        [
          {
            "node": "Format Output with Insights",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Research Quality Assessor": {
      "main": [
        [
          {
            "node": "Check Quality Threshold",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Research Validation Agent": {
      "main": [
        [
          {
            "node": "Insights Generation Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Format Output with Insights": {
      "main": [
        [
          {
            "node": "Create Research Document",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check High Quality for Slack": {
      "main": [
        [
          {
            "node": "Send Slack Alert",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}