Automated Blog Generation with Gemini AI, GitHub & Jekyll Publishing

Go to Workflow
0 views
Built by Saswat Saubhagya Rout Saswat Saubhagya Rout
Created on June 08, 2026

Description


📝 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

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

🔄 Workflow Details

| Node | Function |
|------|----------|
| Schedule Trigger | Triggers the flow at a set interval |
| Google Sheets (Get Topic) | Fetches the next incomplete blog topic |
| Extract Topic | Parses topic text from the sheet |
| Tavily Search | Gathers up-to-date content related to the topic |
| Wikipedia Tool | Optionally adds more context or images |
| Summarize Results | Formats the context for the AI |
| Gemini AI Agent (LangChain) | Generates a Markdown blog post with YAML front matter |
| Set File Parameters | Prepares the filename, content, and commit message |
| GitHub Commit | Uploads the .md file to the _posts/ directory |
| Update Google Sheet | Marks 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
Understanding LLMs
Use Cases in Web Development
Challenges
Conclusion

...

Nodes Used (6)

AI Agent
@n8n/n8n-nodes-langchain.agent
Code
n8n-nodes-base.code
GitHub
n8n-nodes-base.github
Google Gemini Chat Model
@n8n/n8n-nodes-langchain.lmChatGoogleGemini
Google Sheets
n8n-nodes-base.googleSheets
Wikipedia
@n8n/n8n-nodes-langchain.toolWikipedia