This workflow corresponds to n8n.io template #8600 — we link there as the canonical source.
This workflow follows the Chainllm → 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": "df4944ab-b87c-4b95-a6d0-2f559b651459",
"name": "Sticky Note11",
"type": "n8n-nodes-base.stickyNote",
"position": [
1216,
-272
],
"parameters": {
"width": 166,
"height": 880,
"content": "## clean data"
},
"typeVersion": 1
},
{
"id": "b5afa888-60a1-4c0f-93e6-cb4bcf6dee34",
"name": "Sticky Note10",
"type": "n8n-nodes-base.stickyNote",
"position": [
1792,
-160
],
"parameters": {
"color": 6,
"height": 944,
"content": "## add to notion db page"
},
"typeVersion": 1
},
{
"id": "deb6201c-6140-4754-9e9b-a32bee68955d",
"name": "Sticky Note9",
"type": "n8n-nodes-base.stickyNote",
"position": [
1440,
-320
],
"parameters": {
"width": 304,
"height": 1104,
"content": "## make article count less than 2000"
},
"typeVersion": 1
},
{
"id": "5b91b7db-9c43-434f-b23e-d11f1c76885d",
"name": "Sticky Note8",
"type": "n8n-nodes-base.stickyNote",
"position": [
992,
-336
],
"parameters": {
"width": 208,
"height": 912,
"content": "## extract complete article "
},
"typeVersion": 1
},
{
"id": "524f2861-f27e-452a-b601-fd16760e5822",
"name": "Sticky Note7",
"type": "n8n-nodes-base.stickyNote",
"position": [
768,
-352
],
"parameters": {
"width": 208,
"height": 912,
"content": "## if does not exist then load full article"
},
"typeVersion": 1
},
{
"id": "5aa06b85-5bb5-487c-a269-5c3162e582d7",
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
544,
-336
],
"parameters": {
"width": 208,
"height": 896,
"content": "## if exist then skip it and back to loop"
},
"typeVersion": 1
},
{
"id": "4f158dea-d892-435d-8949-54d7e40ed3c1",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
304,
-320
],
"parameters": {
"width": 208,
"height": 944,
"content": "## check if article already exist"
},
"typeVersion": 1
},
{
"id": "f8de890e-d0e4-491e-bcc6-74dbe731ebfe",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-144,
304
],
"parameters": {
"width": 176,
"height": 192,
"content": "## used sha258\n- used hash to identify unique article because querying hash is more efficient"
},
"typeVersion": 1
},
{
"id": "5130f013-26ab-4459-92be-669edd23f1e0",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
64,
-32
],
"parameters": {
"width": 224,
"height": 752,
"content": "## loop over articles"
},
"typeVersion": 1
},
{
"id": "b3d8032b-e19b-469c-928b-048c41154863",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-160,
-176
],
"parameters": {
"width": 208,
"height": 896,
"content": "## create hash from url of article so that we can eliminate repeating ones"
},
"typeVersion": 1
},
{
"id": "15ce99f9-3ef9-47e7-a4d1-e2c788523b87",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-352,
-48
],
"parameters": {
"width": 176,
"height": 768,
"content": "## fetch feed"
},
"typeVersion": 1
},
{
"id": "1c26f863-7550-4a74-b6e1-cd4f1ed5b39f",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-640,
-272
],
"parameters": {
"color": 6,
"width": 256,
"height": 1024,
"content": "## - manual trigger is for testing\n## - schedule trigger should be set to appropriate intervals so that we do not miss rolling articles"
},
"typeVersion": 1
},
{
"id": "849f8da3-e7ed-4f31-9cc7-257a3039fabc",
"name": "fetch finished",
"type": "n8n-nodes-base.noOp",
"position": [
128,
288
],
"parameters": {},
"typeVersion": 1
},
{
"id": "e0a59693-4981-46bd-a319-b58dd8d6f14e",
"name": "OpenAI Chat Model1",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
1552,
640
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
},
{
"id": "55d525d4-4ca3-40bf-b58f-83a127a47f61",
"name": "Basic LLM Chain1",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
1472,
416
],
"parameters": {
"text": "={{ $json.fullArticle }}",
"batching": {},
"messages": {
"messageValues": [
{
"message": "=You are an assistant that summarizes long articles into clear, concise summaries.\n- Maximum length: 1500 characters (to fit Notion\u2019s 2000 character limit).\n- Use plain text only (no links, no HTML, no markdown).\n- Focus on the main arguments, findings, or announcements.\n- Exclude minor details, filler text, and hyperlinks.\n- Write in a neutral, professional tone.\n- If the article is about products, events, or news, highlight only the most important updates.\n"
}
]
},
"promptType": "define"
},
"typeVersion": 1.7
},
{
"id": "ff3cc86d-e779-41a2-b10e-8f83578a8863",
"name": "Create a database page1",
"type": "n8n-nodes-base.notion",
"position": [
1824,
544
],
"parameters": {
"title": "={{ $('Crypto1').item.json.title }}",
"options": {},
"resource": "databasePage",
"databaseId": {
"__rl": true,
"mode": "list",
"value": "26f79f2b-1851-8054-a6af-e7106fc0ce40",
"cachedResultUrl": "https://www.notion.so/26f79f2b18518054a6afe7106fc0ce40",
"cachedResultName": "Tech & Startups rss feed"
},
"propertiesUi": {
"propertyValues": [
{
"key": "Summary|rich_text",
"textContent": "={{ $('Crypto1').item.json.content }}"
},
{
"key": "Date|date",
"date": "={{ $('Crypto1').item.json.isoDate }}"
},
{
"key": "Hash|rich_text",
"textContent": "={{ $('Crypto1').item.json.hash }}"
},
{
"key": "URL|url",
"urlValue": "={{ $('Crypto1').item.json.link }}"
},
{
"key": "Digest Status|status",
"statusValue": "Pending"
},
{
"key": "source|rich_text",
"textContent": "Tech Crunch"
},
{
"key": "Full Article|rich_text",
"textContent": "={{ $json.text }}"
}
]
}
},
"credentials": {
"notionApi": {
"name": "<your credential>"
}
},
"typeVersion": 2.2
},
{
"id": "6ed6299d-21ea-4a16-b2b5-fd4f8380125e",
"name": "Code in JavaScript1",
"type": "n8n-nodes-base.code",
"position": [
1248,
416
],
"parameters": {
"jsCode": "return [{\n fullArticle: $json[\"fullContent\"]\n .filter(p => p.trim() !== \"\") // remove empty <p>\n .map(p => p.replace(/\\[.*?\\]/g, \"\")) // remove [links]\n .map(p => p.replace(/\\s+/g, \" \").trim()) // clean spaces\n .join(\"\\n\\n\") // combine into full article\n}];\n"
},
"typeVersion": 2
},
{
"id": "555ca63c-5c6f-4d5a-8c0e-5f1f88e7e086",
"name": "HTML1",
"type": "n8n-nodes-base.html",
"position": [
1024,
416
],
"parameters": {
"options": {},
"operation": "extractHtmlContent",
"extractionValues": {
"values": [
{
"key": "fullContent",
"cssSelector": ".entry-content p",
"returnArray": true
}
]
}
},
"typeVersion": 1.2
},
{
"id": "601bfc14-e845-49e1-b049-510357ee0d79",
"name": "HTTP Request1",
"type": "n8n-nodes-base.httpRequest",
"position": [
800,
416
],
"parameters": {
"url": "={{ $('Crypto1').item.json.link }}",
"options": {}
},
"typeVersion": 4.2
},
{
"id": "aaf7e61d-12b7-42a7-95cf-1a0953a11cd3",
"name": "Get many database pages1",
"type": "n8n-nodes-base.notion",
"position": [
352,
416
],
"parameters": {
"filters": {
"conditions": [
{
"key": "Hash|rich_text",
"condition": "equals",
"richTextValue": "= {{ $json.hash }}"
}
]
},
"options": {},
"resource": "databasePage",
"matchType": "allFilters",
"operation": "getAll",
"databaseId": {
"__rl": true,
"mode": "list",
"value": "26f79f2b-1851-8054-a6af-e7106fc0ce40",
"cachedResultUrl": "https://www.notion.so/26f79f2b18518054a6afe7106fc0ce40",
"cachedResultName": "Tech & Startups rss feed"
},
"filterType": "manual"
},
"credentials": {
"notionApi": {
"name": "<your credential>"
}
},
"typeVersion": 2.2,
"alwaysOutputData": true
},
{
"id": "4afec59c-0115-40b8-a990-fa90aadaffe4",
"name": "If1",
"type": "n8n-nodes-base.if",
"position": [
576,
416
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "236a9833-d8b9-46e2-b195-9592ff7b628d",
"operator": {
"type": "string",
"operation": "exists",
"singleValue": true
},
"leftValue": "={{ $item(\"0\").$node[\"Get many database pages1\"].json[\"id\"] }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "4b7f12ed-e010-4d11-b7b4-67883fc438b5",
"name": "Loop Over Items1",
"type": "n8n-nodes-base.splitInBatches",
"position": [
128,
544
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "f7a564d3-a390-4230-8653-160fa378d14c",
"name": "OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
1552,
16
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
},
{
"id": "4a48580e-bfb3-45a5-9d2a-dfc041f2e787",
"name": "Basic LLM Chain",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
1472,
-224
],
"parameters": {
"text": "={{ $json.fullArticle }}",
"batching": {},
"messages": {
"messageValues": [
{
"message": "=You are an assistant that summarizes long articles into clear, concise summaries.\n- Maximum length: 1500 characters (to fit Notion\u2019s 2000 character limit).\n- Use plain text only (no links, no HTML, no markdown).\n- Focus on the main arguments, findings, or announcements.\n- Exclude minor details, filler text, and hyperlinks.\n- Write in a neutral, professional tone.\n- If the article is about products, events, or news, highlight only the most important updates.\n"
}
]
},
"promptType": "define"
},
"typeVersion": 1.7
},
{
"id": "d37ca62b-af54-4910-b48b-5c370160f083",
"name": "Loop Over Items",
"type": "n8n-nodes-base.splitInBatches",
"position": [
128,
48
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "f8fcb2c0-c04e-425d-9828-5639fcd11330",
"name": "Code in JavaScript",
"type": "n8n-nodes-base.code",
"position": [
1248,
-224
],
"parameters": {
"jsCode": "return [{\n fullArticle: $json[\"fullContent\"]\n .filter(p => p.trim() !== \"\") // remove empty <p>\n .map(p => p.replace(/\\[.*?\\]/g, \"\")) // remove [links]\n .map(p => p.replace(/\\s+/g, \" \").trim()) // clean spaces\n .join(\"\\n\\n\") // combine into full article\n}];\n"
},
"typeVersion": 2
},
{
"id": "1fc4f636-ca95-4698-ab78-f65126859b75",
"name": "HTML",
"type": "n8n-nodes-base.html",
"position": [
1024,
-224
],
"parameters": {
"options": {},
"operation": "extractHtmlContent",
"extractionValues": {
"values": [
{
"key": "fullContent",
"cssSelector": ".duet--article--article-body-component p",
"returnArray": true
}
]
}
},
"typeVersion": 1.2
},
{
"id": "2cc6c5fe-097b-42ef-8f88-e13b7d02411e",
"name": "HTTP Request",
"type": "n8n-nodes-base.httpRequest",
"position": [
800,
-224
],
"parameters": {
"url": "={{ $('Crypto').item.json.link }}",
"options": {}
},
"typeVersion": 4.2
},
{
"id": "3f56078a-5e72-4d49-9249-ca7dc6448974",
"name": "Get many database pages",
"type": "n8n-nodes-base.notion",
"position": [
352,
-224
],
"parameters": {
"filters": {
"conditions": [
{
"key": "Hash|rich_text",
"condition": "equals",
"richTextValue": "= {{ $json.hash }}"
}
]
},
"options": {},
"resource": "databasePage",
"matchType": "allFilters",
"operation": "getAll",
"databaseId": {
"__rl": true,
"mode": "list",
"value": "26f79f2b-1851-8054-a6af-e7106fc0ce40",
"cachedResultUrl": "https://www.notion.so/26f79f2b18518054a6afe7106fc0ce40",
"cachedResultName": "Tech & Startups rss feed"
},
"filterType": "manual"
},
"credentials": {
"notionApi": {
"name": "<your credential>"
}
},
"typeVersion": 2.2,
"alwaysOutputData": true
},
{
"id": "6c096a49-d105-4f6c-89fc-138e54a4e6ec",
"name": "If",
"type": "n8n-nodes-base.if",
"position": [
576,
-224
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "236a9833-d8b9-46e2-b195-9592ff7b628d",
"operator": {
"type": "string",
"operation": "exists",
"singleValue": true
},
"leftValue": "={{ $item(\"0\").$node[\"Get many database pages\"].json[\"id\"] }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "37b5f641-6376-4ead-8f4b-d82317a01b76",
"name": "Crypto1",
"type": "n8n-nodes-base.crypto",
"position": [
-96,
544
],
"parameters": {
"type": "SHA256",
"value": "={{ $json.link }}",
"dataPropertyName": "hash"
},
"typeVersion": 1
},
{
"id": "3acd0ac9-5378-458a-902f-667a49b09d72",
"name": "Crypto",
"type": "n8n-nodes-base.crypto",
"position": [
-96,
48
],
"parameters": {
"type": "SHA256",
"value": "={{ $json.link }}",
"dataPropertyName": "hash"
},
"typeVersion": 1
},
{
"id": "622efac8-1f09-4236-94fc-5ac9e8f224a2",
"name": "Create a database page",
"type": "n8n-nodes-base.notion",
"position": [
1824,
-48
],
"parameters": {
"title": "={{ $('Crypto').item.json.title }}",
"options": {},
"resource": "databasePage",
"databaseId": {
"__rl": true,
"mode": "list",
"value": "26f79f2b-1851-8054-a6af-e7106fc0ce40",
"cachedResultUrl": "https://www.notion.so/26f79f2b18518054a6afe7106fc0ce40",
"cachedResultName": "Tech & Startups rss feed"
},
"propertiesUi": {
"propertyValues": [
{
"key": "Summary|rich_text",
"textContent": "={{ $('Crypto').item.json.summary }}"
},
{
"key": "Date|date",
"date": "={{ $('Crypto').item.json.isoDate }}"
},
{
"key": "Hash|rich_text",
"textContent": "={{ $('Crypto').item.json.hash }}"
},
{
"key": "URL|url",
"urlValue": "={{ $('Crypto').item.json.link }}"
},
{
"key": "Digest Status|status",
"statusValue": "Pending"
},
{
"key": "source|rich_text",
"textContent": "theVerge"
},
{
"key": "Full Article|rich_text",
"textContent": "={{ $json.text }}"
}
]
}
},
"credentials": {
"notionApi": {
"name": "<your credential>"
}
},
"typeVersion": 2.2
},
{
"id": "9c23267c-254f-4a73-9977-2f542c006c39",
"name": "TechCrunch",
"type": "n8n-nodes-base.rssFeedRead",
"position": [
-320,
544
],
"parameters": {
"url": "https://techcrunch.com/feed/",
"options": {}
},
"typeVersion": 1.2
},
{
"id": "b99de1ce-cb53-4e73-83dd-0cf9c135a6f3",
"name": "The Verge",
"type": "n8n-nodes-base.rssFeedRead",
"position": [
-320,
48
],
"parameters": {
"url": "https://www.theverge.com/rss/index.xml",
"options": {}
},
"typeVersion": 1.2
},
{
"id": "4e5090f1-eaa4-4dcd-b5ae-97576ee6f679",
"name": "Schedule Trigger",
"type": "n8n-nodes-base.scheduleTrigger",
"disabled": true,
"position": [
-544,
592
],
"parameters": {
"rule": {
"interval": [
{
"triggerAtHour": 11
}
]
}
},
"typeVersion": 1.2
},
{
"id": "89d12591-384a-49f0-855d-83f12db8ba74",
"name": "When clicking \u2018Execute workflow\u2019",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-544,
0
],
"parameters": {},
"typeVersion": 1
}
],
"connections": {
"If": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
],
[
{
"node": "HTTP Request",
"type": "main",
"index": 0
}
]
]
},
"If1": {
"main": [
[
{
"node": "Loop Over Items1",
"type": "main",
"index": 0
}
],
[
{
"node": "HTTP Request1",
"type": "main",
"index": 0
}
]
]
},
"HTML": {
"main": [
[
{
"node": "Code in JavaScript",
"type": "main",
"index": 0
}
]
]
},
"HTML1": {
"main": [
[
{
"node": "Code in JavaScript1",
"type": "main",
"index": 0
}
]
]
},
"Crypto": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"Crypto1": {
"main": [
[
{
"node": "Loop Over Items1",
"type": "main",
"index": 0
}
]
]
},
"The Verge": {
"main": [
[
{
"node": "Crypto",
"type": "main",
"index": 0
}
]
]
},
"TechCrunch": {
"main": [
[
{
"node": "Crypto1",
"type": "main",
"index": 0
}
]
]
},
"HTTP Request": {
"main": [
[
{
"node": "HTML",
"type": "main",
"index": 0
}
]
]
},
"HTTP Request1": {
"main": [
[
{
"node": "HTML1",
"type": "main",
"index": 0
}
]
]
},
"Basic LLM Chain": {
"main": [
[
{
"node": "Create a database page",
"type": "main",
"index": 0
}
]
]
},
"Loop Over Items": {
"main": [
[
{
"node": "fetch finished",
"type": "main",
"index": 0
}
],
[
{
"node": "Get many database pages",
"type": "main",
"index": 0
}
]
]
},
"Basic LLM Chain1": {
"main": [
[
{
"node": "Create a database page1",
"type": "main",
"index": 0
}
]
]
},
"Loop Over Items1": {
"main": [
[
{
"node": "fetch finished",
"type": "main",
"index": 0
}
],
[
{
"node": "Get many database pages1",
"type": "main",
"index": 0
}
]
]
},
"Schedule Trigger": {
"main": [
[
{
"node": "TechCrunch",
"type": "main",
"index": 0
},
{
"node": "The Verge",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "Basic LLM Chain",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Code in JavaScript": {
"main": [
[
{
"node": "Basic LLM Chain",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model1": {
"ai_languageModel": [
[
{
"node": "Basic LLM Chain1",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Code in JavaScript1": {
"main": [
[
{
"node": "Basic LLM Chain1",
"type": "main",
"index": 0
}
]
]
},
"Create a database page": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"Create a database page1": {
"main": [
[
{
"node": "Loop Over Items1",
"type": "main",
"index": 0
}
]
]
},
"Get many database pages": {
"main": [
[
{
"node": "If",
"type": "main",
"index": 0
}
]
]
},
"Get many database pages1": {
"main": [
[
{
"node": "If1",
"type": "main",
"index": 0
}
]
]
},
"When clicking \u2018Execute workflow\u2019": {
"main": [
[
{
"node": "The Verge",
"type": "main",
"index": 0
},
{
"node": "TechCrunch",
"type": "main",
"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.
notionApiopenAiApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This n8n workflow automates the process of fetching, processing, and storing tech news articles from RSS feeds into a Notion database. It retrieves articles from The Verge and TechCrunch, processes them to avoid duplicates, extracts full article content, generates summaries…
Source: https://n8n.io/workflows/8600/ — 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.
This workflow is designed for Japanese-speaking professionals, and learners who want to efficiently stay up to date with practical productivity, lifehack, and efficiency-related insights from Japanese
Awesome N8N Templates. Uses notion, lmChatOpenAi, outputParserStructured, chainLlm. Event-driven trigger; 36 nodes.
Check Legal Regulations: This workflow involves scraping, so ensure you comply with the legal regulations in your country before getting started. Better safe than sorry!
公認資格ワークフロー. Uses rssFeedRead, chainLlm, lmChatGoogleGemini, outputParserStructured. Scheduled trigger; 25 nodes.
Complete PostgreSQL-backed system: Keyword scoring → AI research → Multi-part content generation → fal.ai Nano Banana image generation → WordPress publishing