by Automation for you
🤖 Automated AI Article Generation from Google Sheets to WordPress 📝 Short Description Transform a Google Sheet into an automated content factory! This workflow reads article topics, scrapes source content, uses AI to create original articles, and publishes drafts to WordPress automatically. 🚀 📖 Full Description This workflow automates the entire content creation pipeline by connecting Google Sheets, web scraping, AI content generation, and WordPress publishing. It's designed for content marketers, bloggers, and news publishers who need to scale their content production efficiently. 💪 The system monitors a Google Sheet for new article ideas, processes source URLs through a dual-AI system for summarization and content creation, then automatically generates WordPress drafts while tracking everything back to the spreadsheet. 📊→🤖→🌐 👥 Who's It For 📈 Content marketing agencies** managing multiple clients ✍️ Bloggers** looking to scale their content output 📰 News publishers** automating article aggregation 🔍 SEO specialists** creating keyword-optimized content 🎯 Digital marketers** running content campaigns ⚙️ How It Works 📊 Sheet Monitoring: Watches Google Sheets for rows marked "New" in the Flow Status column 🔍 Content Processing: Fetches and analyzes source articles using dual AI agents 🤖 Article Generation: Creates SEO-optimized articles with proper formatting and structure 🌐 WordPress Integration: Automatically publishes drafts to your WordPress site ✅ Status Tracking: Updates the sheet with progress and final draft links 🛠️ How to Set Up 📋 Prerequisites 🔐 Google Sheets API access (OAuth2) 🧠 OpenAI API key 🌐 WordPress REST API credentials 🔗 Source URLs for article inspiration ⚡ Configuration Steps 🔄 Clone the workflow into your n8n instance 🔗 Connect credentials for Google Sheets, OpenAI, and WordPress 📄 Update the Google Sheet ID in all Sheet nodes to point to your document 📊 Configure the sheet columns to match: Topic, Source, Flow Status, Publish Status, Publish Link 🧪 Test with one row marked as "New" in your sheet 📋 Requirements 🧩 n8n Nodes Used 📊 Google Sheets (read/update operations) 🌐 HTTP Request (web scraping) 🤖 OpenAI/LangChain (AI content processing) 🌐 WordPress (draft creation) 💻 Code node (content formatting) ⚖️ If node (error handling) 🔄 SplitInBatches (item processing) ☁️ External Services 📊 Google Sheets with specific column structure 🧠 OpenAI API access 🌐 WordPress installation with REST API enabled 🎨 How to Customize the Workflow ✍️ Content Style Adjustments Modify the "Article Creator" AI node's system prompt to change: 🎭 Writing tone and style 🔍 SEO keyword density 📑 Article structure and headings 💬 Call-to-action format 🔍 Source Processing Adjust the "Article Summarizer" node to: 🕸️ Handle different website structures 📝 Extract specific content elements 📋 Modify markdown output format 📤 Publishing Options Customize the "Create a Draft" WordPress node to: 📝 Change post status from "draft" to "publish" 👥 Assign different authors or categories 🏷️ Add custom fields or tags ⚠️ Error Handling Modify the conditional logic in the "If" node to handle different failure scenarios or add additional validation steps. ℹ️ Note: This workflow uses community nodes (LangChain/OpenAI) and requires a self-hosted n8n instance. ✨ Workflow features comprehensive error handling, real-time status tracking, and batch processing for efficient content pipeline management.
by Erfan Mostafiz
This n8n workflow scrapes LinkedIn data for your leads, feeds it into a GPT-4 AI agent, and generates laser-targeted, personalized icebreakers you can drop into your cold email campaigns. It automates the personalization process at scale — saving you hours of research while sounding human and thoughtful. Step-by-Step Setup (Beginner Friendly) Step 1: Prepare Your Leads (Input Sheet) Get your lead list based on your industry and niche from Apollo (free) Copy the entire link Go to Apify and use this Apollo Scraper to scrape the leads. Download the result as CSV and upload the CSV to Google Sheets Add a column at the end of the Sheet. Name this column as "status". Mark the entire column (every row) as "un-enriched" (this is important) Connect your Google Sheets account to n8n The workflow will pull leads from this sheet where status = un-enriched Step 2: Set Your Credentials Google Sheets: Connect your account to n8n using OAuth2 OpenAI: Add your OpenAI API credentials Apify: Visit Apify Console to get your Apify API key Use this Apify LinkedIn Profile Scraper and copy the actorID --> get it from the URL : https://console.apify.com/:actorID/input Paste both Apify API Key and ActorID into the “Set Apify Tokens” node Step 3: Customize the AI Agent In the node “Generate Personalized Icebreaker”, adjust the system prompt. Update it with your own niche, offer, tone, and insights Keep the JSON output format exactly as shown. The rest of the workflow depends on it Step 4: Run the Workflow Click "Execute Workflow" The system will: -- Pull all unenriched leads -- Filter out entries without email -- Scrape LinkedIn profiles using Apify -- Use GPT-4 to write a short, personalized icebreaker -- Save the result to a separate “Enriched” sheet -- Mark those leads as “enriched” in your original sheet How It Works Behind the Scenes Manual Trigger starts the workflow Get Raw Leads from a Google Sheet (filter = un-enriched) Filter for Valid Emails (hasEmail?) Loop Over Leads Set Apify API credentials Call Apify’s LinkedIn Scraper using each lead's LinkedIn URL Aggregate the scraped data Simplify fields for AI prompt Call OpenAI GPT-4.1 Mini with structured, data-rich prompt to generate icebreaker Append results to Enriched Sheet Update original list’s status to prevent reprocessing Loop continues to the next lead Best Practices for Successful Use Clean your leads: Remove unnecessary columns from your Google Sheet raw lead list Throttle large batches: The Apify actor and OpenAI calls may hit rate limits. Process in small batches. Customize prompt deeply: The better your AI instructions, the more believable your icebreakers will sound. Use shortened company names and local slang: The system prompt already does this — keep it. Avoid fluff: Keep the tone Spartan, specific, and real. Ideal Use Cases Cold email campaigns for SMB SaaS, agency offers, B2B sales Personalized intros for LinkedIn DMs Data enrichment for lead gen automation Integrating with tools like Instantly.ai, Smartlead, or Mailshake Demo Link Watch the full walkthrough and see it in action: 👉 Watch me build this LIVE on YouTube
by Rahul Joshi
Description: Turn raw customer feedback into actionable insights with this intelligent n8n workflow template! Automatically capture reviews from Google Sheets, run AI-driven sentiment and intent analysis, and enrich your dataset with structured insights—no manual review required. This automation connects to your feedback form responses, processes reviews with an AI model, classifies intent, evaluates sentiment, assigns a score, and generates concise summaries. The results are then parsed, merged with original customer details, and stored in a structured Google Sheet for easy tracking. Perfect for sales, product, and customer success teams looking to streamline lead qualification and feedback analysis. What This Template Does: 📊 Captures new customer feedback from Google Sheets in real time 🧠 Uses AI to classify intent (praise, complaint, suggestion, etc.) 😊 Detects sentiment (positive, neutral, negative, or mixed) 🔢 Assigns a review score (1–10) for quick lead qualification 📝 Generates short, meaningful summaries of customer reviews 📂 Saves enriched data into a structured destination sheet 🌟 100% hands-free: just let AI process and organize your feedback Built-in Logic Ensures: ✔️ Clean JSON-based AI output (intent, sentiment, score, summary) ✔️ Customer details remain tied to their feedback and insights ✔️ Final dataset is ready for reporting, CRM import, or dashboards Requirements: Google Sheets with customer feedback form responses Google Sheets account for storing enriched data Azure OpenAI (or compatible) account for AI analysis n8n instance (self-hosted or cloud) Perfect For: Sales teams qualifying leads based on review sentiment Product managers analyzing user feedback at scale Customer success teams identifying risks and opportunities Analysts turning unstructured reviews into actionable insights
by Amir
📸 Instagram Post Automation Workflow ℹ️ What is this workflow This workflow automatically produces daily Instagram posts based on a user-provided prompt and sends them to your email inbox. Social media creators can use it to generate content periodically and save time. The email includes: Picture Title Caption Relevant hashtags You can simply copy and paste the content from the email into Instagram, or go further by connecting it to the Facebook API for full automation. 💼 Business Cases Generating social media posts primarily for Instagram. Integrating with other workflows (trend research, market studies, news feeds) to produce images, statistics, text, or data comparisons for social media. 💰 Business Value If you produce daily posts and each Instagram post takes around 1 hour to find a quote, create an image, caption, and hashtags, this workflow does it in less than 1 minute. This saves you: Weekly: 7 hours (1 hour × 7 days) Monthly: 30 hours (1 hour × 30 days) Yearly: 360 hours (12 months × 30 hours) At a cost of $20/hour, this workflow saves: $7,200 annually (360 hours × $20). In total, you're saving 360 hours + $7,200 per year, allowing you to focus on other valuable activities. ⚙️ How Does It Work The workflow runs periodically according to your schedule settings. Generates a new quote, avoiding duplicates of previously created ones. Creates an image. Sends all content by email. 🔗 Integrated Services Local file storage on the hosted platform OpenAI GPT model (customizable to any AI model you prefer) Gemini model for image generation (replaceable with your preferred tool) Email sending via SMTP 🛠 How to Set Up Install the workflow template. Configure AI models and set up SMTP credentials. Create a file on your local installation (/home/node/instagram_posts.txt). Set up the scheduler. Test and enjoy.
by Abdullah Alshiekh
🧩 What Problem Does It Solve? Meta’s ad forms often generate unqualified leads from casual scrollers. This workflow uses WhatsApp and AI to automatically verify, qualify, and prioritize real leads — saving time and boosting sales efficiency. 📝 Description This workflow automates lead qualification for businesses using Meta Ads (Facebook/Instagram Lead Ads) to filter out irrelevant leads. It ensures only confirmed prospects enter your CRM by: Collecting new Facebook leads Verifying via WhatsApp confirmation Classifying responses with AI Updating CRM status based on intent When a new Facebook lead arrives: Lead details are extracted (name/phone/email) Zoho CRM is checked for existing contacts WhatsApp confirmation request is sent AI classifies the response (confirmed/declined/human/invalid) CRM status is updated automatically Sales team receives only verified leads 🎯 Key Advantages for Meta Ads ✅ Blocks 60%+ irrelevant leads based on WhatsApp non-response ✅ Reduces fake submissions by requiring active confirmation ✅ Prevents CRM bloat through duplicate checking ✅ Identifies hot leads via instant "human_requested" escalation ✅ Saves sales team hours by auto-declining "no" responses 🛠️ Features Facebook Lead Ads integration via Graph API WhatsApp messaging via Twilio AI response classification (Gemini) Zoho CRM synchronization Duplicate lead prevention Customizable confirmation flow Error-resistant JSON parsing CRM owner assignment Status-based routing 🔧 Requirements Facebook Access Token with ads_management & leads_retrieval permissions Twilio Account with WhatsApp-enabled number Zoho CRM with custom "Status" field Gemini API Key (or alternative LLM) n8n credentials configured for: Twilio (API SID/token) Zoho CRM (OAuth2) Google Gemini (or alternative LLM) ⚙️ Customization Tips 1-Adjust Classification Criteria Modify the AI prompt in Classify Response (AI) node 2-Customize CRM Status Values Update field IDs in Zoho nodes 3-Modify Messaging Edit WhatsApp templates in Send WhatsApp Confirmation 4-Set Owner Assignment Replace owner ID in Prepare Owner ID node 🧠 Use Case Examples Real Estate Agencies: Filter speculative inquiries from serious buyers Medical Clinics: Verify appointment requests before scheduling SAAS Companies: Qualify free trial sign-ups Education Providers: Confirm course interest before counselor assignment Auto Dealerships: Screen test drive requests from tire-kickers If you need help get in touch on Linkedin
by Oneclick AI Squad
This automated n8n workflow monitors API uptime by periodically checking API availability and sending instant WhatsApp alerts if any service goes down. It retrieves API details from a Google Sheet and includes retry logic for failed requests. Good to Know Checks API status every 15 minutes Integrates with Google Sheets for API list management Implements a retry mechanism with up to 4 attempts Sends WhatsApp alerts for downtime Supports customizable API request configurations How It Works Schedule Trigger** - Triggers every 15 minutes Read API List** - Fetches all API URLs from a Google Sheet Process Each API1** - Loops through each API entry Init Retry Counter** - Initializes retryCount = 0 Test API** - Sends the first request to the API Check Response** - Checks if a valid response was received If No Response** - Branches into retry flow if down Wait 10 Min → Increment Retry → Retry API → Check Retry Response** - Wait and retry API call once If Still No Response** - Verifies if retry also failed If Still No Retry > 4** - Checks if retry limit is reached (≥ 4) Format Down Alert** - Formats the WhatsApp alert with API details Send WhatsApp Alert** - Sends API down alert to the configured number Continue Next API** - Moves to the next API in the list How to Use Import workflow into n8n Configure Google Sheets API for API list access Set up WhatsApp API for alerts Define API details in Google Sheet Test with sample APIs and verify alerts Adjust retry limits or schedule as needed Requirements Access to Google Sheets API WhatsApp API configuration Scheduled trigger setup in n8n Sheet Structure | Sheet Column | Example Data | | -------------------- | ------------------------------------------------------------ | | name | Timeout Test | | method | GET | | url | https://httpbin.org/delay/15 | | headers | {"Content-Type": "application/json"} | | body | {"key": "value"} | | expectedField | status | | expectedValue | success | | expectedStatusCode | 200 | Customizing This Workflow Modify trigger interval Adjust retry limits or wait times Customize WhatsApp alert format Add additional API headers or body data Integrate with other notification services
by Patrik Schick
How it works Every day at 6:00 AM, the workflow pulls all events from your Google Calendar scheduled for that day. It extracts each event’s ID, title, and start time, aggregates them into one list, and converts them into a text string. This text is passed to an AI-powered Information Extractor (using Claude 3.5 Sonnet) to format the events into a clear daily summary. Finally, the summary is sent as a Telegram message to your chosen chat ID, giving you a ready-to-read daily to-do list. How to use Connect your Google Calendar account to the Get many events node. Set the correct calendar in the calendar field. Link your Telegram account and set your chatId in the Send a text message node. Adjust the Schedule Trigger node if you want a different reminder time. Activate the workflow — it will run daily and send your event summary to Telegram automatically. Customising this workflow Reminder time: Change triggerAtHour in the Schedule Trigger node for morning, evening, or multiple reminders per day. Calendar source: Switch to another Google Calendar or add multiple Get many events nodes for different calendars. Message style: Edit the Information Extractor system prompt to change language, formatting, or level of detail in your summary. Delivery channel: Replace or add another messaging node (e.g., Email, Slack, WhatsApp) if you want your to-do list in different apps. Event filtering: Add a filter before aggregation to include only certain event types or keywords (e.g., “Meeting”, “Deadline”).
by Fahmi Fahreza
How It Works Trigger Watches for new emails with attachments in a Gmail label. Extract Data Extracts job code from the email subject (e.g., FN-001) Extracts raw text from the attached CV (PDF) AI Parsing Uses Google Gemini to parse the CV and extract: Name Email Years of experience Skills Job Lookup Uses the extracted job code to retrieve job details from Airtable. AI Scoring Compares applicant data with job requirements Scores from 1–100 Generates a brief reasoning summary (in Bahasa Indonesia) Log to Airtable Saves applicant data, score, and AI notes to the "Applications" table. Setup Instructions Prepare Airtable Base Job Posts Table Columns: Job Code, Job Title, Required Skills, Minimum Experience, Job Description Applications Table Columns: Applicant Name, Email, Score, Notes Include a linked field to the Job Posts table Add Credentials in n8n Gmail Google AI (Gemini) Airtable Configure Nodes Trigger: Set Gmail filter (e.g., label:job-applications) Extract Job Code: Verify regex format, default is ([A-Z]{2}-\d{3}) Airtable Nodes: Select your base and table in: "Find Job Post..." "Save Applicant..." Activate Workflow Save and enable the workflow New applications will be processed automatically
by vinci-king-01
How it works This workflow automatically discovers and analyzes backlinks for any website, providing comprehensive SEO insights and competitive intelligence using AI-powered analysis. Key Steps Website Input - Accepts target URLs via webhook or manual input for backlink analysis. Backlink Discovery - Scrapes and crawls the web to find all backlinks pointing to the target website. AI-Powered Analysis - Uses GPT-4 to analyze backlink quality, relevance, and SEO impact. Data Processing & Categorization - Cleans, validates, and automatically categorizes backlinks by type, authority, and relevance. Database Storage - Saves processed backlink data to PostgreSQL database for ongoing analysis and reporting. API Response - Returns structured summary with backlink counts, domain authority scores, and SEO insights. Set up steps Setup time: 8-12 minutes Configure OpenAI credentials - Add your OpenAI API key for AI-powered backlink analysis. Set up PostgreSQL database - Connect your PostgreSQL database and create the required table structure. Configure webhook endpoint - The workflow provides a /analyze-backlinks endpoint for URL submissions. Customize analysis parameters - Modify the AI prompt to include your preferred SEO metrics and analysis criteria. Test the workflow - Submit a sample website URL to verify the backlink discovery and analysis process. Set up database table - Ensure your PostgreSQL database has a backlinks table with appropriate columns. Features Comprehensive backlink discovery**: Finds all backlinks pointing to target websites AI-powered analysis**: GPT-4 analyzes backlink quality, relevance, and SEO impact Automatic categorization**: Backlinks categorized by type (dofollow/nofollow), authority level, and relevance Data validation**: Cleans and validates backlink data with error handling Database storage**: PostgreSQL integration for data persistence and historical tracking API responses**: Clean JSON responses with backlink summaries and SEO insights Competitive intelligence**: Analyzes competitor backlink profiles and identifies link building opportunities Authority scoring**: Calculates domain authority and page authority metrics for each backlink
by Stéphane Heckel
Scanning Email Inbox for Delivery Errors Prerequisite: Automate Personalized Email Campaigns with Google Docs, Sheets, and SMTP. How It Works After running your email campaign, some messages may fail to deliver. This workflow scans your email inbox for delivery errors (e.g., bounced messages), flags problematic email addresses in the Google Sheet and ensures future campaigns skip them. How to Use Ensure Prerequisite Workflow: You should have the Email Campaign Workflow configured and running. Google Sheet Setup: Use the Google Sheet Template. Identify your document’s ID (the string after /d/ and before /edit in the URL). Configure Workflow: Enter your Google Sheet ID in the settings node. Connect your Google credentials to n8n. Email Inbox: Set up the readspamfolder node to search for bounce/error messages in your mail (e.g., in the Spam or Inbox folders—adjust label/folder if emails land elsewhere). Google Sheet Update: Configure the lookupemail and update_err nodes Requirements Google Credentials** to access Gmail and sheets. Gmail Account** (bounce/error messages must be accessible here). n8n Version:** Tested with 1.105.2 (Ubuntu). Need Help? Comment this post or contact me on LinkedIn Ask in the n8n Community Forum!
by Balakrishnan C
Personal AI Assistant on Telegram Who It’s For: This workflow is designed for developers, founders, community managers, and automation enthusiasts who want to bring a personal AI assistant directly into their Telegram chat. It lets users interact naturally—either through text or voice messages—and get instant, AI-powered replies without switching apps or opening dashboards. ⚡ What It Does / How It Works 📥 Message Trigger: A Telegram Trigger node listens for incoming messages. 🧭 Smart Routing: A Switch node decides if the user sent a text or voice message. 🗣️ Voice to Text: If it’s voice, the workflow uses OpenAI Whisper Transcription to convert it into text. 🧠 AI Processing: The text is passed to an AI Agent powered by GPT-4.1-mini to understand intent and craft a response. 💬 Reply: The bot sends a clean, structured, and polite answer back to the user on Telegram. 🧠 Memory: A buffer memory node keeps short-term conversation history for a more contextual, human-like experience. 🧰 How to Set It Up: Telegram Integration Create a bot via @BotFather on Telegram. https://telegram.me/BotFather Add your Telegram API Key to n8n credentials. Connect the Telegram Trigger and Send a Message nodes. OpenAI Setup Get your API key from platform.openai.com. https://platform.openai.com/api-keys Configure the OpenAI Chat Model and Transcribe a Recording nodes with GPT-4.1-mini. Workflow Logic Use the Switch node to detect message type (text or voice). Route voice messages through transcription before sending them to the AI agent. Add Simple Memory to maintain short conversational context. Go Live Activate the workflow. Send a message or voice note to your bot. Get instant replies from your personal AI assistant. 🚀 🛡️ Requirements: n8n (self-hosted or cloud) Telegram Bot API key OpenAI API key (for GPT-4.1-mini) Basic understanding of n8n nodes and connections 🌟 Why Use This Workflow: ✅ Hands-free experience: Just talk or type. 🧠 AI-powered responses: Natural language understanding with GPT. ⚡ Real-time interaction: Fast replies via Telegram. 🔁 Memory-aware conversations: Feels more human. 🧩 Modular design: Easily extend to other AI tools or platforms.
by Robert Breen
Create a Fall 2025 course schedule for each student based on what they’ve already completed, catalog prerequisites, and term availability (Fall/Both). Reads students from Google Sheets → asks an AI agent to select exactly 5 courses (target 15–17 credits, no duplicates, prereqs enforced) → appends each student’s schedule to a schedule tab. 🧠 Summary Trigger:* Manual — *“When clicking ‘Execute workflow’” I/O:** Google Sheets in → OpenAI decisioning → Google Sheets out Ideal for:** Registrars, advisors, degree-planning prototypes ✅ What this template does Reads: StudentID, Name, Program, Year, CompletedCourses (pipe-separated CourseIDs) from **Sheet1 Decides: AI **Scheduling Agent chooses 5 courses per student following catalog rules and prerequisites Writes: Appends StudentID + Schedule strings to **schedule worksheet Credits target**: 15–17 total per term Catalog rules** (enforced in the agent prompt): Use Fall or Both courses for Fall 2025 Enforce AND prereqs (e.g., CS-102|CS-103 means both) Priority: Major Core → Major Elective → Gen Ed (include Gen Ed if needed) No duplicates or already-completed courses Prefer 200-level progression when prereqs allow ⚙️ Setup (only 2 steps) 1) Connect Google Sheets (OAuth2) In n8n → Credentials → New → Google Sheets (OAuth2), sign in and grant access In the Google Sheets nodes, select your spreadsheet and these tabs: Sheet1 (input students) schedule (output) > Example spreadsheet (replace with your own): > - Input: .../edit#gid=0 > - Output: .../edit#gid=572766543 2) Connect OpenAI (API Key) In n8n → Credentials → New → OpenAI API, paste your key In the OpenAI Chat Model node, select that credential and a chat model (e.g., gpt-4o) 📥 Required input (Sheet1) Columns**: StudentID, Name, Program, Year, CompletedCourses CompletedCourses**: pipe-separated IDs (e.g., GEN-101|GEN-103|CS-101) Program* names should match those referenced in the embedded catalog (e.g., *Computer Science BS, Business Administration BBA, etc.) 📤 Output (schedule tab) Columns**: StudentID Schedule → a selected course string (written one row per course after splitting) 🧩 Nodes in this template Manual Trigger* → *Get Student Data (Google Sheets)* → *Scheduling Agent (OpenAI)** → Split Schedule → Set Fields → Clear sheet → Append Schedule (Google Sheets) 🛠 Configuration tips If you rename tabs, update both Get Student Data and Append Schedule nodes Keep CompletedCourses consistent (use | as the delimiter) To store rationale as well, add a column to the output and map it from the agent’s JSON 🧪 Test quickly 1) Add 2–3 sample student rows with realistic CompletedCourses 2) Run the workflow and verify: 5 course rows per student in schedule Course IDs respect prereqs & Fall/Both availability Credits sum ~15–17 🧯 Troubleshooting Sheets OAuth error:** Reconnect “Google Sheets (OAuth2)” and re-select the spreadsheet & tabs Empty schedules:** Ensure CompletedCourses uses | and that programs/courses align with the provided catalog names Prereq violations:** Check that students actually have all AND-prereqs in CompletedCourses OpenAI errors (401/429):** Verify API key, billing, and rate-limit → retry with lower concurrency 🔒 Privacy & data handling Student rows are sent to OpenAI for decisioning. Remove or mask any fields you don’t want shared. Google Sheets retains input/output. Use spreadsheet sharing controls to limit access. 💸 Cost & performance OpenAI**: Billed per token; cost scales with student count and prompt size Google Sheets**: Free within normal usage limits Runtime**: Typically seconds to a minute depending on rows and rate limits 🧱 Limitations & assumptions Works for Fall 2025 only (as written). For Spring, update availability rules in the agent prompt Assumes catalog in the agent system message is your source of truth Assumes Program names match catalog variants (case/spacing matter for clarity) 🧩 Customization ideas Add a Max Credits column to cap term credits per student Include Rationale in the sheet for advisor review Add a “Gen Ed needed?” flag per student to force at least one Gen Ed selection Export to PDF or email the schedules to advisors/students 🧾 Version & maintenance n8n version:** Tested on recent n8n Cloud builds (2025) Community nodes:** Not required Maintenance:** Update the embedded catalog and offerings each term; keep prerequisites accurate 🗂 Tags & category Category:** Education / Student Information Systems Tags:** scheduling, registrar, google-sheets, openai, prerequisites, degree-planning, catalog, fall-term 🗒 Changelog v1.0.0** — Initial release: Sheets in/out, Fall 2025 catalog rules, prereq enforcement, 5-course selection, credits target 📬 Contact Need help customizing this (e.g., cohort logic, program-specific rules, adding rationale to the sheet, or emailing PDFs)? 📧 rbreen@ynteractive.com 🔗 Robert Breen — https://www.linkedin.com/in/robert-breen-29429625/ 🌐 ynteractive.com — https://ynteractive.com