This workflow follows the Chainsummarization → HTTP Request recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"meta": {
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "a9048293-787d-44d6-b995-d329b2495048",
"name": "When clicking \"Execute Workflow\"",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-1920,
1380
],
"parameters": {},
"typeVersion": 1
},
{
"id": "56017e8b-2f2e-4f40-9325-184ea01a18be",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1720,
1260
],
"parameters": {
"width": 1071.752021563343,
"height": 285.66037735849045,
"content": "## Scrape latest Paul Graham essays"
},
"typeVersion": 1
},
{
"id": "aa855d7c-6602-4242-bc84-56fed7c27c26",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-600,
1260
],
"parameters": {
"width": 625,
"height": 607,
"content": "## Summarize them with GPT"
},
"typeVersion": 1
},
{
"id": "1a38e545-6d3b-40b2-a3ff-6f91fdd772de",
"name": "Fetch Essay List",
"type": "n8n-nodes-base.httpRequest",
"position": [
-1640,
1380
],
"parameters": {
"url": "http://www.paulgraham.com/articles.html",
"options": {}
},
"typeVersion": 4.2
},
{
"id": "bd713892-356b-4a9c-b076-000bd4f1f1ba",
"name": "OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
-380,
1600
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
},
{
"id": "4d7359ab-ba87-4756-8168-f2b987aac2fc",
"name": "Extract essay names",
"type": "n8n-nodes-base.html",
"position": [
-1440,
1380
],
"parameters": {
"options": {},
"operation": "extractHtmlContent",
"extractionValues": {
"values": [
{
"key": "essay",
"attribute": "href",
"cssSelector": "table table a",
"returnArray": true,
"returnValue": "attribute"
}
]
}
},
"typeVersion": 1.2
},
{
"id": "8342d13f-879d-426b-ba28-ab696dd7f155",
"name": "Split out into items",
"type": "n8n-nodes-base.splitOut",
"position": [
-1240,
1380
],
"parameters": {
"options": {},
"fieldToSplitOut": "essay"
},
"typeVersion": 1
},
{
"id": "a057d3cb-b7fb-4b4d-810a-e4de3ac10702",
"name": "Fetch essay texts",
"type": "n8n-nodes-base.httpRequest",
"position": [
-840,
1380
],
"parameters": {
"url": "=http://www.paulgraham.com/{{ $json.essay }}",
"options": {}
},
"typeVersion": 4.2
},
{
"id": "98164d8c-3d6f-485d-93b6-1da3e8ae7ca8",
"name": "Extract title",
"type": "n8n-nodes-base.html",
"position": [
-340,
1080
],
"parameters": {
"options": {},
"operation": "extractHtmlContent",
"extractionValues": {
"values": [
{
"key": "title",
"cssSelector": "title"
}
]
}
},
"typeVersion": 1.2
},
{
"id": "fc0b6230-d169-4b20-803b-1896982c37c3",
"name": "Summarization Chain",
"type": "@n8n/n8n-nodes-langchain.chainSummarization",
"position": [
-340,
1380
],
"parameters": {
"options": {},
"operationMode": "documentLoader"
},
"typeVersion": 2
},
{
"id": "a656524a-9f77-4922-9de7-e2221ac82b70",
"name": "Clean up",
"type": "n8n-nodes-base.set",
"position": [
360,
1380
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "7b337b47-a1c6-470e-881f-0c038b4917e5",
"name": "title",
"type": "string",
"value": "={{ $json.title }}"
},
{
"id": "ca820521-4fff-4971-84b5-e6e2dbd8bb7a",
"name": "summary",
"type": "string",
"value": "={{ $json.response.text }}"
},
{
"id": "0fd9b5e3-44dd-49a3-82c1-3a4aa4698376",
"name": "url",
"type": "string",
"value": "=http://www.paulgraham.com/{{ $('Limit to first 3').first().json.essay }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "da738af0-7302-442d-bdc8-c9771be10794",
"name": "Merge",
"type": "n8n-nodes-base.merge",
"position": [
160,
1380
],
"parameters": {
"mode": "combine",
"options": {},
"combineBy": "combineByPosition"
},
"typeVersion": 3
},
{
"id": "adf51f27-8d3e-49a8-b850-7990d355dc81",
"name": "Default Data Loader",
"type": "@n8n/n8n-nodes-langchain.documentDefaultDataLoader",
"position": [
-260,
1600
],
"parameters": {
"options": {},
"jsonData": "={{ $('Extract Text Only').item.json.data }}",
"jsonMode": "expressionData"
},
"typeVersion": 1
},
{
"id": "f57c5908-4ae3-4ce1-a74b-0fc393792c21",
"name": "Recursive Character Text Splitter",
"type": "@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter",
"position": [
-180,
1720
],
"parameters": {
"options": {},
"chunkSize": 6000
},
"typeVersion": 1
},
{
"id": "278eed78-3489-41e3-b4d2-a2de788fcd21",
"name": "Limit to first 3",
"type": "n8n-nodes-base.limit",
"position": [
-1040,
1380
],
"parameters": {
"maxItems": 3
},
"typeVersion": 1
},
{
"id": "028147d1-2a45-416d-91d0-40a0af2747f5",
"name": "Extract Text Only",
"type": "n8n-nodes-base.html",
"position": [
-520,
1380
],
"parameters": {
"options": {},
"operation": "extractHtmlContent",
"extractionValues": {
"values": [
{
"key": "data",
"cssSelector": "body",
"skipSelectors": "img,nav"
}
]
}
},
"typeVersion": 1.2
}
],
"connections": {
"Merge": {
"main": [
[
{
"node": "Clean up",
"type": "main",
"index": 0
}
]
]
},
"Extract title": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 0
}
]
]
},
"Fetch Essay List": {
"main": [
[
{
"node": "Extract essay names",
"type": "main",
"index": 0
}
]
]
},
"Limit to first 3": {
"main": [
[
{
"node": "Fetch essay texts",
"type": "main",
"index": 0
}
]
]
},
"Extract Text Only": {
"main": [
[
{
"node": "Summarization Chain",
"type": "main",
"index": 0
}
]
]
},
"Fetch essay texts": {
"main": [
[
{
"node": "Extract title",
"type": "main",
"index": 0
},
{
"node": "Extract Text Only",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "Summarization Chain",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Default Data Loader": {
"ai_document": [
[
{
"node": "Summarization Chain",
"type": "ai_document",
"index": 0
}
]
]
},
"Extract essay names": {
"main": [
[
{
"node": "Split out into items",
"type": "main",
"index": 0
}
]
]
},
"Summarization Chain": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 1
}
]
]
},
"Split out into items": {
"main": [
[
{
"node": "Limit to first 3",
"type": "main",
"index": 0
}
]
]
},
"When clicking \"Execute Workflow\"": {
"main": [
[
{
"node": "Fetch Essay List",
"type": "main",
"index": 0
}
]
]
},
"Recursive Character Text Splitter": {
"ai_textSplitter": [
[
{
"node": "Default Data Loader",
"type": "ai_textSplitter",
"index": 0
}
]
]
}
}
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
openAiApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
How this works
This workflow streamlines the process of analysing a collection of essays by automatically fetching their texts and applying AI-driven summarisation, saving you hours of manual reading and extraction. It is ideal for researchers, content curators, or educators who need to quickly review and condense multiple documents without sifting through websites or files individually. The key step involves using the OpenAI Chat Model to generate concise summaries after retrieving essay content via HTTP requests, ensuring focused insights from lengthy materials.
Use this workflow when you have a predefined list of essay URLs and want event-driven processing for on-demand analysis, such as preparing reports or study notes. Avoid it for real-time monitoring or when dealing with non-web-based documents, as it relies on HTTP fetches and structured lists. Common variations include swapping OpenAI for another AI provider or adding filters to prioritise essays by topic before splitting and summarising.
About this workflow
Splitout Limit. Uses manualTrigger, stickyNote, httpRequest, lmChatOpenAi. Event-driven trigger; 16 nodes.
Source: https://github.com/Zie619/n8n-workflows — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
Stopanderror Splitout. Uses outputParserStructured, lmChatOpenAi, formTrigger, chainLlm. Event-driven trigger; 85 nodes.
Wait Splitout. Uses stickyNote, manualTrigger, lmChatOpenAi, toolHttpRequest. Event-driven trigger; 39 nodes.
Extractfromfile Form Export. Uses extractFromFile, lmChatOpenAi, outputParserStructured, formTrigger. Event-driven trigger; 23 nodes.
Extractfromfile Form. Uses extractFromFile, lmChatOpenAi, outputParserStructured, formTrigger. Event-driven trigger; 23 nodes.
Wait Splitout. Uses lmChatOpenAi, splitOut, httpRequest, convertToFile. Event-driven trigger; 21 nodes.