Generate SEO/AEO-optimized Shopify blog articles with GPT-4 and Google Sheets
This n8n template demonstrates how to automatically generate and publish SEO/AEO-optimized Shopify blog articles from a list of keywords using AI for content creation, image generation, and metadata optimization.
Who’s it for
Shopify marketers, content teams, and solo founders who want consistent, hands-off blog production with built-in SEO/AEO hygiene and internal linking.
What it does
The workflow picks a keyword from your Google Sheet based on priority, search volume, and difficulty. It then checks your Shopify blog for existing slugs to avoid duplicate, drafts a 900+ word article optimized for SEO/AEO, generates a hero image, creates the article in Shopify, sets SEO metafields (title/description), and logs the result to your Sheets for tracking and future internal links.
How it works
- Google Sheets → Candidate selection: Reads Keywords, Links, and Published tabs: ranks by priority → volume → difficulty. (In the workflow it is explained how to exactly set up the Google Sheets)
- De-dupe slugs: Paginates your blog via Shopify GraphQL to collect existing handles and make sure to use a different one.
- OpenAI content + image: Builds a structured prompt (SEO/AEO and internal linking), calls Chat Completions and Image Generation for a hero image.
- Shopify publish: Creates the article via REST and updates
title_tag/description_tagmetafields via GraphQL. - Log + link graph: Appends to Published tab to keep track of articles posted and Links tab for ongoing internal-link suggestions.
How to set up
- Open Set – Config and fill:
shopDomain,siteBaseUrl,blogId,blogHandle,sheetId,author. Optional:autoPublish,maxPerRun,tz. - Create the Google Sheet with Keywords, Links, Published tabs using the provided column structure. I have personally used Semrush to generate that list of keywords.
- Add credentials: Shopify Admin token (Header/Bearer), OpenAI API key, and Google Service Account.
Requirements
- Shopify store with Blog API access
- OpenAI API key
- Google Service Account with access to Google Sheets API (can be activated here here)
How to customize
- Change the cron in Schedule Trigger for different days/times.
- Adjust
maxPerRun,autoPublish, language or any other variables in the "Set - Config" node. - Adjust the prompt from the "Code - Build Prompt" node.
- Extend the Sheets schema with extra scoring signals if needed.
Generate SEO-Optimized Shopify Blog Articles with GPT-4 and Google Sheets
This n8n workflow automates the process of generating SEO-optimized blog articles for Shopify using GPT-4, triggered either manually or on a schedule, and then storing or publishing the results.
What it does
This workflow streamlines your content creation process by:
- Triggering the workflow: It can be initiated manually with a single click or configured to run automatically on a predefined schedule (e.g., daily, weekly).
- Fetching data from Google Sheets: It connects to a Google Sheet to retrieve input data, likely containing article topics, keywords, or other parameters for content generation.
- Processing data with custom code: A
Codenode is used to perform custom logic or data manipulation on the information fetched from Google Sheets. - Making an HTTP Request: It sends an HTTP request, presumably to an API like OpenAI's GPT-4, to generate the blog article content based on the processed input.
- Conditional Logic: An
Ifnode allows for conditional branching, enabling different actions based on the outcome of the content generation or other criteria. - Editing Fields: A
Setnode is included to modify or add fields to the data, likely preparing it for the next steps or for storage. - Merging Data: A
Mergenode combines data streams, which could be used to consolidate generated content with original input or other relevant information. - Sticky Note: A
Sticky Noteis present, likely for documentation or temporary notes within the workflow.
Prerequisites/Requirements
To use this workflow, you will need:
- n8n Instance: A running instance of n8n.
- Google Sheets Account: Configured with the necessary credentials to read data from your specified spreadsheet.
- OpenAI API Key (or similar LLM API): Although not explicitly named, the
HTTP Requestnode strongly suggests interaction with an external API for content generation, likely a large language model like GPT-4. You will need the API endpoint and credentials for this service. - Shopify Account: While not directly present in the provided JSON, the directory name "shopify-blog-articles" suggests that the generated content is intended for Shopify. Further integration (e.g., a Shopify node) would be required to publish the articles.
Setup/Usage
- Import the workflow: Download the provided JSON and import it into your n8n instance.
- Configure Credentials:
- Set up your Google Sheets credentials to allow n8n to access your spreadsheet.
- Configure the HTTP Request node with the API endpoint and authentication (e.g., API key in headers or body) for your chosen content generation service (e.g., OpenAI).
- Prepare Google Sheet: Ensure your Google Sheet is structured with the necessary columns for your blog article generation (e.g.,
topic,keywords,tone, etc.). - Customize Code Node: Adjust the
Codenode to transform your Google Sheet data into the format required by your content generation API. - Customize HTTP Request: Modify the
HTTP Requestnode's body to send the correct payload to your content generation API. - Configure If Node: Adjust the conditions in the
Ifnode to handle different scenarios after content generation (e.g., check for successful generation, content length, etc.). - Customize Set Node: Use the
Setnode to format the generated content and add any metadata before further processing. - Configure Trigger:
- For manual execution, use the "When clicking ‘Execute workflow’" trigger.
- For scheduled execution, configure the "Schedule Trigger" node with your desired interval.
- Extend for Shopify: To publish to Shopify, you would need to add a Shopify node after the content generation and formatting steps, configuring it to create new blog posts with the generated title, body, and other relevant information.
Related Templates
AI-powered code review with linting, red-marked corrections in Google Sheets & Slack
Advanced Code Review Automation (AI + Lint + Slack) Who’s it for For software engineers, QA teams, and tech leads who want to automate intelligent code reviews with both AI-driven suggestions and rule-based linting — all managed in Google Sheets with instant Slack summaries. How it works This workflow performs a two-layer review system: Lint Check: Runs a lightweight static analysis to find common issues (e.g., use of var, console.log, unbalanced braces). AI Review: Sends valid code to Gemini AI, which provides human-like review feedback with severity classification (Critical, Major, Minor) and visual highlights (red/orange tags). Formatter: Combines lint and AI results, calculating an overall score (0–10). Aggregator: Summarizes results for quick comparison. Google Sheets Writer: Appends results to your review log. Slack Notification: Posts a concise summary (e.g., number of issues and average score) to your team’s channel. How to set up Connect Google Sheets and Slack credentials in n8n. Replace placeholders (<YOURSPREADSHEETID>, <YOURSHEETGIDORNAME>, <YOURSLACKCHANNEL_ID>). Adjust the AI review prompt or lint rules as needed. Activate the workflow — reviews will start automatically whenever new code is added to the sheet. Requirements Google Sheets and Slack integrations enabled A configured AI node (Gemini, OpenAI, or compatible) Proper permissions to write to your target Google Sheet How to customize Add more linting rules (naming conventions, spacing, forbidden APIs) Extend the AI prompt for project-specific guidelines Customize the Slack message formatting Export analytics to a dashboard (e.g., Notion or Data Studio) Why it’s valuable This workflow brings realistic, team-oriented AI-assisted code review to n8n — combining the speed of automated linting with the nuance of human-style feedback. It saves time, improves code quality, and keeps your team’s review history transparent and centralized.
Daily cash flow reports with Google Sheets, Slack & Email for finance teams
Simplify financial oversight with this automated n8n workflow. Triggered daily, it fetches cash flow and expense data from a Google Sheet, analyzes inflows and outflows, validates records, and generates a comprehensive daily report. The workflow sends multi-channel notifications via email and Slack, ensuring finance professionals stay updated with real-time financial insights. 💸📧 Key Features Daily automation keeps cash flow tracking current. Analyzes inflows and outflows for actionable insights. Multi-channel alerts enhance team visibility. Logs maintain a detailed record in Google Sheets. Workflow Process The Every Day node triggers a daily check at a set time. Get Cash Flow Data retrieves financial data from a Google Sheet. Analyze Inflows & Outflows processes the data to identify trends and totals. Validate Records ensures all entries are complete and accurate. If records are valid, it branches to: Sends Email Daily Report to finance team members. Send Slack Alert to notify the team instantly. Logs to Sheet appends the summary data to a Google Sheet for tracking. Setup Instructions Import the workflow into n8n and configure Google Sheets OAuth2 for data access. Set the daily trigger time (e.g., 9:00 AM IST) in the "Every Day" node. Test the workflow by adding sample cash flow data and verifying reports. Adjust analysis parameters as needed for specific financial metrics. Prerequisites Google Sheets OAuth2 credentials Gmail API Key for email reports Slack Bot Token (with chat:write permissions) Structured financial data in a Google Sheet Google Sheet Structure: Create a sheet with columns: Date Cash Inflow Cash Outflow Category Notes Updated At Modification Options Customize the "Analyze Inflows & Outflows" node to include custom financial ratios. Adjust the "Validate Records" filter to flag anomalies or missing data. Modify email and Slack templates with branded formatting. Integrate with accounting tools (e.g., Xero) for live data feeds. Set different trigger times to align with your financial review schedule. Discover more workflows – Get in touch with us
Generate Weather-Based Date Itineraries with Google Places, OpenRouter AI, and Slack
🧩 What this template does This workflow builds a 120-minute local date course around your starting point by querying Google Places for nearby spots, selecting the top candidates, fetching real-time weather data, letting an AI generate a matching emoji, and drafting a friendly itinerary summary with an LLM in both English and Japanese. It then posts the full bilingual plan with a walking route link and weather emoji to Slack. 👥 Who it’s for Makers and teams who want a plug-and-play bilingual local itinerary generator with weather awareness — no custom code required. ⚙️ How it works Trigger – Manual (or schedule/webhook). Discovery – Google Places nearby search within a configurable radius. Selection – Rank by rating and pick the top 3. Weather – Fetch current weather (via OpenWeatherMap). Emoji – Use an AI model to match the weather with an emoji 🌤️. Planning – An LLM writes the itinerary in Markdown (JP + EN). Route – Compose a Google Maps walking route URL. Share – Post the bilingual itinerary, route link, and weather emoji to Slack. 🧰 Requirements n8n (Cloud or self-hosted) Google Maps Platform (Places API) OpenWeatherMap API key Slack Bot (chat:write) LLM provider (e.g., OpenRouter or DeepL for translation) 🚀 Setup (quick) Open Set → Fields: Config and fill in coords/radius/time limit. Connect Credentials for Google, OpenWeatherMap, Slack, and your LLM. Test the workflow and confirm the bilingual plan + weather emoji appear in Slack. 🛠 Customize Adjust ranking filters (type, min rating). Modify translation settings (target language or tone). Change output layout (side-by-side vs separated). Tune emoji logic or travel mode. Add error handling, retries, or logging for production use.