n8n
Workflow
Create An Rss Feed Based On A Website S Content
This n8n workflow creates tasks and integrates with various services. Create An Rss Feed Based On A Website S Content - ready to import and run in your n8n instance.
n8n
workflow.json
About This Script
This n8n workflow creates tasks and integrates with various services. Create An Rss Feed Based On A Website S Content - ready to import and run in your n8n instance.
Features:
- Makes HTTP requests to external APIs
- Custom JavaScript function processing
- Receives webhook events
Source Code
{
"nodes": [
{
"name": "On clicking 'execute'",
"type": "n8n-nodes-base.manualTrigger",
"position": [
240,
300
],
"parameters": [],
"typeVersion": 1,
"id": "23f0aaca-ce1c-4961-b58c-09191700e583"
},
{
"name": "Item Lists",
"type": "n8n-nodes-base.itemLists",
"position": [
1120,
300
],
"parameters": {
"options": [],
"fieldToSplitOut": "post"
},
"typeVersion": 1,
"id": "cd36da75-67d7-4dff-a6dc-2b3aefb89595"
},
{
"name": "Extract Posts",
"type": "n8n-nodes-base.htmlExtract",
"position": [
900,
300
],
"parameters": {
"options": [],
"extractionValues": {
"values": [
{
"key": "post",
"cssSelector": ".blog-listing__post-content",
"returnArray": true,
"returnValue": "html"
}
]
}
},
"typeVersion": 1,
"id": "8a56a01c-8787-4e74-8faa-566372b96d88"
},
{
"name": "Fetch Website",
"type": "n8n-nodes-base.httpRequest",
"position": [
680,
300
],
"parameters": {
"url": "={{$json[\"base_domain\"]}}/blog/category/release",
"options": {
"timeout": 10000
},
"responseFormat": "string"
},
"typeVersion": 1,
"id": "7b3cfcb7-58d1-4e3b-a51e-dde71babec55"
},
{
"name": "Set URL",
"type": "n8n-nodes-base.set",
"position": [
460,
300
],
"parameters": {
"values": {
"string": [
{
"name": "base_domain",
"value": "https://baserow.io"
}
]
},
"options": []
},
"typeVersion": 1,
"id": "66221a5c-4e11-49f4-8172-b92bf5c9f08a"
},
{
"name": "Complete Link",
"type": "n8n-nodes-base.set",
"position": [
240,
500
],
"parameters": {
"values": {
"string": [
{
"name": "link",
"value": "={{$item(0).$node[\"Set URL\"].json[\"base_domain\"]}}{{$json[\"link\"]}}"
}
]
},
"options": []
},
"typeVersion": 1,
"id": "cdaddb09-cd42-4e97-abd0-780526b77b27"
},
{
"name": "Format Date",
"type": "n8n-nodes-base.dateTime",
"position": [
460,
500
],
"parameters": {
"value": "={{$json[\"date\"]}}",
"options": [],
"toFormat": "YYYY-MM-DD",
"dataPropertyName": "date"
},
"typeVersion": 1,
"id": "f3941a4e-e4da-4712-b517-8d364beac2f5"
},
{
"name": "Create RSS Items",
"type": "n8n-nodes-base.functionItem",
"position": [
680,
500
],
"parameters": {
"functionCode": "return {\n rss_item: \n`<item>\n <title>${item.title}</title>\n <link>${item.link}</link>\n <description>${item.description}</description>\n <pubDate>${item.date}</pubDate>\n</item>`\n}"
},
"typeVersion": 1,
"id": "d52f0822-1a6e-4981-9229-2ccc33e5e695"
},
{
"name": "Webhook",
"type": "n8n-nodes-base.webhook",
"position": [
240,
100
],
"webhookId": "27c1e4db-568f-4bf9-9474-0898ce1173f7",
"parameters": {
"path": "baserow-releases",
"options": [],
"responseMode": "responseNode"
},
"typeVersion": 1,
"id": "00ac1de8-85e4-49c3-b95b-d665c978a2cd"
},
{
"name": "Respond to Webhook",
"type": "n8n-nodes-base.respondToWebhook",
"position": [
1120,
500
],
"parameters": {
"options": {
"responseHeaders": {
"entries": [
{
"name": "content-type",
"value": "application/xml"
}
]
}
},
"respondWith": "text",
"responseBody": "={{$json[\"feed\"]}}"
},
"typeVersion": 1,
"id": "09cb7d77-deeb-4b96-a735-47fd06c39549"
},
{
"name": "Prepare Response",
"type": "n8n-nodes-base.function",
"position": [
900,
500
],
"parameters": {
"functionCode": "let feed =\n`<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<rss version=\"2.0\">\n\n<channel>\n <title>Baserow Releases</title>\n <link>https://baserow.io/blog/category/release</link>\n <description>Stay up to date with the latest changes and updates of Baserow</description>\n ${items.map(e => e.json.rss_item).join('\\n')}\n</channel>\n\n</rss>`;\n\nreturn [{\n json: {\n feed: feed\n }\n}];"
},
"typeVersion": 1,
"id": "78616524-c5e5-4ed9-a63d-6ec69b69ee4b"
},
{
"name": "Extract Fields",
"type": "n8n-nodes-base.htmlExtract",
"position": [
1340,
300
],
"parameters": {
"options": [],
"dataPropertyName": "post",
"extractionValues": {
"values": [
{
"key": "date",
"cssSelector": ".blog-listing__post-info > strong"
},
{
"key": "title",
"cssSelector": ".blog-listing__post-title"
},
{
"key": "link",
"attribute": "href",
"cssSelector": ".blog-listing__post-title > a",
"returnValue": "attribute"
},
{
"key": "description",
"cssSelector": ".blog-listing__post-description"
}
]
}
},
"typeVersion": 1,
"id": "9a84f91c-1238-4e1a-84b3-a6169a1a8d4a"
}
],
"connections": {
"Set URL": {
"main": [
[
{
"node": "Fetch Website",
"type": "main",
"index": 0
}
]
]
},
"Webhook": {
"main": [
[
{
"node": "Set URL",
"type": "main",
"index": 0
}
]
]
},
"Item Lists": {
"main": [
[
{
"node": "Extract Fields",
"type": "main",
"index": 0
}
]
]
},
"Format Date": {
"main": [
[
{
"node": "Create RSS Items",
"type": "main",
"index": 0
}
]
]
},
"Complete Link": {
"main": [
[
{
"node": "Format Date",
"type": "main",
"index": 0
}
]
]
},
"Extract Posts": {
"main": [
[
{
"node": "Item Lists",
"type": "main",
"index": 0
}
]
]
},
"Fetch Website": {
"main": [
[
{
"node": "Extract Posts",
"type": "main",
"index": 0
}
]
]
},
"Extract Fields": {
"main": [
[
{
"node": "Complete Link",
"type": "main",
"index": 0
}
]
]
},
"Create RSS Items": {
"main": [
[
{
"node": "Prepare Response",
"type": "main",
"index": 0
}
]
]
},
"Prepare Response": {
"main": [
[
{
"node": "Respond to Webhook",
"type": "main",
"index": 0
}
]
]
},
"On clicking 'execute'": {
"main": [
[
{
"node": "Set URL",
"type": "main",
"index": 0
}
]
]
}
},
"n8n_version": "1.5.0"
}
Requirements
n8n instance, API credentials for connected services
Tags
#n8n
#automation
#workflow