Blog writer & editor with Google Sheets memory (GPT-4)
Ready for 3.0Ready for 3.0. This template uses no nodes that n8n 3.0 removes. No removed nodes, versions or helpers found. Static check, last run 2026-10-19.
Nodes used (12)
- Structured Output Parser
@n8n/n8n-nodes-langchain.outputParserStructured - OpenAI Chat Model
@n8n/n8n-nodes-langchain.lmChatOpenAi - Simple Memory
@n8n/n8n-nodes-langchain.memoryBufferWindow - Execute Workflow Trigger
n8n-nodes-base.executeWorkflowTrigger - Call n8n Workflow Tool
@n8n/n8n-nodes-langchain.toolWorkflow - Summarize
n8n-nodes-base.summarize - Filter
n8n-nodes-base.filter - AI Agent
@n8n/n8n-nodes-langchain.agent - Code
n8n-nodes-base.code - Chat Trigger
@n8n/n8n-nodes-langchain.chatTrigger - Google Sheets
n8n-nodes-base.googleSheets - If
n8n-nodes-base.if
What it does
Chat to write or reword a blog post. The workflow stores each result in Google Sheets and uses a sub-workflow “Google tool” to count rows per session (your running context). If a session exceeds a row threshold, the flow can branch (e.g., stop or notify). --- ⚙️ Setup Instructions 1️⃣ Set Up OpenAI Connection 1. Go to OpenAI Platform 2. Navigate to OpenAI Billing 3. Add funds to your billing account 4. Copy your API key into the OpenAI credentials in n8n 2️⃣ Prepare Your Google Sheet Connect your Data in Google Sheets - Use this format: Sample Sheet - Row 1 = column names (e.g., session, Rows, output) - Data in rows 2–100 (or more if you prefer) - In n8n, use Google Sheets OAuth2 → pick your Spreadsheet and Worksheet - (Optional) You can adapt this to Airtable, Notion, or a Database --- 🧠 How It Works - Chat Trigger: Provide a topic (write) or paste existing text (reword). - Code Node (“Choose to Write or Edit Blog”): - Builds a systemprompt + userprompt - Instructs the agent to call the Google tool (sub-workflow) with only the sessionid to count existing rows. - Tool Workflow (“google”): - Fetches rows from the sheet → filters by session → summarizes row count. - Agent (“Blog Writer & Editor”): - Returns structured JSON (items/rows, session, blog body). - Store (Google Sheets): - Appends { session, Rows, output } to the sheet. - If Node: - Example rule: Rows > 3 → branch/limit/notify as needed. --- 💬 Example Prompts - “Write a 600-word blog about n8n agents with 3 bullet takeaways. Session: abc123.” - “Reword this post into a concise LinkedIn article. Session: launchQ3:\n<your text here>” - “Draft a blog intro and 5 SEO headlines on marketing automation. Session: mkt-01.” --- 📬 Contact Need help tailoring this to Airtable/Notion/DB, or adding auto-publishing? - 📧 [email protected] - 🔗 Robert Breen - 🌐 ynteractive.com