Publicador automático de RSS a LinkedIn

Avanzado

Este es unSocial Media, Multimodal AIflujo de automatización del dominio deautomatización que contiene 19 nodos.Utiliza principalmente nodos como If, Code, LinkedIn, Aggregate, HttpRequest. Usar RSS + Gemini AI + Templated.io para planificar y publicar automáticamente en la página de empresa de LinkedIn

Requisitos previos
  • Credenciales de API de LinkedIn
  • Pueden requerirse credenciales de autenticación para la API de destino
  • Clave de API de Google Gemini
Vista previa del flujo de trabajo
Visualización de las conexiones entre nodos, con soporte para zoom y panorámica
Exportar flujo de trabajo
Copie la siguiente configuración JSON en n8n para importar y usar este flujo de trabajo
{
  "meta": {
    "templateCredsSetupCompleted": false
  },
  "name": "RSS to LinkedIn Auto-Poster",
  "nodes": [
    {
      "name": "Nota adhesiva",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -496,
        -360
      ],
      "parameters": {
        "width": 384,
        "height": 704,
        "content": "## 🧠 Workflow Overview  \n\nThis workflow automatically curates articles from an RSS feed and turns them into short, ready-to-post LinkedIn updates using **Gemini AI**.\n\n### 🔁 What it does  \n- Fetches fresh articles twice a week \n- Uses AI to pick the most relevant one for your audience  \n- Summarizes it into a crisp LinkedIn-style post  \n- Checks post quality → only publishes if score ≥ 7/10  \n- Creates a graphic using Templated\n- Auto-posts to your LinkedIn Page \n\n### ⚙️ What you need  \n- Gemini API credentials  \n- LinkedIn OAuth2 connection  \n- Any RSS feed URL (replace the default)\n- Templated API\n"
      },
      "typeVersion": 1,
      "id": "Nota-adhesiva-0"
    },
    {
      "name": "Nota adhesiva1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        208,
        176
      ],
      "parameters": {
        "color": 7,
        "width": 464,
        "height": 80,
        "content": "## Curator\nRSS Read curates articles and sends to Article Finder"
      },
      "typeVersion": 1,
      "id": "Nota-adhesiva1-1"
    },
    {
      "name": "Nota adhesiva2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1264,
        16
      ],
      "parameters": {
        "color": 7,
        "width": 464,
        "height": 80,
        "content": "## Creator & Optimizer\nCreates Content & Optimizes"
      },
      "typeVersion": 1,
      "id": "Nota-adhesiva2-2"
    },
    {
      "name": "Nota adhesiva3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2176,
        160
      ],
      "parameters": {
        "color": 7,
        "width": 464,
        "height": 80,
        "content": "## Designer & Poster\nCreates Design & Posts on LinkedIn"
      },
      "typeVersion": 1,
      "id": "Nota-adhesiva3-3"
    },
    {
      "name": "Activador programado",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        0,
        300
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "cronExpression",
              "expression": "0 11 * * TUE"
            },
            {
              "field": "cronExpression",
              "expression": "0 11 * * THU"
            }
          ]
        }
      },
      "typeVersion": 1.2,
      "id": "Activador-programado-4"
    },
    {
      "name": "Lectura RSS",
      "type": "n8n-nodes-base.rssFeedRead",
      "position": [
        224,
        300
      ],
      "parameters": {
        "url": "https://blog.hubspot.com/marketing/rss.xml",
        "options": {}
      },
      "retryOnFail": true,
      "typeVersion": 1.2,
      "id": "Lectura-RSS-5"
    },
    {
      "name": "Agregar",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        448,
        300
      ],
      "parameters": {
        "options": {},
        "fieldsToAggregate": {
          "fieldToAggregate": [
            {
              "fieldToAggregate": "title"
            },
            {
              "fieldToAggregate": "content"
            },
            {
              "fieldToAggregate": "link"
            }
          ]
        }
      },
      "typeVersion": 1,
      "id": "Agregar-6"
    },
    {
      "name": "Agrupar las noticias en 1 elemento",
      "type": "n8n-nodes-base.code",
      "position": [
        672,
        300
      ],
      "parameters": {
        "jsCode": "// Inputs expected from Aggregate/RSS: arrays: title[], content[], link[]\nconst all = items[0].json;              // aggregated item\nconst titles = all.title || [];\nconst contents = all.content || [];\nconst links = all.link || [];\n\nconst articles = [];\nconst lines = [];\n\nconst maxLen = Math.max(titles.length, contents.length, links.length);\nfor (let i = 0; i < maxLen; i++) {\n  const obj = {\n    id: i + 1,                          // stable ID (1..N). Use guid if you have one.\n    title: titles[i] ?? \"\",\n    content: contents[i] ?? \"\",\n    link: links[i] ?? \"\"\n  };\n  articles.push(obj);\n  // Short preview for the AI to choose from:\n  const preview = (obj.content || \"\").replace(/\\s+/g, \" \").slice(0, 220);\n  lines.push(`${obj.id}. ${obj.title}\\n${preview}${preview.length === 220 ? \"…\" : \"\"}`);\n}\n\nreturn [\n  {\n    json: {\n      articles,                         // keep the structured mapping\n      forAI: lines.join(\"\\n\\n\")         // human-readable list for the model\n    }\n  }\n];"
      },
      "typeVersion": 2,
      "id": "Agrupar-las-noticias-en-1-elemento-7"
    },
    {
      "name": "Buscador del mejor artículo",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        896,
        300
      ],
      "parameters": {
        "text": "=You are (company name) content curator. Select the BEST article for our audience.\n\nCOMPANY AUDIENCE:\n\n\nSELECTION CRITERIA:\nCHECK:\n- Can someone practically apply this TODAY or is it just knowledge?\n- Will they want to save this?\n\nSKIP ARTICLES ABOUT:\n- Pure theory without practical steps\n\nPick only 1 and give only {{ $json.articles[0].link }} as output\n\n{{ $json.forAI }}\n\n",
        "options": {},
        "promptType": "define"
      },
      "typeVersion": 2.2,
      "id": "Buscador-del-mejor-art-culo-8"
    },
    {
      "name": "Google Gemini Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        968,
        524
      ],
      "parameters": {
        "options": {},
        "modelName": "models/gemini-1.5-flash"
      },
      "typeVersion": 1,
      "id": "Google-Gemini-Chat-Model-9"
    },
    {
      "name": "Google Gemini Chat Model1",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        1320,
        400
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 1,
      "id": "Google-Gemini-Chat-Model1-10"
    },
    {
      "name": "Creador de contenido",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1248,
        176
      ],
      "parameters": {
        "text": "=Turn blog into quick byte below 200 words. \n\nCOMPANY AUDIENCE:\n\n\nWRITING RULES:\n- Write for the audience keeping in mind that they need opinion/insights, they don't have time to spare so be very on point and crisp and profound\n- Include specific numbers/time when possible\n- Keep it to the point like in news/bulletin \n- Always use bullets/classified structure, no extra output needed\n\nHere is the blog to use:  {{ $json.output }}",
        "options": {},
        "promptType": "define"
      },
      "retryOnFail": true,
      "typeVersion": 2.2,
      "id": "Creador-de-contenido-11"
    },
    {
      "name": "Optimizador de publicaciones",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1600,
        176
      ],
      "parameters": {
        "text": "=Analyze this post deeply\n\nPost = {{ $json.output }}\n\nCHECK & OPTIMIZE FOR:\n- Can someone practically apply this TODAY or is it just knowledge?\n- Will THEY want to save this?\n- Does this have fluff/filler words that inflate sentences? Keep sentences small and easy to read.\n- Does it look AI Generated? Prefer human sentence construction\n- No emoji, use → or other symbols for bullets, don't use * or em dash in post, space after every bullet\n- Analyze First line: should not be in text:text format, only mention crux like \"loop marketing strategy\", or use title like \"here's why you need loop marketing\"\n\nAlso create a headline for image for this post, keep it crisp and catchy\n\nOUTPUT:\n{\n  \"final_post\": \"[LinkedIn-ready post]\",\n\"image_text\": \"[Headline for image= what the post is about]\"\n  \"confidence_score\": [1-10],\n  \"post_now\": [true if score >= 7]\n} ",
        "options": {},
        "promptType": "define",
        "hasOutputParser": true
      },
      "retryOnFail": true,
      "typeVersion": 2.2,
      "id": "Optimizador-de-publicaciones-12"
    },
    {
      "name": "Google Gemini Chat Model2",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        1608,
        400
      ],
      "parameters": {
        "options": {},
        "modelName": "models/gemini-1.5-pro"
      },
      "typeVersion": 1,
      "id": "Google-Gemini-Chat-Model2-13"
    },
    {
      "name": "Analizador de salida estructurada",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        1736,
        400
      ],
      "parameters": {
        "jsonSchemaExample": "{\n  \"final_post\": \"[LinkedIn-ready post]\",\n  \"image_text\": \"[Image Title Catcy]\",\n  \"confidence_score\": [10],\n  \"post_now\": [true]\n} "
      },
      "typeVersion": 1.3,
      "id": "Analizador-de-salida-estructurada-14"
    },
    {
      "name": "Si",
      "type": "n8n-nodes-base.if",
      "position": [
        1952,
        300
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "operator": {
                "type": "boolean",
                "operation": "true",
                "singleValue": true
              },
              "leftValue": "={{ $json.output.post_now[0] }}",
              "rightValue": "true"
            }
          ]
        }
      },
      "typeVersion": 2.2,
      "id": "Si-15"
    },
    {
      "name": "Templated",
      "type": "n8n-nodes-templated.templated",
      "position": [
        2176,
        300
      ],
      "parameters": {
        "layers": {
          "layer": [
            {
              "text": "={{ $json.output.image_text }}",
              "layerName": "paragraph-text"
            }
          ]
        },
        "template": "",
        "requestOptions": {}
      },
      "retryOnFail": true,
      "typeVersion": 1,
      "id": "Templated-16"
    },
    {
      "name": "Crear una publicación",
      "type": "n8n-nodes-base.linkedIn",
      "position": [
        2624,
        300
      ],
      "parameters": {
        "text": "={{ $('Post optimizer').item.json.output.final_post }}",
        "postAs": "organization",
        "organization": "",
        "additionalFields": {},
        "shareMediaCategory": "IMAGE"
      },
      "typeVersion": 1,
      "id": "Crear-una-publicaci-n-17"
    },
    {
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2400,
        300
      ],
      "parameters": {
        "url": "={{ $json.render_url }}",
        "options": {
          "response": {
            "response": {
              "responseFormat": "file"
            }
          }
        }
      },
      "typeVersion": 4.2,
      "id": "HTTP-Request-18"
    }
  ],
  "pinData": {},
  "connections": {
    "Si-15": {
      "main": [
        [
          {
            "node": "Templated-16",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Buscador-del-mejor-art-culo-8",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Lectura-RSS-5": {
      "main": [
        [
          {
            "node": "Agregar-6",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Agregar-6": {
      "main": [
        [
          {
            "node": "Agrupar-las-noticias-en-1-elemento-7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Templated-16": {
      "main": [
        [
          {
            "node": "HTTP-Request-18",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP-Request-18": {
      "main": [
        [
          {
            "node": "Crear-una-publicaci-n-17",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Optimizador-de-publicaciones-12": {
      "main": [
        [
          {
            "node": "Si-15",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Creador-de-contenido-11": {
      "main": [
        [
          {
            "node": "Optimizador-de-publicaciones-12",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Activador-programado-4": {
      "main": [
        [
          {
            "node": "Lectura-RSS-5",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Buscador-del-mejor-art-culo-8": {
      "main": [
        [
          {
            "node": "Creador-de-contenido-11",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google-Gemini-Chat-Model-9": {
      "ai_languageModel": [
        [
          {
            "node": "Buscador-del-mejor-art-culo-8",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Analizador-de-salida-estructurada-14": {
      "ai_outputParser": [
        [
          {
            "node": "Optimizador-de-publicaciones-12",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Google-Gemini-Chat-Model1-10": {
      "ai_languageModel": [
        [
          {
            "node": "Creador-de-contenido-11",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Google-Gemini-Chat-Model2-13": {
      "ai_languageModel": [
        [
          {
            "node": "Optimizador-de-publicaciones-12",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Agrupar-las-noticias-en-1-elemento-7": {
      "main": [
        [
          {
            "node": "Buscador-del-mejor-art-culo-8",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Preguntas frecuentes

¿Cómo usar este flujo de trabajo?

Copie el código de configuración JSON de arriba, cree un nuevo flujo de trabajo en su instancia de n8n y seleccione "Importar desde JSON", pegue la configuración y luego modifique la configuración de credenciales según sea necesario.

¿En qué escenarios es adecuado este flujo de trabajo?

Avanzado - Redes sociales, IA Multimodal

¿Es de pago?

Este flujo de trabajo es completamente gratuito, puede importarlo y usarlo directamente. Sin embargo, tenga en cuenta que los servicios de terceros utilizados en el flujo de trabajo (como la API de OpenAI) pueden requerir un pago por su cuenta.

Información del flujo de trabajo
Nivel de dificultad
Avanzado
Número de nodos19
Categoría2
Tipos de nodos12
Descripción de la dificultad

Adecuado para usuarios avanzados, flujos de trabajo complejos con 16+ nodos

Enlaces externos
Ver en n8n.io

Compartir este flujo de trabajo

Categorías

Categorías: 34