Generar automáticamente artículos de blog de noticias tecnológicas con NewsAPI y Google Gemini, y publicarlos en WordPress

Intermedio

Este es unContent Creation, Multimodal AIflujo de automatización del dominio deautomatización que contiene 9 nodos.Utiliza principalmente nodos como Code, Wordpress, HttpRequest, SplitInBatches, Agent. Usar NewsAPI y Google Gemini para generar automáticamente artículos de blog de noticias tecnológicas y publicarlos en WordPress

Requisitos previos
  • 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": {
    "instanceId": "2000c64071c20843606b95c63795bb0797c41036047055a6586498e855b96efc",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "ba65f2c4-f38e-407c-87d8-5540a98ce6e3",
      "name": "Nota adhesiva",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -336,
        -176
      ],
      "parameters": {
        "width": 2092,
        "height": 588,
        "content": "## Daily News Digest Automation\n\n**What it does:**\n- Fetches top tech news every day at 8 AM\n- AI summarizes and creates engaging blog post\n- Auto-publishes to WordPress\n\n**Setup Required:**\n1. Get free NewsAPI key from newsapi.org\n2. Replace YOUR_API_KEY in the HTTP Request URL with your actual key\n3. Configure WordPress credentials in the WordPress node\n4. Set up Google Gemini API credentials for AI agent\n\n**Customization:**\n- Change schedule time in trigger (currently 8 AM daily)\n- Modify news sources/categories in URL parameters\n- Adjust AI prompt for different writing styles\n- Change post status from \"publish\" to \"draft\" for review\n\n**Need Help?**\nFor [n8n coaching or one-on-one consultation:](mailto:david@daexai.com)"
      },
      "typeVersion": 1,
      "Google Gemini Chat Model": {
        "ai_languageModel": [
          [
            {
              "node": "AI News Summarizer",
              "type": "ai_languageModel",
              "index": 0
            }
          ]
        ]
      }
    },
    {
      "id": "8f0b8ffe-e898-4d43-8b67-1ebe60c2e3a6",
      "name": "Activador diario 8AM",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        128,
        48
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "cronExpression",
              "expression": "0 8 * * *"
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "f002cec0-eee4-457e-9b81-81b1bc4cf8aa",
      "name": "Obtener noticias tecnológicas",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        320,
        48
      ],
      "parameters": {
        "url": "https://newsapi.org/v2/top-headlines?apiKey=yourkey&country=us&category=technology&pageSize=10",
        "options": {},
        "sendBody": true,
        "authentication": "genericCredentialType",
        "bodyParameters": {
          "parameters": [
            {
              "name": "country",
              "value": "us"
            },
            {
              "name": "pageSize",
              "value": "10"
            },
            {
              "name": "category",
              "value": "technology"
            }
          ]
        },
        "genericAuthType": "httpQueryAuth"
      },
      "credentials": {
        "httpQueryAuth": {
          "id": "VHh5tyahYp2OlfDs",
          "name": "Query Auth account"
        }
      },
      "typeVersion": 4.1
    },
    {
      "id": "8a7b5502-fa7f-4a19-ba44-f0da9fb71f10",
      "name": "Resumidor de noticias con IA",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        992,
        48
      ],
      "parameters": {
        "text": "=You are a tech news writer. Based on the article provided, write an engaging blog post.\n\nReturn ONLY valid JSON in this exact format:\n{\n  \"title\": \"Your catchy headline here\",\n  \"content\": \"Full blog post content with proper formatting\"\n}\n\nArticle details:\n- Title: {{ $json.title }}\n- Description: {{ $json.description }}\n- Content: {{ $json.content }}\n- Source: {{ $json.source }}\n\nWrite a 600-800 word blog post expanding on this article.",
        "options": {
          "systemMessage": "You are a tech news curator. Create a compelling blog post that summarizes the top tech news stories. Format it with proper headings, bullet points, and include brief commentary on each story's significance. Make it engaging and informative for a general tech audience."
        },
        "promptType": "define"
      },
      "typeVersion": 2.2
    },
    {
      "id": "4006ddaa-e0ae-4b88-9ed8-bf83a7c6dce3",
      "name": "Google Gemini Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        1072,
        272
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "googlePalmApi": {
          "id": "wNw45YZvXXpeocJ2",
          "name": "TST API"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "446986b0-41ee-43c0-bec0-58db6c6530c0",
      "name": "Publicar en WordPress",
      "type": "n8n-nodes-base.wordpress",
      "position": [
        1488,
        48
      ],
      "parameters": {
        "title": "={{ $json.title }}",
        "additionalFields": {
          "tags": [
            "technology",
            "news",
            "daily",
            "automation"
          ],
          "status": "publish",
          "content": "={{ $json.content }}"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "bc06c085-5fa9-495c-ad5c-0cfe0c0cd500",
      "name": "Iterar sobre elementos",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        768,
        48
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "97aa2d40-ad65-4570-bcda-45d13c67c07f",
      "name": "Título y contenido",
      "type": "n8n-nodes-base.code",
      "position": [
        1264,
        48
      ],
      "parameters": {
        "jsCode": "const items = $input.all();\n\nreturn items.map(item => {\n  // Remove markdown code blocks and parse JSON\n  let aiOutput = item.json.output;\n  \n  // Remove ```json and ``` markers\n  aiOutput = aiOutput.replace(/```json\\s*/, '').replace(/```\\s*$/, '');\n  \n  // Parse the cleaned JSON\n  const parsedOutput = JSON.parse(aiOutput.trim());\n  \n  return {\n    json: {\n      title: parsedOutput.title,\n      content: parsedOutput.content,\n      originalTitle: item.json.title,\n      source: item.json.source,\n      url: item.json.url\n    }\n  };\n});"
      },
      "typeVersion": 2
    },
    {
      "id": "ac0c85f6-d554-40c0-8cd2-a5869367cb5a",
      "name": "Dividir artículos",
      "type": "n8n-nodes-base.code",
      "position": [
        544,
        48
      ],
      "parameters": {
        "jsCode": "// Split the articles array and clean up the data\nconst articles = $input.first().json.articles;\n\n// Filter out articles with null/missing content and limit to top 5\nconst validArticles = articles\n  .filter(article => \n    article.title && \n    article.description && \n    article.content && \n    article.content !== \"[Removed]\"\n  )\n  .slice(0, 5); // Limit to 5 articles to avoid rate limits\n\n// Return each article as a separate item\nreturn validArticles.map(article => ({\n  json: {\n    title: article.title,\n    description: article.description,\n    content: article.content,\n    url: article.url,\n    urlToImage: article.urlToImage,\n    publishedAt: article.publishedAt,\n    source: article.source.name\n  }\n}));"
      },
      "typeVersion": 2
    }
  ],
  "pinData": {},
  "connections": {
    "ac0c85f6-d554-40c0-8cd2-a5869367cb5a": {
      "main": [
        [
          {
            "node": "bc06c085-5fa9-495c-ad5c-0cfe0c0cd500",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "f002cec0-eee4-457e-9b81-81b1bc4cf8aa": {
      "main": [
        [
          {
            "node": "ac0c85f6-d554-40c0-8cd2-a5869367cb5a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "bc06c085-5fa9-495c-ad5c-0cfe0c0cd500": {
      "main": [
        [],
        [
          {
            "node": "8a7b5502-fa7f-4a19-ba44-f0da9fb71f10",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8f0b8ffe-e898-4d43-8b67-1ebe60c2e3a6": {
      "main": [
        [
          {
            "node": "f002cec0-eee4-457e-9b81-81b1bc4cf8aa",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "97aa2d40-ad65-4570-bcda-45d13c67c07f": {
      "main": [
        [
          {
            "node": "446986b0-41ee-43c0-bec0-58db6c6530c0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8a7b5502-fa7f-4a19-ba44-f0da9fb71f10": {
      "main": [
        [
          {
            "node": "97aa2d40-ad65-4570-bcda-45d13c67c07f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "446986b0-41ee-43c0-bec0-58db6c6530c0": {
      "main": [
        [
          {
            "node": "bc06c085-5fa9-495c-ad5c-0cfe0c0cd500",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "4006ddaa-e0ae-4b88-9ed8-bf83a7c6dce3": {
      "ai_languageModel": [
        [
          {
            "node": "8a7b5502-fa7f-4a19-ba44-f0da9fb71f10",
            "type": "ai_languageModel",
            "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?

Intermedio - Creación de contenido, 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.

Flujos de trabajo relacionados recomendados

Automatización de tutoriales semanales de repositorios populares de GitHub con Gemini AI y publicación en WordPress
Generación automática semanal de tutoriales de repositorios populares de GitHub con Gemini AI y publicación en WordPress
Code
Split Out
Email Send
+
Code
Split Out
Email Send
9 NodosDavid Olusola
Creación de contenido
contenidogenerador v3
AI驱动blogautomatización:usoGPT-4generación并publicaciónSEOartículo至WordPressyTwitter
If
Set
Code
+
If
Set
Code
144 NodosJay Emp0
Creación de contenido
Publicación automática de artículos de WordPress en redes sociales con Gemini AI y Blotato
Usar Gemini AI y Blotato para publicar automáticamente artículos de WordPress en redes sociales
If
Code
Split Out
+
If
Code
Split Out
11 NodosDavid Olusola
Redes sociales
Publicador de blogs - Automatización impulsada por IA de la investigación, creación, optimación y publicación de contenido completa
Usar Gemini, Ideogram AI y WordPress para automatizar la creación y publicación de contenido para blog
If
Set
Code
+
If
Set
Code
35 NodosIncrementors
Creación de contenido
Creación automática de contenido de LinkedIn usando Gemini AI, generador de imágenes Flux y análisis de publicaciones populares
Creación automática de contenido de LinkedIn mediante análisis de publicaciones populares con Gemini AI y generación de imágenes Flux
Code
Wait
Filter
+
Code
Wait
Filter
20 NodosRoshan Ramani
Creación de contenido
Flujo automatizado de blog SEO de palabras clave a WordPress con GPT-5 e imágenes de fal.ai
Usar GPT-5 y fal.ai imágenes para automatizar el flujo de blog SEO de palabras clave a WordPress
Set
Code
Wait
+
Set
Code
Wait
96 NodosPaul
Creación de contenido
Información del flujo de trabajo
Nivel de dificultad
Intermedio
Número de nodos9
Categoría2
Tipos de nodos8
Descripción de la dificultad

Adecuado para usuarios con experiencia intermedia, flujos de trabajo de complejidad media con 6-15 nodos

Autor
David Olusola

David Olusola

@dae221

I help ambitious businesses eliminate operational bottlenecks and scale faster with AI automation. My clients typically see 40-60% efficiency gains within 90 days. Currently accepting 3 new projects this quarter - david@daexai.com

Enlaces externos
Ver en n8n.io

Compartir este flujo de trabajo

Categorías

Categorías: 34