AutomationFlowsWeb Scraping › V3/news

V3/news

v3/news. Uses rssFeedRead, httpRequest. Webhook trigger; 15 nodes.

Webhook trigger★★★★☆ complexity15 nodesRSS Feed ReadHTTP Request
Web Scraping Trigger: Webhook Nodes: 15 Complexity: ★★★★☆ Added:
V3/news — n8n workflow card showing RSS Feed Read, HTTP Request integration

This workflow follows the HTTP Request → RSS Feed Read recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "name": "v3/news",
  "nodes": [
    {
      "parameters": {
        "httpMethod": "POST",
        "path": "v3/news",
        "responseMode": "responseNode",
        "options": {
          "allowedOrigins": "https://hosting3m.com",
          "responseHeaders": {
            "entries": [
              {
                "name": "Access-Control-Allow-Methods",
                "value": "GET, POST, OPTIONS"
              },
              {
                "name": "Access-Control-Allow-Headers",
                "value": "Content-Type, Authorization, x-jwt-claim-role"
              },
              {
                "name": "Access-Control-Allow-Credentials",
                "value": "true"
              },
              {
                "name": "Access-Control-Allow-Origin",
                "value": "https://hosting3m.com"
              }
            ]
          }
        }
      },
      "id": "032fdbde-1652-483e-8054-b648a20b8912",
      "name": "Webhook Noticias",
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 1,
      "position": [
        5888,
        976
      ]
    },
    {
      "parameters": {
        "respondWith": "json",
        "responseBody": "={{ $json.data }}",
        "options": {
          "responseHeaders": {
            "entries": [
              {
                "name": "Access-Control-Allow-Origin",
                "value": "*"
              },
              {
                "name": "Access-Control-Allow-Methods",
                "value": "POST, OPTIONS"
              },
              {
                "name": "Access-Control-Allow-Headers",
                "value": "Content-Type"
              }
            ]
          }
        }
      },
      "type": "n8n-nodes-base.respondToWebhook",
      "typeVersion": 1.4,
      "position": [
        6784,
        880
      ],
      "id": "370054f2-bd85-4cc1-b73b-dc134edc1437",
      "name": "Respond to Webhook"
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "strict",
            "version": 3
          },
          "conditions": [
            {
              "id": "51275301-bea2-454d-b495-3f942bbdb9e6",
              "leftValue": "={{ $json.status }}",
              "rightValue": "success",
              "operator": {
                "type": "string",
                "operation": "equals"
              }
            }
          ],
          "combinator": "and"
        },
        "options": {}
      },
      "type": "n8n-nodes-base.if",
      "typeVersion": 2.3,
      "position": [
        6336,
        976
      ],
      "id": "1207a223-9c70-4cb8-812a-0eb21f4547b3",
      "name": "If"
    },
    {
      "parameters": {
        "respondWith": "json",
        "responseBody": "={\"mensaje\": \"Acceso denegado\"}",
        "options": {
          "responseCode": 401
        }
      },
      "type": "n8n-nodes-base.respondToWebhook",
      "typeVersion": 1.5,
      "position": [
        6560,
        1072
      ],
      "id": "5ef1eac6-c2d5-4144-ad58-123e0fcde58a",
      "name": "Respond Denegate"
    },
    {
      "parameters": {
        "jsCode": "const urls = [\n  // --- FUENTES ESPECIALIZADAS EN N8N (T\u00e9cnicas) ---\n  \"https://n8n.io/blog/rss/\",               // Blog oficial (Indispensable)\n  \"https://medium.com/feed/tag/n8n\",        // Tutoriales de la comunidad en Medium\n  \"https://dev.to/feed/tag/n8n\",            // Art\u00edculos t\u00e9cnicos de desarrolladores\n  \n  // --- FUENTES DE AGENTES IA & AUTOMATIZACI\u00d3N (Ingl\u00e9s - Alta Calidad) ---\n  // Estas suelen traer la info 2 d\u00edas antes que los medios en espa\u00f1ol\n  \"https://www.artificialintelligence-news.com/feed/\",\n  \"https://www.unite.ai/feed/\",\n  \"https://zapier.com/blog/feeds/latest/\",  // Aunque es competencia, hablan mucho de automatizaci\u00f3n\n  \n  // --- GOOGLE NEWS FILTRADO (Espa\u00f1ol - MX/Latam) ---\n  // Truco: Usamos operadores OR y comillas para ser precisos\n  \n  // B\u00fasqueda 1: Espec\u00edfica de n8n y Workflows\n  \"https://news.google.com/rss/search?q=n8n+workflow+OR+automatizacion+de+procesos+when:24h&hl=es-419&gl=MX&ceid=MX:es-419\",\n  \n  // B\u00fasqueda 2: Espec\u00edfica de Agentes Aut\u00f3nomos (No IA generica)\n  \"https://news.google.com/rss/search?q=agentes+ia+autonomos+OR+ai+agents+OR+crewai+OR+autogen+when:24h&hl=es-419&gl=MX&ceid=MX:es-419\"\n];\n\nreturn urls.map(url => ({ json: { url } }));"
      },
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        6784,
        656
      ],
      "id": "d44075a8-d8ad-4db1-9540-2cafa1dd5698",
      "name": "Url Generated"
    },
    {
      "parameters": {
        "url": "={{$json[\"url\"]}}",
        "options": {}
      },
      "id": "d1388852-5ff7-4bb9-91f8-6e0b7a8f21f3",
      "name": "RSS Read",
      "type": "n8n-nodes-base.rssFeedRead",
      "typeVersion": 1,
      "position": [
        7008,
        656
      ]
    },
    {
      "parameters": {
        "jsCode": "// 1. Limpieza inicial\nconst validItems = items.filter(item => item.json && item.json.title);\nconst MIN_DESEADO = 5;\n\n// === TUS TEMAS ===\nconst topics = [\n  // IA General\n  \"inteligencia artificial\", \"ia \", \"ai \", \"llm\", \"gpt-4\", \"gpt-5\", \"claude\", \"gemini\", \"llama\",\n  // Automatizaci\u00f3n\n  \"n8n\", \"automatizaci\u00f3n\", \"workflow\", \"webhook\", \"api integration\", \"low-code\", \"nocode\",\n  // Agentes (Tendencia 2026)\n  \"agente\", \"agentic\", \"aut\u00f3nomo\", \"autonomous\", \"crewai\", \"langchain\", \"autogen\", \"openai operator\"\n];\n\nfunction matchTopic(item) {\n  const title = (item.json.title || \"\").toLowerCase();\n  const desc = (item.json.contentSnippet || item.json.description || \"\").toLowerCase();\n  return topics.some(keyword => (title + \" \" + desc).includes(keyword.toLowerCase()));\n}\n\n// 2. Filtrar por tema (PRIMERO FILTRAMOS, LUEGO PROCESAMOS IMAGENES)\nlet candidates = validItems.filter(matchTopic);\n\n// 3. Ordenar por fecha DESCENDENTE\ncandidates.sort((a, b) => {\n  const dateA = new Date(a.json.pubDate || 0);\n  const dateB = new Date(b.json.pubDate || 0);\n  return dateB - dateA;\n});\n\n// 4. Quitar duplicados por t\u00edtulo\nconst uniqueTitles = new Set();\nconst finalNews = candidates.filter(item => {\n  const isDuplicate = uniqueTitles.has(item.json.title);\n  uniqueTitles.add(item.json.title);\n  return !isDuplicate;\n});\n\n// 5. Devolver m\u00e1ximo 10 noticias (para no saturar el HTML)\nreturn finalNews.slice(0, 10);"
      },
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        7232,
        656
      ],
      "id": "40c62147-125b-4bc5-8b57-456e18c0b001",
      "name": "Filter News"
    },
    {
      "parameters": {
        "jsCode": "const seed = Math.floor(Math.random() * 5000);\nconst prompt = encodeURIComponent(\"Futuristic tech concept art, AI and Automation with n8n, isometric 8k, unreal engine 5, neon blue lighting\");\nconst imageUrl = `https://image.pollinations.ai/prompt/${prompt}?width=800&height=450&model=flux&seed=${seed}&nologo=true`;\n\nreturn { json: { global_image: imageUrl } };"
      },
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        6560,
        656
      ],
      "id": "c8b4e011-8ddb-4a5c-add1-c5583713f1fe",
      "name": "Image Generated"
    },
    {
      "parameters": {
        "jsCode": "const globalImage = $(\"Image Generated\").first().json.global_image;\n\nreturn items.map(item => {\n  return {\n    json: {\n      url: item.json.link,\n      title: item.json.title,\n      source: item.json.source || 'RSS Feed',\n      image: globalImage,\n      published_at: new Date(item.json.pubDate || Date.now()).toISOString()\n    }\n  };\n});"
      },
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        7456,
        656
      ],
      "id": "74394c5b-9e7b-40b8-99f6-a2d5838ca366",
      "name": "Config Data"
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://n8n.hosting3m.com/webhook/46c903ec-0397-43ea-b99e-2606f8e4f0de/crud/v3/news_articles",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Content-Type",
              "value": "application/json"
            },
            {
              "name": "Authorization",
              "value": "={{ $('Genera Token').first().json.token }}"
            },
            {
              "name": "x-jwt-claim-role",
              "value": "={{ $('Genera Token').item.json.token }}"
            }
          ]
        },
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={\n  \"operation\": \"insert\",\n  \"fields\": {\n    \"url\": \"{{ $input.item.json.url }}\",\n    \"title\": \"{{ $input.item.json.title }}\",\n    \"source\": \"{{ $input.item.json.source }}\",\n    \"image\": \"{{ $input.item.json.image }}\"\n  }\n}",
        "options": {
          "batching": {
            "batch": {
              "batchSize": 1
            }
          }
        }
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.3,
      "position": [
        7680,
        656
      ],
      "id": "e12d011f-d1c4-4aa2-965b-ec21f28f9965",
      "name": "Insert",
      "retryOnFail": true,
      "waitBetweenTries": 1000,
      "onError": "continueErrorOutput"
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://n8n.hosting3m.com/webhook/46c903ec-0397-43ea-b99e-2606f8e4f0de/crud/v3/news_articles",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Content-Type",
              "value": "application/json"
            },
            {
              "name": "Authorization",
              "value": "={{ $node[\"Webhook Noticias\"].json.headers.authorization }}"
            },
            {
              "name": "x-jwt-claim-role",
              "value": "={{ $('Verify Token').item.json.data.user.role }}"
            }
          ]
        },
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={\n  \"operation\": \"getall\",\n  \"fields\": {\n    \"published_at\": { \"_gt\": \"2000-01-01\" }\n  },\n  \"sort_by\": \"published_at\",\n  \"limit\": 6\n}",
        "options": {
          "response": {
            "response": {
              "neverError": true
            }
          }
        }
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.3,
      "position": [
        6560,
        880
      ],
      "id": "c62f2556-ed48-427d-ba6f-02e6ebedd12c",
      "name": "Check Article Exists",
      "alwaysOutputData": true
    },
    {
      "parameters": {
        "rule": {
          "interval": [
            {
              "triggerAtHour": 6
            },
            {
              "triggerAtHour": 14
            }
          ]
        }
      },
      "type": "n8n-nodes-base.scheduleTrigger",
      "typeVersion": 1.3,
      "position": [
        5888,
        656
      ],
      "id": "56a5b2a9-6849-44d8-9aee-21f8298826b7",
      "name": "News 6AM & 2PM"
    },
    {
      "parameters": {
        "workflowId": {
          "__rl": true,
          "value": "fnzdIRyMWYUHggME",
          "mode": "list",
          "cachedResultUrl": "/workflow/fnzdIRyMWYUHggME",
          "cachedResultName": "v3/SW Genera Token"
        },
        "workflowInputs": {
          "mappingMode": "defineBelow",
          "value": {},
          "matchingColumns": [],
          "schema": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": true
        },
        "options": {
          "waitForSubWorkflow": true
        }
      },
      "type": "n8n-nodes-base.executeWorkflow",
      "typeVersion": 1.3,
      "position": [
        6336,
        656
      ],
      "id": "2ed8f2f5-fff7-4261-9f95-07d0e81b9606",
      "name": "Genera Token"
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "5c668bbf-492c-4b67-af77-fce4d8c9b7bc",
              "name": "user",
              "value": "n8n@hosting3m.com",
              "type": "string"
            },
            {
              "id": "dd4c5764-354c-4088-9bc4-4fb19cba4d8b",
              "name": "pass",
              "value": "={{$env[\"N8N_PASS\"]}}",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        6112,
        656
      ],
      "id": "ae403ea8-898f-4866-b33c-925968d5830b",
      "name": "Set User"
    },
    {
      "parameters": {
        "workflowId": {
          "__rl": true,
          "value": "RSz6L3aXj3NfumwG",
          "mode": "list",
          "cachedResultUrl": "/workflow/RSz6L3aXj3NfumwG",
          "cachedResultName": "v3/SW ValidaToken"
        },
        "workflowInputs": {
          "mappingMode": "defineBelow",
          "value": {},
          "matchingColumns": [],
          "schema": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": true
        },
        "options": {}
      },
      "type": "n8n-nodes-base.executeWorkflow",
      "typeVersion": 1.3,
      "position": [
        6112,
        976
      ],
      "id": "c00c506f-542f-49e3-91fc-43fb957965f0",
      "name": "Verify Token"
    }
  ],
  "connections": {
    "Webhook Noticias": {
      "main": [
        [
          {
            "node": "Verify Token",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If": {
      "main": [
        [
          {
            "node": "Check Article Exists",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Respond Denegate",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Url Generated": {
      "main": [
        [
          {
            "node": "RSS Read",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "RSS Read": {
      "main": [
        [
          {
            "node": "Filter News",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter News": {
      "main": [
        [
          {
            "node": "Config Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Image Generated": {
      "main": [
        [
          {
            "node": "Url Generated",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Config Data": {
      "main": [
        [
          {
            "node": "Insert",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Insert": {
      "main": [
        [],
        []
      ]
    },
    "Check Article Exists": {
      "main": [
        [
          {
            "node": "Respond to Webhook",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "News 6AM & 2PM": {
      "main": [
        [
          {
            "node": "Set User",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Genera Token": {
      "main": [
        [
          {
            "node": "Image Generated",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set User": {
      "main": [
        [
          {
            "node": "Genera Token",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Verify Token": {
      "main": [
        [
          {
            "node": "If",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": true,
  "settings": {
    "executionOrder": "v1",
    "availableInMCP": true,
    "timeSavedMode": "fixed",
    "callerPolicy": "workflowsFromSameOwner",
    "errorWorkflow": "9SrVXdATmlrZemJT",
    "timeSavedPerExecution": 1
  },
  "versionId": "349d822d-afc5-437f-b207-c1063018cf9e",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "id": "pIE3Hw8P2YafX7GH",
  "tags": []
}
Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

v3/news. Uses rssFeedRead, httpRequest. Webhook trigger; 15 nodes.

Source: https://github.com/fjpimienta/n8n-enterprise-automation-suite/blob/69345addcba6b35588a0915005ff9fd4903fdc49/workflows/03-rag-news-intelligence/v3/v3_news.json — original creator credit. Request a take-down →

More Web Scraping workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Web Scraping

v4/news. Uses rssFeedRead, httpRequest. Webhook trigger; 18 nodes.

RSS Feed Read, HTTP Request
Web Scraping

This n8n template provides enterprise-level version control for your workflows using GitHub integration. Stop losing hours to broken workflows and manual exports – get proper commit history, visual di

n8n, Execute Workflow Trigger, HTTP Request +1
Web Scraping

This flow creates dummy files for every item added in your *Arrs (Radarr/Sonarr) with the tag .

HTTP Request, Ssh
Web Scraping

eek-Go v2 (Batch-Then-Review). Uses httpRequest. Webhook trigger; 75 nodes.

HTTP Request
Web Scraping

This workflow receives webhook requests from a content calendar and uses the X API v2 to publish text posts, threads, image/video posts, and polls, as well as delete existing posts and run a credentia

HTTP Request