{
  "id": "AOtw2VUXCNFO69Vh",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "Automation Summarize Research Workflow",
  "tags": [],
  "nodes": [
    {
      "id": "1e43175e-f19e-4a7c-9590-9daae1b1c058",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -256,
        0
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "months"
            }
          ]
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "2de81b07-b6e9-4b42-a094-c81d76870ef4",
      "name": "Decodo",
      "type": "@decodo/n8n-nodes-decodo.decodo",
      "position": [
        -64,
        0
      ],
      "parameters": {
        "url": "https://arxiv.org/list/cs.AI/recent?skip=0&show=25"
      },
      "credentials": {
        "decodoApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "724bedda-18c4-4c25-9017-a5f82b4a1f86",
      "name": "Extract Articles",
      "type": "@n8n/n8n-nodes-langchain.informationExtractor",
      "position": [
        304,
        0
      ],
      "parameters": {
        "text": "={{ $json.articles }}",
        "options": {},
        "schemaType": "fromJson",
        "jsonSchemaExample": "{\n\t\"articles\":[\n      {\n        \"title\": \"article title\",\n        \"pdf_link\": \"pdf/2512.10937\"\n      }\n    ]\n}"
      },
      "typeVersion": 1.2
    },
    {
      "id": "ecdbdefc-bbeb-4f05-a972-1053be42f8ed",
      "name": "Split Out",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        624,
        0
      ],
      "parameters": {
        "include": "",
        "options": {},
        "fieldToSplitOut": "output.articles"
      },
      "typeVersion": 1
    },
    {
      "id": "a19ddd7e-c2a1-4043-a749-a03f71ea7a52",
      "name": "Loop Over Items",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        800,
        0
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "9014cf0b-6815-4f4c-bb02-66dd67c8b803",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        1392,
        272
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-5-nano",
          "cachedResultName": "gpt-5-nano"
        },
        "options": {},
        "builtInTools": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "d4e4c7a6-3af8-4f7b-90fd-12160c654404",
      "name": "Store to database",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1792,
        80
      ],
      "parameters": {
        "columns": {
          "value": {
            "url": "={{ $('Loop Over Items').item.json['output.articles'].pdf_link }}",
            "title": "={{ $('Loop Over Items').item.json['output.articles'].title }}",
            "summary": "={{ $json.output.text }}",
            "extracted date": "={{ DateTime.now().format('yyyy-MM-dd') }}"
          },
          "schema": [
            {
              "id": "extracted date",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "extracted date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "title",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "title",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "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": 2088990373,
          "cachedResultUrl": "",
          "cachedResultName": "paper research"
        },
        "documentId": {
          "__rl": true,
          "mode": "url",
          "value": ""
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "2e5b40a4-f277-4a97-bb0a-f0cf63a492cc",
      "name": "Telegram Notifier",
      "type": "n8n-nodes-base.telegram",
      "position": [
        992,
        -400
      ],
      "parameters": {
        "text": "\ud83d\udea8Latest Summary Papers are updated on google sheets\ud83d\udea8\n\nHappy learning!",
        "chatId": "123456789",
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "28faf77d-a126-4141-a127-2be0069a2670",
      "name": "Paper Summarizer",
      "type": "@n8n/n8n-nodes-langchain.chainSummarization",
      "position": [
        1488,
        80
      ],
      "parameters": {
        "options": {},
        "chunkSize": 10000,
        "chunkOverlap": 2000
      },
      "typeVersion": 2.1
    },
    {
      "id": "bb6f0eb2-18ce-4877-921d-fda5be52442f",
      "name": "Get PDF",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1008,
        80
      ],
      "parameters": {
        "url": "={{ $json['output.articles'].pdf_link }}",
        "options": {}
      },
      "typeVersion": 4.3
    },
    {
      "id": "29f465b3-9643-4a73-9bec-32989f10c695",
      "name": "PDF to Text",
      "type": "n8n-nodes-base.extractFromFile",
      "position": [
        1168,
        80
      ],
      "parameters": {
        "options": {},
        "operation": "pdf"
      },
      "typeVersion": 1.1
    },
    {
      "id": "f2608150-1fc8-4f5b-bb79-0c387c9fea56",
      "name": "Set Content Field",
      "type": "n8n-nodes-base.set",
      "position": [
        1312,
        80
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "810cb1b7-30f9-420e-8496-52810321a3c8",
              "name": "text",
              "type": "string",
              "value": "={{ $json.text }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "783d907d-9830-4f3a-820f-fe48e52ecbc1",
      "name": "Extract HTML Content",
      "type": "n8n-nodes-base.html",
      "position": [
        144,
        0
      ],
      "parameters": {
        "options": {
          "trimValues": true,
          "cleanUpText": true
        },
        "operation": "extractHtmlContent",
        "dataPropertyName": "results[0].content",
        "extractionValues": {
          "values": [
            {
              "key": "articles",
              "cssSelector": "#articles",
              "skipSelectors": "h3"
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "e5b028b7-af01-4fa2-88e5-04cef7e5dce2",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -96,
        -288
      ],
      "parameters": {
        "color": 7,
        "width": 640,
        "height": 448,
        "content": "### Paper Scrapper\nDecodo is used to safely and reliably access arXiv pages.\nIt handles scraping, bypasses site limits, and ensures clean, structured data for downstream AI processing\n\n### Extract Articles\nIdentifies each paper\u2019s title and PDF link from the page content.\nThis step converts raw HTML into structured article data the system can loop through"
      },
      "typeVersion": 1
    },
    {
      "id": "0ef660dc-7237-4f0a-9a9d-960366958ad9",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        992,
        -224
      ],
      "parameters": {
        "color": 7,
        "width": 752,
        "height": 448,
        "content": "## PDF Download & Extraction\nEach paper\u2019s PDF is downloaded and converted into plain text.\nThis step prepares long academic content so AI models can understand and summarize it accurately\n\n## Paper Summarizer (AI Processing)\nAI breaks long papers into chunks and generates clear, concise summaries.\nThe result is human-readable insights without needing to read full research papers"
      },
      "typeVersion": 1
    },
    {
      "id": "71ebc5bb-34b2-4bab-ac37-cb441d5beb82",
      "name": "OpenAI Chat Model1",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        240,
        208
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-5-mini",
          "cachedResultName": "gpt-5-mini"
        },
        "options": {},
        "builtInTools": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "cf28bf11-0f16-4ad3-bfa3-de4baacebfb5",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -704,
        -368
      ],
      "parameters": {
        "width": 336,
        "height": 768,
        "content": "## Decodo-Powered AI Research Paper Extraction & Summarization \n\n## How it works / What it does\n1. A schedule trigger starts the workflow automatically  \n2. **Decodo** fetches the latest AI research listings from arXiv reliably and at scale  \n3. Article titles and PDF links are extracted and structured  \n4. Each paper PDF is downloaded and converted to text  \n5. An AI summarization chain generates concise, human-readable summaries  \n6. Results are saved to Google Sheets as a research database  \n7. A Telegram message notifies users when new summaries are available  \n\n## How to set up\n1. Add your **Decodo API credentials** (required)  \n2. Connect your **OpenAI / ChatGPT-compatible model** for summarization  \n3. Connect Google Sheets and choose your target spreadsheet  \n4. Add your Telegram bot credentials and chat ID  \n5. Adjust the schedule trigger if needed, then activate the workflow  "
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "c07d2cb2-8761-45e0-a0f8-24d7d3b0331c",
  "connections": {
    "Decodo": {
      "main": [
        [
          {
            "node": "Extract HTML Content",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get PDF": {
      "main": [
        [
          {
            "node": "PDF to Text",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Out": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "PDF to Text": {
      "main": [
        [
          {
            "node": "Set Content Field",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items": {
      "main": [
        [
          {
            "node": "Telegram Notifier",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Get PDF",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Articles": {
      "main": [
        [
          {
            "node": "Split Out",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Paper Summarizer": {
      "main": [
        [
          {
            "node": "Store to database",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "Decodo",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Paper Summarizer",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Set Content Field": {
      "main": [
        [
          {
            "node": "Paper Summarizer",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Store to database": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model1": {
      "ai_languageModel": [
        [
          {
            "node": "Extract Articles",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Extract HTML Content": {
      "main": [
        [
          {
            "node": "Extract Articles",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}