n8nflow.net logo

Automated Blog Generation with Gemini AI, GitHub & Jekyll Publishing

by Saswat Saubhagya Routβ€’Updated: Last update 2 months agoβ€’Source: n8n.io
Loading workflow viewer...

Getting Started

πŸ“ Use Case

This n8n workflow automates the creation and publication of technical blog posts based on a list of topics stored in Google Sheets. It fetches context using Tavily and Wikipedia , generates Markdown-formatted content with Gemini AI , commits it to a GitHub repository , and updates a Jekyll-powered blog β€” all without manual intervention.

Ideal for developers, bloggers, or content teams who want to streamline technical content creation and publishing.


βš™οΈ Setup Instructions

πŸ”‘ Prerequisites

  • n8n (cloud or self-hosted)
  • Tavily API key
  • Google Sheets with blog topics
  • Gemini (Google Palm) API key
  • GitHub repository (Jekyll enabled)
  • GitHub OAuth2 credentials
  • Google OAuth2 credentials

🧩 Setup Steps

  1. Import the workflow JSON into your n8n instance.
  2. Set up the following credentials in n8n:
    • Tavily API
    • Google Sheets OAuth2
    • Google Palm/Gemini AI
    • GitHub OAuth2
  3. Prepare your Google Sheet :
    • Columns: Title, status, row_number
    • Set status to blank for topics to be picked up.
  4. Configure:
    • GitHub repo and _posts/ path
    • Jekyll setup (front matter, _config.yml, GitHub Pages)
  5. Adjust prompt/custom parameters if needed.
  6. Enable and deploy the workflow. Schedule it daily or trigger manually.

πŸ”„ Workflow Details

NodeFunction
Schedule TriggerTriggers the flow at a set interval
Google Sheets (Get Topic)Fetches the next incomplete blog topic
Extract TopicParses topic text from the sheet
Tavily SearchGathers up-to-date content related to the topic
Wikipedia ToolOptionally adds more context or images
Summarize ResultsFormats the context for the AI
Gemini AI Agent (LangChain)Generates a Markdown blog post with YAML front matter
Set File ParametersPrepares the filename, content, and commit message
GitHub CommitUploads the .md file to the _posts/ directory
Update Google SheetMarks topic as done after successful commit

πŸ› οΈ Customization Options

  • Change LLM prompt (e.g. tone, depth, format).
  • Use OpenAI instead of Gemini by switching nodes.
  • Modify filename pattern or GitHub repo path.
  • Add Slack/Discord notifications after publish.
  • Extend flow to upload images or embed YouTube links.

⚠️ Community Nodes Used

This workflow uses the following community nodes :

  • @tavily/n8n-nodes-tavily.tavily – for deep search

⚠️ Ensure these are installed and enabled in your n8n instance.


πŸ’‘ Pro Tips

  • Use GitHub Actions to trigger an automatic Jekyll build post-commit.
  • Structure blog posts with front matter, headings, and table of contents for SEO.
  • Set Schedule Trigger to daily at a fixed time to keep content flowing.
  • Enhance formatting in AI output using code blocks, images, and lists.

βœ… Example Output

---
title: "How LLMs Are Changing Web Development"
date: "2025-07-25"
categories: [webdev, AI]
tags: [LLM, Gemini, n8n, automation]
excerpt: "Learn how LLMs like Gemini are transforming how we generate and deploy developer content."
author: "Saswat Saubhagya"
---

## Table of Contents
- [Introduction](#introduction)
- [Understanding LLMs](#understanding-llms)
- [Use Cases in Web Development](#use-cases-in-web-development)
- [Challenges](#challenges)
- [Conclusion](#conclusion)

...