Automatisation Webhook avec n8n : création d'articles RSS
Ce workflow n8n a pour objectif de simplifier la création d'articles RSS à partir de données extraites d'un site web. Dans un contexte où la gestion de contenu est cruciale pour les entreprises, ce type d'automatisation permet de gagner du temps et d'assurer une mise à jour régulière des informations. Les cas d'usage incluent la publication automatique d'articles, la mise à jour de flux RSS pour les blogs ou les sites d'actualités, et l'intégration de contenu dynamique dans des systèmes de gestion de contenu.
- Étape 1 : Le workflow commence par un déclencheur Webhook qui attend une requête HTTP pour initier le processus.
- Étape 2 : Ensuite, le nœud 'Fetch Website' récupère le contenu d'une URL spécifiée.
- Étape 3 : Les nœuds 'Extract Posts' et 'Extract Fields' extraient les informations pertinentes du contenu HTML récupéré.
- Étape 4 : Les données sont ensuite formatées à l'aide du nœud 'Format Date' pour assurer une présentation correcte.
- Étape 5 : Le nœud 'Create RSS Items' génère les articles RSS à partir des données extraites. Enfin, le workflow répond à la requête Webhook avec les articles créés, permettant ainsi une intégration fluide dans d'autres systèmes. Grâce à cette automatisation n8n, les entreprises peuvent réduire les erreurs humaines, améliorer la rapidité de publication et optimiser leur gestion de contenu.
Workflow n8n RSS, webhook, extraction de données : vue d'ensemble
Schéma des nœuds et connexions de ce workflow n8n, généré à partir du JSON n8n.
Workflow n8n RSS, webhook, extraction de données : détail des nœuds
Inscris-toi pour voir l'intégralité du workflow
Inscription gratuite
S'inscrire gratuitementBesoin d'aide ?{
"nodes": [
{
"name": "On clicking 'execute'",
"type": "n8n-nodes-base.manualTrigger",
"position": [
240,
300
],
"parameters": {},
"typeVersion": 1
},
{
"name": "Item Lists",
"type": "n8n-nodes-base.itemLists",
"position": [
1120,
300
],
"parameters": {
"options": {},
"fieldToSplitOut": "post"
},
"typeVersion": 1
},
{
"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
},
{
"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
},
{
"name": "Set URL",
"type": "n8n-nodes-base.set",
"position": [
460,
300
],
"parameters": {
"values": {
"string": [
{
"name": "base_domain",
"value": "https://baserow.io"
}
]
},
"options": {}
},
"typeVersion": 1
},
{
"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
},
{
"name": "Format Date",
"type": "n8n-nodes-base.dateTime",
"position": [
460,
500
],
"parameters": {
"value": "={{$json[\"date\"]}}",
"options": {},
"toFormat": "YYYY-MM-DD",
"dataPropertyName": "date"
},
"typeVersion": 1
},
{
"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
},
{
"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
},
{
"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
},
{
"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
},
{
"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
}
],
"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
}
]
]
}
}
}Workflow n8n RSS, webhook, extraction de données : pour qui est ce workflow ?
Ce workflow s'adresse aux équipes marketing, aux gestionnaires de contenu et aux développeurs souhaitant automatiser la création de flux RSS. Il est idéal pour les PME et les startups qui cherchent à optimiser leur processus de publication sans nécessiter de compétences techniques avancées.
Workflow n8n RSS, webhook, extraction de données : problème résolu
Ce workflow résout le problème de la mise à jour manuelle des flux RSS, ce qui peut être chronophage et sujet à des erreurs. En automatisant ce processus, les utilisateurs peuvent s'assurer que leur contenu est toujours à jour, réduisant ainsi le risque de publication d'informations obsolètes. Les entreprises bénéficient d'une meilleure visibilité en ligne et d'une gestion de contenu plus efficace.
Workflow n8n RSS, webhook, extraction de données : étapes du workflow
Étape 1 : Le processus débute avec le déclencheur Webhook qui attend une requête.
- Étape 1 : Le nœud 'Fetch Website' récupère le contenu d'une URL.
- Étape 2 : Les nœuds 'Extract Posts' et 'Extract Fields' extraient les données nécessaires.
- Étape 3 : Le nœud 'Format Date' ajuste le format des dates extraites.
- Étape 4 : Le nœud 'Create RSS Items' génère les articles RSS.
- Étape 5 : Enfin, le nœud 'Respond to Webhook' envoie la réponse contenant les articles créés.
Workflow n8n RSS, webhook, extraction de données : guide de personnalisation
Pour personnaliser ce workflow, vous pouvez modifier l'URL dans le nœud 'Fetch Website' pour pointer vers le site dont vous souhaitez extraire le contenu. Dans le nœud 'Extract Posts', ajustez les valeurs d'extraction pour cibler les éléments HTML spécifiques que vous souhaitez inclure dans vos articles RSS. Vous pouvez également adapter le format de date dans le nœud 'Format Date' selon vos préférences. Enfin, assurez-vous que le nœud 'Webhook' est configuré avec le bon chemin pour recevoir les requêtes appropriées.