Automatische Erzeugung von Technologie-News-Blogartikeln mit NewsAPI und Google Gemini und Veröffentlichung auf WordPress

Fortgeschritten

Dies ist ein Content Creation, Multimodal AI-Bereich Automatisierungsworkflow mit 9 Nodes. Hauptsächlich werden Code, Wordpress, HttpRequest, SplitInBatches, Agent und andere Nodes verwendet. Automatisierte Erstellung von Tech-News-Blog-Artikeln mit NewsAPI und Google Gemini und Veröffentlichung auf WordPress

Voraussetzungen
  • Möglicherweise sind Ziel-API-Anmeldedaten erforderlich
  • Google Gemini API Key
Workflow-Vorschau
Visualisierung der Node-Verbindungen, mit Zoom und Pan
Workflow exportieren
Kopieren Sie die folgende JSON-Konfiguration und importieren Sie sie in n8n
{
  "meta": {
    "instanceId": "2000c64071c20843606b95c63795bb0797c41036047055a6586498e855b96efc",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "ba65f2c4-f38e-407c-87d8-5540a98ce6e3",
      "name": "Notizzettel",
      "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": "Täglicher Auslöser 8 Uhr",
      "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": "Tech-News abrufen",
      "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": "KI-News-Zusammenfasser",
      "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": "Auf WordPress veröffentlichen",
      "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": "Über Elemente iterieren",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        768,
        48
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "97aa2d40-ad65-4570-bcda-45d13c67c07f",
      "name": "Titel und Inhalt",
      "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": "Artikel aufteilen",
      "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
          }
        ]
      ]
    }
  }
}
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?

Fortgeschritten - 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.

Verwandte Workflows

Workflow-Informationen
Schwierigkeitsgrad
Fortgeschritten
Anzahl der Nodes9
Kategorie2
Node-Typen8
Schwierigkeitsbeschreibung

Für erfahrene Benutzer, mittelkomplexe Workflows mit 6-15 Nodes

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

Externe Links
Auf n8n.io ansehen

Diesen Workflow teilen

Kategorien

Kategorien: 34