Utiliser NewsAPI et Google Gemini pour générer automatiquement des articles de blog sur l'actualité technologique et les publier sur WordPress

Intermédiaire

Ceci est unContent Creation, Multimodal AIworkflow d'automatisation du domainecontenant 9 nœuds.Utilise principalement des nœuds comme Code, Wordpress, HttpRequest, SplitInBatches, Agent. Génération automatique et publication d'articles de blog sur la technologie avec NewsAPI et Google Gemini, publication sur WordPress

Prérequis
  • Peut nécessiter les informations d'identification d'authentification de l'API cible
  • Clé API Google Gemini
Aperçu du workflow
Visualisation des connexions entre les nœuds, avec support du zoom et du déplacement
Exporter le workflow
Copiez la configuration JSON suivante dans n8n pour importer et utiliser ce workflow
{
  "meta": {
    "instanceId": "2000c64071c20843606b95c63795bb0797c41036047055a6586498e855b96efc",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "ba65f2c4-f38e-407c-87d8-5540a98ce6e3",
      "name": "Note adhésive",
      "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": "Déclencheur quotidien 8h",
      "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": "Récupérer l'actualité tech",
      "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": "Résumé d'actualité par 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": "Publier sur 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": "Boucle sur les éléments",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        768,
        48
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "97aa2d40-ad65-4570-bcda-45d13c67c07f",
      "name": "Titre et contenu",
      "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": "Diviser les articles",
      "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
          }
        ]
      ]
    }
  }
}
Foire aux questions

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é ?

Intermédiaire - 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

Génération automatique de tutoriels hebdomadaires à partir des dépôts tendance GitHub avec Gemini AI et publication sur WordPress
Génération automatisée de tutoriels hebdomadaires à partir des dépôts tendance de GitHub avec Gemini AI et publication sur WordPress
Code
Split Out
Email Send
+
Code
Split Out
Email Send
9 NœudsDavid Olusola
Création de contenu
contenugénérateur v3
AI驱动blogautomatisation:utilisationGPT-4génération并publicationSEOarticle至WordPressetTwitter
If
Set
Code
+
If
Set
Code
144 NœudsJay Emp0
Création de contenu
Publier automatiquement des articles WordPress sur les médias sociaux en utilisant Gemini AI et Blotato
Publication automatique d'articles WordPress sur les médias sociaux avec Gemini AI et Blotato
If
Code
Split Out
+
If
Code
Split Out
11 NœudsDavid Olusola
Réseaux sociaux
Blogueur – Automatisation complète de la recherche, de la création, de l'optimisation et de la publication de contenu pilotée par l'IA
Utiliser Gemini, Ideogram AI et WordPress pour automatiser la création et la publication de blog
If
Set
Code
+
If
Set
Code
35 NœudsIncrementors
Création de contenu
Création automatisée de contenu LinkedIn via l'analyse de publications populaires avec Gemini AI et Flux Image Génération
Utiliser Gemini AI et Flux Image Generation pour créer automatiquement du contenu LinkedIn via l'analyse des publications tendance
Code
Wait
Filter
+
Code
Wait
Filter
20 NœudsRoshan Ramani
Création de contenu
Flux de travail automatisé SEO pour blog de mots-clés à WordPress avec GPT-5 et images fal.ai
Automatisation du flux de blog SEO des mots-clés vers WordPress avec GPT-5 et les images fal.ai
Set
Code
Wait
+
Set
Code
Wait
96 NœudsPaul
Création de contenu
Informations sur le workflow
Niveau de difficulté
Intermédiaire
Nombre de nœuds9
Catégorie2
Types de nœuds8
Description de la difficulté

Adapté aux utilisateurs expérimentés, avec des workflows de complexité moyenne contenant 6-15 nœuds

Auteur
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

Liens externes
Voir sur n8n.io

Partager ce workflow

Catégories

Catégories: 34