Automated Blog Generation with Gemini AI, GitHub & Jekyll Publishing
Last edited 58 days ago
📝 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 APIGoogle Sheets OAuth2Google Palm/Gemini AIGitHub OAuth2
- Prepare your Google Sheet:
- Columns:
Title,status,row_number - Set
statusto blank for topics to be picked up.
- Columns:
- Configure:
- GitHub repo and
_posts/path - Jekyll setup (front matter,
_config.yml, GitHub Pages)
- GitHub repo and
- 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 Triggerto 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)
...
You may also like
New to n8n?
Need help building new n8n workflows? Process automation for you or your company will save you time and money, and it's completely free!





