Wiederverwendung von Nachrichten aus RSS-Feeds und Veröffentlichung über PostPulse

Experte

Dies ist ein Content Creation, Multimodal AI-Bereich Automatisierungsworkflow mit 25 Nodes. Hauptsächlich werden If, Wait, Merge, Function, RssFeedRead und andere Nodes verwendet. Automatisierung der Veröffentlichung von RSS-News auf mehrplattformigen Social Media durch PostPulse

Voraussetzungen
  • Keine besonderen Voraussetzungen, sofort nach Import nutzbar
Workflow-Vorschau
Visualisierung der Node-Verbindungen, mit Zoom und Pan
Workflow exportieren
Kopieren Sie die folgende JSON-Konfiguration und importieren Sie sie in n8n
{
  "id": "lTO5ex53oKKkeT0d",
  "meta": {
    "instanceId": "bf246f909c2b838648f333c22c98b9bde186937bc00a5918bd9a27f4ec3914d3"
  },
  "name": "Repurpose News from RSS Feed and Publish via PostPulse",
  "tags": [],
  "nodes": [
    {
      "id": "5225f3e9-d85f-4e3e-900a-e67fbc5ea7ac",
      "name": "Zeitplan-Auslöser",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -48,
        -144
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "triggerAtHour": 9
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "b72c3c2f-7b1d-4925-9dca-720f2353b793",
      "name": "Wenn",
      "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": "Verbundene Konten abrufen",
      "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": "Medienprüfung WENN",
      "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": "RSS-Feed lesen",
      "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": "Zusammenführen (keine Medien + Konten)",
      "type": "n8n-nodes-base.merge",
      "position": [
        1152,
        224
      ],
      "parameters": {
        "mode": "combine",
        "options": {},
        "combineBy": "combineAll"
      },
      "typeVersion": 3.2
    },
    {
      "id": "6edb85e6-e42f-486c-8a51-035ea59dbe96",
      "name": "Medien hochladen",
      "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": "Hochladestatus abrufen",
      "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": "Zusammenführen1",
      "type": "n8n-nodes-base.merge",
      "position": [
        2160,
        -64
      ],
      "parameters": {
        "mode": "combine",
        "options": {},
        "combineBy": "combineAll"
      },
      "typeVersion": 3.2
    },
    {
      "id": "1d049387-8e7b-4cc7-b32d-704f0aba5945",
      "name": "Wenn1",
      "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": "Warten",
      "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": "Beitrag veröffentlichen",
      "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": "Zusammenführen",
      "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": "Beitrag veröffentlichen (nur Text)",
      "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": "Auf N Beiträge begrenzen",
      "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": "Notiz",
      "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": "Notiz1",
      "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": "Notiz2",
      "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": "Notiz3",
      "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": "Notiz4",
      "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": "Notiz5",
      "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": "Notiz6",
      "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": "Notiz7",
      "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": "Notiz8",
      "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": "Notiz9",
      "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
          }
        ]
      ]
    }
  }
}
Häufig gestellte Fragen

Wie verwende ich diesen Workflow?

Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.

Für welche Szenarien ist dieser Workflow geeignet?

Experte - Content-Erstellung, Multimodales KI

Ist es kostenpflichtig?

Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.

Workflow-Informationen
Schwierigkeitsgrad
Experte
Anzahl der Nodes25
Kategorie2
Node-Typen8
Schwierigkeitsbeschreibung

Für fortgeschrittene Benutzer, komplexe Workflows mit 16+ Nodes

Autor

Hnatiuk 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

Externe Links
Auf n8n.io ansehen

Diesen Workflow teilen

Kategorien

Kategorien: 34