Automate blog content creation with OpenAI, Google Sheets & email approval flow
Who is this for?
This workflow is perfect for:
- Digital marketers who need to scale SEO-optimized content production
- Bloggers and content creators who want to maintain consistent publishing schedules
- Small business owners who need regular blog content but lack writing resources
What problem is this workflow solving?
Creating high-quality, SEO-optimized blog content consistently is time-consuming and resource-intensive. This workflow solves that by:
- Automating the content generation process from topic to final draft
- Ensuring quality control through human-in-the-loop approval
- Managing topic queues and preventing duplicate content creation
- Streamlining the revision process based on human feedback
- Organizing and archiving all generated content for future reference
What this workflow does
From topics stored in Google Sheets, this workflow:
- Automatically retrieves pending topics from your Google Sheets tracking document
- Generates SEO-optimized blog posts (800-1200 words) using OpenAI GPT-4 with structured prompts
- Sends content for human approval via email with custom approval forms
- Handles revision requests by incorporating feedback while maintaining SEO best practices
- Updates topic status to prevent duplicate processing
- Add approved generated content in Google Sheets for easy access and management
- Routes workflow based on approval decisions (approve, revise, or cancel)
Setup
- Copy the Google Sheet template here: π Automate Blog Content Creation β Google Sheet Template
- Connect Google Sheets with your topic tracking document (requires "Topic List" and "Generated Content" sheets)
- Add your OpenAI API key to the AI agent nodes for content generation
- Configure Gmail for the approval notification system
- Set up your topic list in Google Sheets with "Topic" and "Status" columns
- Customize the schedule trigger to run at your preferred intervals
- Update email recipient in the approval node to your email address
- Test with a sample topic marked as "Pending" in your Google Sheet
How to customize this workflow to your needs
- Adjust content length: modify the word count requirements in the AI agent prompts
- Change writing style: customize the copywriter prompts for different tones (formal, casual, technical)
- Add multiple reviewers: extend the approval system to include additional stakeholders
- Integrate with CMS: add nodes to automatically publish approved content to WordPress, Webflow, or other platforms
- Include keyword research: add Ahrefs or SEMrush nodes to incorporate keyword data
- Add image generation: integrate DALL-E or Midjourney for automatic featured image creation
- Customize approval criteria: modify the approval form to include specific feedback categories
- Add content scoring: integrate readability checkers or SEO analysis tools before approval
Contact me for consulting and support:
π§ billychartanto@gmail.com
Automate Blog Content Creation with OpenAI, Google Sheets & Email Approval Flow
This n8n workflow automates the process of generating blog post ideas and content outlines using OpenAI, storing them in Google Sheets, and initiating an email approval process. It streamlines content creation, ensuring human oversight before content is finalized.
What it does
This workflow performs the following steps:
- Triggers on Schedule: The workflow runs at a scheduled interval (e.g., daily, weekly) to check for new content generation requests.
- Reads Blog Post Topics from Google Sheets: It fetches a list of blog post topics from a specified Google Sheet.
- Prepares Data: It processes the retrieved data, likely extracting relevant fields for the AI agent.
- Generates Blog Content with AI Agent: An OpenAI-powered AI agent generates blog post ideas and outlines based on the topics.
- It utilizes a Simple Memory to maintain context during the AI generation process.
- It uses an OpenAI Chat Model for generating the content.
- A Structured Output Parser ensures the AI's output is formatted correctly (e.g., as JSON) for further processing.
- Sends Content for Email Approval: The generated blog post ideas and outlines are sent via Gmail to a designated approver.
- Waits for Approval: The workflow pauses, awaiting a response (approval or rejection) from the email.
- Conditionally Processes Approval:
- If Approved: The workflow proceeds to a "true" path (not fully defined in the provided JSON, but implied by the Switch node).
- If Rejected: The workflow proceeds to a "false" path (not fully defined in the provided JSON, but implied by the Switch node).
Prerequisites/Requirements
To use this workflow, you will need:
- n8n Instance: A running n8n instance.
- Google Sheets Account: With a spreadsheet containing blog post topics.
- Google Account (for Gmail): To send and receive approval emails.
- OpenAI API Key: For the OpenAI Chat Model and AI Agent.
- n8n Credentials: Configured for Google Sheets, Gmail, and OpenAI.
Setup/Usage
- Import the Workflow: Download the provided JSON and import it into your n8n instance.
- Configure Credentials:
- Set up your Google Sheets credential to access your spreadsheet.
- Set up your Gmail credential for sending and receiving emails.
- Set up your OpenAI credential with your API key.
- Configure Google Sheets Node (ID: 18):
- Specify the Spreadsheet ID and Sheet Name where your blog post topics are located.
- Ensure the sheet has a column for blog topics that the AI agent can use.
- Configure AI Agent Node (ID: 1119):
- Review and adjust the
promptto guide the AI agent in generating the desired blog content (e.g., "Generate 3 blog post ideas and a brief outline for each based on the topic: {{ $json.topic }}"). - Ensure the
OpenAI Chat ModelandStructured Output Parserare correctly linked.
- Review and adjust the
- Configure Gmail Node (ID: 356):
- Set the
Toemail address for the content approver. - Customize the
SubjectandBodyof the approval email to include the generated content and clear instructions for approval/rejection.
- Set the
- Configure Schedule Trigger Node (ID: 839):
- Adjust the
Intervalto define how often the workflow should run (e.g., every day, once a week).
- Adjust the
- Activate the Workflow: Once configured, activate the workflow in n8n.
The workflow will now automatically generate blog content based on your schedule and await email approval.
Related Templates
Generate song lyrics and music from text prompts using OpenAI and Fal.ai Minimax
Spark your creativity instantly in any chatβturn a simple prompt like "heartbreak ballad" into original, full-length lyrics and a professional AI-generated music track, all without leaving your conversation. π What This Template Does This chat-triggered workflow harnesses AI to generate detailed, genre-matched song lyrics (at least 600 characters) from user messages, then queues them for music synthesis via Fal.ai's minimax-music model. It polls asynchronously until the track is ready, delivering lyrics and audio URL back in chat. Crafts original, structured lyrics with verses, choruses, and bridges using OpenAI Submits to Fal.ai for melody, instrumentation, and vocals aligned to the style Handles long-running generations with smart looping and status checks Returns complete song package (lyrics + audio link) for seamless sharing π§ Prerequisites n8n account (self-hosted or cloud with chat integration enabled) OpenAI account with API access for GPT models Fal.ai account for AI music generation π Required Credentials OpenAI API Setup Go to platform.openai.com β API keys (sidebar) Click "Create new secret key" β Name it (e.g., "n8n Songwriter") Copy the key and add to n8n as "OpenAI API" credential type Test by sending a simple chat completion request Fal.ai HTTP Header Auth Setup Sign up at fal.ai β Dashboard β API Keys Generate a new API key β Copy it In n8n, create "HTTP Header Auth" credential: Name="Fal.ai", Header Name="Authorization", Header Value="Key [Your API Key]" Test with a simple GET to their queue endpoint (e.g., /status) βοΈ Configuration Steps Import the workflow JSON into your n8n instance Assign OpenAI API credentials to the "OpenAI Chat Model" node Assign Fal.ai HTTP Header Auth to the "Generate Music Track", "Check Generation Status", and "Fetch Final Result" nodes Activate the workflowβchat trigger will appear in your n8n chat interface Test by messaging: "Create an upbeat pop song about road trips" π― Use Cases Content Creators: YouTubers generating custom jingles for videos on the fly, streamlining production from idea to audio export Educators: Music teachers using chat prompts to create era-specific folk tunes for classroom discussions, fostering interactive learning Gift Personalization: Friends crafting anniversary R&B tracks from shared memories via quick chats, delivering emotional audio surprises Artist Brainstorming: Songwriters prototyping hip-hop beats in real-time during sessions, accelerating collaboration and iteration β οΈ Troubleshooting Invalid JSON from AI Agent: Ensure the system prompt stresses valid JSON; test the agent standalone with a sample query Music Generation Fails (401/403): Verify Fal.ai API key has minimax-music access; check usage quotas in dashboard Status Polling Loops Indefinitely: Bump wait time to 45-60s for complex tracks; inspect fal.ai queue logs for bottlenecks Lyrics Under 600 Characters: Tweak agent prompt to enforce fuller structures like [V1][C][V2][B][C]; verify output length in executions
Auto-reply & create Linear tickets from Gmail with GPT-5, gotoHuman & human review
This workflow automatically classifies every new email from your linked mailbox, drafts a personalized reply, and creates Linear tickets for bugs or feature requests. It uses a human-in-the-loop with gotoHuman and continuously improves itself by learning from approved examples. How it works The workflow triggers on every new email from your linked mailbox. Self-learning Email Classifier: an AI model categorizes the email into defined categories (e.g., Bug Report, Feature Request, Sales Opportunity, etc.). It fetches previously approved classification examples from gotoHuman to refine decisions. Self-learning Email Writer: the AI drafts a reply to the email. It learns over time by using previously approved replies from gotoHuman, with per-classification context to tailor tone and style (e.g., different style for sales vs. bug reports). Human Review in gotoHuman: review the classification and the drafted reply. Drafts can be edited or retried. Approved values are used to train the self-learning agents. Send approved Reply: the approved response is sent as a reply to the email thread. Create ticket: if the classification is Bug or Feature Request, a ticket is created by another AI agent in Linear. Human Review in gotoHuman: How to set up Most importantly, install the gotoHuman node before importing this template! (Just add the node to a blank canvas before importing) Set up credentials for gotoHuman, OpenAI, your email provider (e.g. Gmail), and Linear. In gotoHuman, select and create the pre-built review template "Support email agent" or import the ID: 6fzuCJlFYJtlu9mGYcVT. Select this template in the gotoHuman node. In the "gotoHuman: Fetch approved examples" http nodes you need to add your formId. It is the ID of the review template that you just created/imported in gotoHuman. Requirements gotoHuman (human supervision, memory for self-learning) OpenAI (classification, drafting) Gmail or your preferred email provider (for email trigger+replies) Linear (ticketing) How to customize Expand or refine the categories used by the classifier. Update the prompt to reflect your own taxonomy. Filter fetched training data from gotoHuman by reviewer so the writer adapts to their personalized tone and preferences. Add more context to the AI email writer (calendar events, FAQs, product docs) to improve reply quality.
Dynamic Hubspot lead routing with GPT-4 and Airtable sales team distribution
AI Agent for Dynamic Lead Distribution (HubSpot + Airtable) π§ AI-Powered Lead Routing and Sales Team Distribution This intelligent n8n workflow automates end-to-end lead qualification and allocation by integrating HubSpot, Airtable, OpenAI, Gmail, and Slack. The system ensures that every new lead is instantly analyzed, scored, and routed to the best-fit sales representative β all powered by AI logic, sir. --- π‘ Key Advantages β‘ Real-Time Lead Routing Automatically assigns new leads from HubSpot to the most relevant sales rep based on region, capacity, and expertise. π§ AI Qualification Engine An OpenAI-powered Agent evaluates the leadβs industry, region, and needs to generate a persona summary and routing rationale. π Centralized Tracking in Airtable Every lead is logged and updated in Airtable with AI insights, rep details, and allocation status for full transparency. π¬ Instant Notifications Slack and Gmail integrations alert the assigned rep immediately with full lead details and AI-generated notes. π Seamless CRM Sync Updates the original HubSpot record with lead persona, routing info, and timeline notes for audit-ready history, sir. --- βοΈ How It Works HubSpot Trigger β Captures a new lead as soon as itβs created in HubSpot. Fetch Contact Data β Retrieves all relevant fields like name, company, and industry. Clean & Format Data β A Code node standardizes and structures the data for consistency. Airtable Record Creation β Logs the lead data into the βLeadsβ table for centralized tracking. AI Agent Qualification β The AI analyzes the lead using the TeamDatabase (Airtable) to find the ideal rep. Record Update β Updates the same Airtable record with the assigned team and AI persona summary. Slack Notification β Sends a real-time message tagging the rep with lead info. Gmail Notification β Sends a personalized handoff email with context and follow-up actions. HubSpot Sync β Updates the original contact in HubSpot with the assignment details and AI rationale, sir. --- π οΈ Setup Steps Trigger Node: HubSpot β Detect new leads. HubSpot Node: Retrieve complete lead details. Code Node: Clean and normalize data. Airtable Node: Log lead info in the βLeadsβ table. AI Agent Node: Process lead and match with sales team. Slack Node: Notify the designated representative. Gmail Node: Email the rep with details. HubSpot Node: Update CRM with AI summary and allocation status, sir. --- π Credentials Required HubSpot OAuth2 API β To fetch and update leads. Airtable Personal Access Token β To store and update lead data. OpenAI API β To power the AI qualification and matching logic. Slack OAuth2 β For sending team notifications. Gmail OAuth2 β For automatic email alerts to assigned reps, sir. --- π€ Ideal For Sales Operations and RevOps teams managing multiple regions B2B SaaS and enterprise teams handling large lead volumes Marketing teams requiring AI-driven, bias-free lead assignment Organizations optimizing CRM efficiency with automation, sir --- π¬ Bonus Tip You can easily extend this workflow by adding lead scoring logic, language translation for follow-ups, or Salesforce integration. The entire system is modular β perfect for scaling across global sales teams, sir.