Réutiliser des actualités à partir de sources RSS et les publier via PostPulse
Ceci est unContent Creation, Multimodal AIworkflow d'automatisation du domainecontenant 25 nœuds.Utilise principalement des nœuds comme If, Wait, Merge, Function, RssFeedRead. Automatisation des actualités RSS vers la publication sur plusieurs plateformes de médias sociaux avec PostPulse
- •Aucun prérequis spécial, prêt à l'emploi après importation
Nœuds utilisés (25)
Catégorie
{
"id": "lTO5ex53oKKkeT0d",
"meta": {
"instanceId": "bf246f909c2b838648f333c22c98b9bde186937bc00a5918bd9a27f4ec3914d3"
},
"name": "Repurpose News from RSS Feed and Publish via PostPulse",
"tags": [],
"nodes": [
{
"id": "5225f3e9-d85f-4e3e-900a-e67fbc5ea7ac",
"name": "Déclencheur Planifié",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-48,
-144
],
"parameters": {
"rule": {
"interval": [
{
"triggerAtHour": 9
}
]
}
},
"typeVersion": 1.2
},
{
"id": "b72c3c2f-7b1d-4925-9dca-720f2353b793",
"name": "Condition Si",
"type": "n8n-nodes-base.if",
"position": [
720,
0
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "bff36021-96e1-421e-9218-81e2117786b1",
"operator": {
"type": "dateTime",
"operation": "afterOrEquals"
},
"leftValue": "={{ $json.pubDate }}",
"rightValue": "={{ $now.minus(1, 'days').startOf('day') }}"
},
{
"id": "8acc637f-1103-4c4f-a80e-428020b3cf41",
"operator": {
"type": "dateTime",
"operation": "beforeOrEquals"
},
"leftValue": "={{ $json.pubDate }}",
"rightValue": "={{ $now.minus(1, 'days').endOf('day') }}"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "3442e809-c9a9-45a0-9088-72a1810355b1",
"name": "Obtenir les comptes connectés",
"type": "@postpulse/n8n-nodes-postpulse.postPulse",
"position": [
784,
480
],
"parameters": {
"resource": "account"
},
"credentials": {
"postPulseOAuth2Api": {
"id": "nrEYznJjQaKGajyK",
"name": "PostPulse account"
}
},
"typeVersion": 1
},
{
"id": "2d2d2c5f-32b3-4b7a-8a49-a52e8ac9dea1",
"name": "Vérification Média Si",
"type": "n8n-nodes-base.if",
"position": [
912,
0
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "media-check-condition",
"operator": {
"type": "string",
"operation": "notEmpty"
},
"leftValue": "={{ (\n $json.enclosure?.url ||\n $json['media:content']?.url || \n $json['media:thumbnail']?.url ||\n ($json.description && $json.description.match(/<img[^>]+src=[\"']([^\"']+)[\"']/i)?.[1]) ||\n ($json['content:encoded'] && $json['content:encoded'].match(/<img[^>]+src=[\"']([^\"']+)[\"']/i)?.[1])\n ) }}"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "13391fd1-8164-4bc2-b5cd-438c507dffa5",
"name": "Lecture Flux RSS",
"type": "n8n-nodes-base.rssFeedRead",
"position": [
336,
-64
],
"parameters": {
"url": "https://rss.unian.ua/site/gplay_56_ukr.rss",
"options": {}
},
"typeVersion": 1
},
{
"id": "eab7ec94-76a3-4840-a89e-f77f2e1991ef",
"name": "Fusion (sans média + comptes)",
"type": "n8n-nodes-base.merge",
"position": [
1152,
224
],
"parameters": {
"mode": "combine",
"options": {},
"combineBy": "combineAll"
},
"typeVersion": 3.2
},
{
"id": "6edb85e6-e42f-486c-8a51-035ea59dbe96",
"name": "Téléverser média",
"type": "@postpulse/n8n-nodes-postpulse.postPulse",
"position": [
1104,
-176
],
"parameters": {
"url": "={{ $json.enclosure.url }}",
"resource": "media",
"filenameHint": "={{ $json.enclosure.url.split(\"/\").pop() }}",
"uploadSource": "url"
},
"credentials": {
"postPulseOAuth2Api": {
"id": "nrEYznJjQaKGajyK",
"name": "PostPulse account"
}
},
"typeVersion": 1
},
{
"id": "13fd97d3-c730-4ad1-9311-58fe5f385c10",
"name": "Obtenir statut téléversement",
"type": "@postpulse/n8n-nodes-postpulse.postPulse",
"position": [
1312,
-208
],
"parameters": {
"importId": "={{ $json.id }}",
"resource": "media",
"operation": "getUploadStatus"
},
"credentials": {
"postPulseOAuth2Api": {
"id": "nrEYznJjQaKGajyK",
"name": "PostPulse account"
}
},
"typeVersion": 1
},
{
"id": "3b3c7fdb-a992-43ac-8478-e42a7e6ec7d9",
"name": "Fusion1",
"type": "n8n-nodes-base.merge",
"position": [
2160,
-64
],
"parameters": {
"mode": "combine",
"options": {},
"combineBy": "combineAll"
},
"typeVersion": 3.2
},
{
"id": "1d049387-8e7b-4cc7-b32d-704f0aba5945",
"name": "Si1",
"type": "n8n-nodes-base.if",
"position": [
1504,
-304
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "44cab27e-ad6e-4320-aea2-ca7e5ebbbf2f",
"operator": {
"type": "string",
"operation": "notEquals"
},
"leftValue": "={{ $json.state }}",
"rightValue": "READY"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "804a3503-e23f-4a87-b811-bd552edf94ac",
"name": "Attente",
"type": "n8n-nodes-base.wait",
"position": [
1744,
-304
],
"webhookId": "2a52ba6c-06e9-4cdc-94af-8e9206ad2f0f",
"parameters": {},
"typeVersion": 1.1
},
{
"id": "2c315149-3047-467e-bdb3-e62330aabe10",
"name": "Publier Publication",
"type": "@postpulse/n8n-nodes-postpulse.postPulse",
"position": [
2400,
-32
],
"parameters": {
"isDraft": true,
"publications": {
"publication": [
{
"posts": {
"post": [
{
"content": "={{ (function(){\nconst t=$json['content:encodedSnippet'],p=$json.platform;\nlet m=500;if(p==='X_TWITTER')m=280;if(p==='BLUE_SKY')m=300;\nif(t.length<=m)return t;\nconst d=t.lastIndexOf('.',m),e=t.lastIndexOf('!',m),q=t.lastIndexOf('?',m),s=Math.max(d,e,q),l=m*0.6;\nif(s>0&&s>=l)return t.substring(0,s+1);\nconst w=t.lastIndexOf(' ',m);\nreturn t.substring(0,w>0?w:m)+'...';\n})() }}",
"attachmentPaths": {
"path": [
{
"value": "={{ $json.s3Key }}"
}
]
}
}
]
},
"platformSettings": "={{ (function() { const platformMapping = { 'X_TWITTER': 'TWITTER', 'YOUTUBE': 'YOUTUBE', 'THREADS': 'THREADS', 'TIKTOK': 'TIK_TOK', 'INSTAGRAM': 'INSTAGRAM', 'FACEBOOK': 'FACEBOOK', 'LINKEDIN': 'LINKEDIN', 'BLUE_SKY': 'BLUE_SKY', 'TELEGRAM': 'TELEGRAM' }; return JSON.stringify({ \"type\": platformMapping[$json.platform] }); })() }}",
"socialMediaAccountId": "={{ $json.id }}"
}
]
},
"scheduledTime": "={{$now.toUTC()}}"
},
"credentials": {
"postPulseOAuth2Api": {
"id": "nrEYznJjQaKGajyK",
"name": "PostPulse account"
}
},
"typeVersion": 1
},
{
"id": "abde1db6-6283-472b-8fc6-9d0bd9cfb6eb",
"name": "Fusion",
"type": "n8n-nodes-base.merge",
"position": [
1952,
-160
],
"parameters": {
"mode": "combine",
"options": {},
"advanced": true,
"mergeByFields": {
"values": [
{
"field1": "sourceUrl",
"field2": "enclosure.url"
}
]
}
},
"typeVersion": 3.2
},
{
"id": "c05dd604-c4ee-485b-81f6-d38f67e515b0",
"name": "Publier Publication (texte uniquement)",
"type": "@postpulse/n8n-nodes-postpulse.postPulse",
"position": [
1776,
336
],
"parameters": {
"isDraft": true,
"publications": {
"publication": [
{
"posts": {
"post": [
{
"content": "={{ (function(){\n const title = $json.title || '';\n const content = $json['content'] || $json['content:encodedSnippet'] || $json.description || '';\n const fullText = title + (content ? '\\n\\n' + content : '');\n const p = $json.platform;\n let m = 500;\n if(p==='X_TWITTER') m=280;\n if(p==='BLUE_SKY') m=300;\n if(fullText.length <= m) return fullText;\n const d = fullText.lastIndexOf('.', m), e = fullText.lastIndexOf('!', m), q = fullText.lastIndexOf('?', m);\n const s = Math.max(d, e, q), l = m*0.6;\n if(s > 0 && s >= l) return fullText.substring(0, s+1);\n const w = fullText.lastIndexOf(' ', m);\n return fullText.substring(0, w>0?w:m) + '...';\n})() }}\n",
"attachmentPaths": {
"path": [
{}
]
}
}
]
},
"platformSettings": "={{ (function() { const platformMapping = { 'X_TWITTER': 'TWITTER', 'YOUTUBE': 'YOUTUBE', 'THREADS': 'THREADS', 'TIKTOK': 'TIK_TOK', 'INSTAGRAM': 'INSTAGRAM', 'FACEBOOK': 'FACEBOOK', 'LINKEDIN': 'LINKEDIN', 'BLUE_SKY': 'BLUE_SKY', 'TELEGRAM': 'TELEGRAM' }; return JSON.stringify({ \"type\": platformMapping[$json.platform] }); })() }}",
"socialMediaAccountId": "={{ $json.id }}"
}
]
},
"scheduledTime": "={{$now.toUTC()}}"
},
"credentials": {
"postPulseOAuth2Api": {
"id": "nrEYznJjQaKGajyK",
"name": "PostPulse account"
}
},
"typeVersion": 1
},
{
"id": "d20115e7-11a2-4af9-ab4f-a9c33ea44b99",
"name": "Limiter à N publications",
"type": "n8n-nodes-base.function",
"position": [
512,
-48
],
"parameters": {
"functionCode": "const limit = 1; // Specify the desired\nconst items = $input.all();\n\nreturn items.slice(0, limit);"
},
"typeVersion": 1
},
{
"id": "7cf7be4d-1553-4f52-ac23-007a46e73eb8",
"name": "Note adhésive",
"type": "n8n-nodes-base.stickyNote",
"position": [
-128,
-544
],
"parameters": {
"width": 640,
"height": 144,
"content": "## Repurpose News from RSS Feed and Publish via PostPulse\nThis workflow automatically fetches news from an RSS feed, processes the content, and publishes or schedules posts across multiple social media platforms using PostPulse.\n\n"
},
"typeVersion": 1
},
{
"id": "8a2f34a4-7099-42c7-82cd-b8291f585e21",
"name": "Note adhésive1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-112,
16
],
"parameters": {
"width": 272,
"height": 96,
"content": "## Schedule Trigger\nSets the workflow to run at a chosen time, e.g., daily at 9:00 AM.\n"
},
"typeVersion": 1
},
{
"id": "402d5b7c-a30d-4bef-af05-74d48ef703d7",
"name": "Note adhésive2",
"type": "n8n-nodes-base.stickyNote",
"position": [
256,
-208
],
"parameters": {
"height": 96,
"content": "## RSS Feed Read\nFetches the latest news from a specified RSS feed URL.\n"
},
"typeVersion": 1
},
{
"id": "b02123b2-1751-4e7b-99c9-49dca6c2c653",
"name": "Note adhésive3",
"type": "n8n-nodes-base.stickyNote",
"position": [
416,
80
],
"parameters": {
"width": 288,
"height": 112,
"content": "## Limit to N Post \nLimits the number of items passed through. Set the desired number directly in the node code. \n"
},
"typeVersion": 1
},
{
"id": "ef97a779-fb99-4d50-9e11-2968dad3e477",
"name": "Note adhésive4",
"type": "n8n-nodes-base.stickyNote",
"position": [
656,
-208
],
"parameters": {
"width": 384,
"content": "## If & Media Check IF \nFilters posts based on publish date (e.g., only from yesterday) **AND** checks if they contain an image by looking at fields like `enclosure.url`, `media:content`, `media:thumbnail`, or `<img>` inside the HTML content. \n"
},
"typeVersion": 1
},
{
"id": "fefe03d9-f87b-43ca-8f17-c5c09fa347ad",
"name": "Note adhésive5",
"type": "n8n-nodes-base.stickyNote",
"position": [
1216,
-448
],
"parameters": {
"width": 544,
"height": 112,
"content": "## PostPulse Upload Media & Get Upload Status\nUploads images or videos from the feed to PostPulse, waits for the media to be ready, and checks the upload status every 5 seconds.\n"
},
"typeVersion": 1
},
{
"id": "1e1b08d4-96d7-4229-bdcf-0ac43f58f18c",
"name": "Note adhésive6",
"type": "n8n-nodes-base.stickyNote",
"position": [
2064,
-288
],
"parameters": {
"width": 336,
"height": 128,
"content": "## Merge\nCombines information from the RSS feed with the uploaded media, creating a single record with a shared URL.\n"
},
"typeVersion": 1
},
{
"id": "00692b40-ef2b-4aa8-9f2b-e69a097071d9",
"name": "Note adhésive7",
"type": "n8n-nodes-base.stickyNote",
"position": [
2144,
224
],
"parameters": {
"width": 320,
"height": 128,
"content": "## Publish Post\nSchedules the news post. If \"Is Draft\" is checked, the post is saved as a draft; if not, it is scheduled for immediate publishing.\n"
},
"typeVersion": 1
},
{
"id": "5ee6e715-62dc-4b82-993a-e35587d76d71",
"name": "Note adhésive8",
"type": "n8n-nodes-base.stickyNote",
"position": [
592,
640
],
"parameters": {
"width": 352,
"content": "## PostPulse Get Connected Accounts\nRetrieves your linked social media accounts for publishing posts.\n"
},
"typeVersion": 1
},
{
"id": "10976fdd-1cc1-4739-bc62-2ab1cb1d71d0",
"name": "Note adhésive9",
"type": "n8n-nodes-base.stickyNote",
"position": [
1216,
48
],
"parameters": {
"width": 256,
"content": "## Merge (no media + accounts) \nMerges posts without media with accounts data. \n"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "018ef9cd-662d-4a33-8efd-f090b888f812",
"connections": {
"b72c3c2f-7b1d-4925-9dca-720f2353b793": {
"main": [
[
{
"node": "2d2d2c5f-32b3-4b7a-8a49-a52e8ac9dea1",
"type": "main",
"index": 0
}
],
[
{
"node": "2d2d2c5f-32b3-4b7a-8a49-a52e8ac9dea1",
"type": "main",
"index": 0
}
]
]
},
"1d049387-8e7b-4cc7-b32d-704f0aba5945": {
"main": [
[
{
"node": "804a3503-e23f-4a87-b811-bd552edf94ac",
"type": "main",
"index": 0
}
],
[
{
"node": "abde1db6-6283-472b-8fc6-9d0bd9cfb6eb",
"type": "main",
"index": 0
}
]
]
},
"804a3503-e23f-4a87-b811-bd552edf94ac": {
"main": [
[
{
"node": "13fd97d3-c730-4ad1-9311-58fe5f385c10",
"type": "main",
"index": 0
}
]
]
},
"abde1db6-6283-472b-8fc6-9d0bd9cfb6eb": {
"main": [
[
{
"node": "3b3c7fdb-a992-43ac-8478-e42a7e6ec7d9",
"type": "main",
"index": 0
}
]
]
},
"3b3c7fdb-a992-43ac-8478-e42a7e6ec7d9": {
"main": [
[
{
"node": "2c315149-3047-467e-bdb3-e62330aabe10",
"type": "main",
"index": 0
}
]
]
},
"6edb85e6-e42f-486c-8a51-035ea59dbe96": {
"main": [
[
{
"node": "13fd97d3-c730-4ad1-9311-58fe5f385c10",
"type": "main",
"index": 0
}
]
]
},
"13391fd1-8164-4bc2-b5cd-438c507dffa5": {
"main": [
[
{
"node": "d20115e7-11a2-4af9-ab4f-a9c33ea44b99",
"type": "main",
"index": 0
}
]
]
},
"2d2d2c5f-32b3-4b7a-8a49-a52e8ac9dea1": {
"main": [
[
{
"node": "6edb85e6-e42f-486c-8a51-035ea59dbe96",
"type": "main",
"index": 0
},
{
"node": "abde1db6-6283-472b-8fc6-9d0bd9cfb6eb",
"type": "main",
"index": 1
}
],
[
{
"node": "eab7ec94-76a3-4840-a89e-f77f2e1991ef",
"type": "main",
"index": 0
}
]
]
},
"d20115e7-11a2-4af9-ab4f-a9c33ea44b99": {
"main": [
[
{
"node": "b72c3c2f-7b1d-4925-9dca-720f2353b793",
"type": "main",
"index": 0
}
]
]
},
"5225f3e9-d85f-4e3e-900a-e67fbc5ea7ac": {
"main": [
[
{
"node": "3442e809-c9a9-45a0-9088-72a1810355b1",
"type": "main",
"index": 0
},
{
"node": "13391fd1-8164-4bc2-b5cd-438c507dffa5",
"type": "main",
"index": 0
}
]
]
},
"13fd97d3-c730-4ad1-9311-58fe5f385c10": {
"main": [
[
{
"node": "1d049387-8e7b-4cc7-b32d-704f0aba5945",
"type": "main",
"index": 0
}
]
]
},
"3442e809-c9a9-45a0-9088-72a1810355b1": {
"main": [
[
{
"node": "eab7ec94-76a3-4840-a89e-f77f2e1991ef",
"type": "main",
"index": 1
},
{
"node": "3b3c7fdb-a992-43ac-8478-e42a7e6ec7d9",
"type": "main",
"index": 1
}
]
]
},
"eab7ec94-76a3-4840-a89e-f77f2e1991ef": {
"main": [
[
{
"node": "c05dd604-c4ee-485b-81f6-d38f67e515b0",
"type": "main",
"index": 0
}
]
]
}
}
}Comment utiliser ce workflow ?
Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.
Dans quelles scénarios ce workflow est-il adapté ?
Avancé - Création de contenu, IA Multimodale
Est-ce payant ?
Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.
Workflows recommandés
Dmytro
@dmytro-hnatiukHnatiuk Dmytro is a Content Manager at PostPulse, experienced in copywriting, localization, and social media marketing. Skilled in creating engaging content strategies, managing multi-platform campaigns, and optimizing posts for audience engagement. He also has technical skills in HTML, JavaScript, Node.js, and C#, with a background in cybersecurity. Outside of work, Dmytro is a musician, enjoys playing and listening to music, stays active through sports, and values connecting with people
Partager ce workflow