Generate AI videos with Seedance & Blotato, upload to TikTok, YouTube & Instagram Who is this for? This template is ideal for creators, content marketers, social media managers, and AI enthusiasts who want to automate the production of short-form, visually captivating videos for platforms like TikTok, YouTube Shorts, and Instagram Reels — all without manual editing or publishing. What problem is this workflow solving? Creating engaging videos requires: Generating creative ideas Writing detailed scene prompts Producing realistic video clips and sound effects Editing and stitching the final video Publishing across multiple platforms This workflow automates the entire process, saving hours of manual work and ensuring consistent, AI-driven content output ready for social distribution. What this workflow does This end-to-end AI video automation workflow: 1. Generates a creative idea using OpenAI and LangChain 2. Creates detailed video prompts with Seedance AI 3. Generates video clips via Wavespeed AI 4. Generates sound effects with Fal AI 5. Stitches the final video using Fal AI’s ffmpeg API 6. Logs metadata and video links to Google Sheets 7. Uploads the video to Blotato 8. Auto-publishes to TikTok, YouTube, Instagram, and other platforms Setup 1. Add your OpenAI API key in the LLM nodes 2. Set up Seedance and Wavespeed AI credentials for video prompt and clip generation 3. Add your Fal AI API key for sound and stitching steps 4. Connect your Google Sheets account for tracking ideas and outputs 5. Set your Blotato API key and fill in the platform account IDs in the Assign Social Media IDs node 6. Adjust the Schedule Trigger to control when the automation runs How to customize this workflow to your needs Change the AI prompts to target your niche (e.g., ASMR, product videos, humor) Add a Telegram or Slack step for video preview before publishing Tweak scene structure or video duration to match your style Disable platforms you don’t want by turning off specific HTTP Request nodes Edit the sound generation prompts for different moods or effects Documentation: Notion Guide --- Need help customizing? Contact me for consulting and support : Linkedin / Youtube
Automate video creation with Veo3 and auto-post to Instagram, TikTok via Blotato Who is this for? This template is ideal for content creators, social media managers, YouTubers, and digital marketers who want to generate high-quality videos daily using AI and distribute them effortlessly across multiple platforms. It’s perfect for anyone who wants to scale short-form content creation without video editing tools. What problem is this workflow solving? Creating and distributing consistent video content requires: Generating ideas Writing scripts and prompts Rendering videos Manually posting to platforms This workflow automates all of that. It transforms one prompt into a professional AI-generated video and publishes it automatically — saving time and increasing reach. What this workflow does 1. Triggers daily to generate a new idea with OpenAI (or your custom prompt). 2. Creates a video prompt formatted specifically for Google Veo3. 3. Generates a cinematic video using the Veo3 API. 4. Logs the video data into a Google Sheet. 5. Retrieves the final video URL once Veo3 finishes rendering. 6. Uploads the video to Blotato for publishing. 7. Auto-posts the video to Instagram, TikTok, YouTube, Facebook, LinkedIn, Threads, Twitter (X), Pinterest, and Bluesky. Setup 1. Add your OpenAI API key to the GPT-4.1 nodes. 2. Connect your Veo3 API credentials in the video generation node. 3. Link your Google Sheets account and use a sheet with columns: Prompt, Video URL, Status. 4. Connect your Blotato API key and set your platform IDs in the Assign Social Media IDs node. 5. Adjust the Schedule Trigger to your desired posting frequency. How to customize this workflow to your needs Edit the AI prompt to align with your niche (fitness, finance, education, etc.). Add your own branding overlays using JSON2Video or similar tools. Change platform selection by enabling/disabling specific HTTP Request nodes. Add a Telegram step to preview the video before auto-posting. Track performance by adding metrics columns in Google Sheets. Documentation: Notion Guide --- Need help customizing? Contact me for consulting and support : Linkedin / Youtube
//ASMR AI Workflow Who is this for? Content Creators, YouTube Automation Enthusiasts, and AI Hobbyists looking to autonomously generate and publish unique, satisfying ASMR-style YouTube Shorts without manual effort. What problem does this solve? This workflow solves the creative bottleneck and time-consuming nature of daily content creation. It fully automates the entire production pipeline, from brainstorming trendy ideas to publishing a finished video, turning your n8n instance into a 24/7 content factory. What this workflow does 1. Two-Stage AI Ideation & Planning: Uses an initial AI agent to brainstorm a short, viral ASMR concept based on current trends. A second "Planning" AI agent then takes this concept and expands it into a detailed, structured production plan, complete with a viral-optimized caption, hashtags, and descriptions for the environment and sound. 2. Multi-Modal Asset Generation: Video: Feeds detailed scene prompts to the ByteDance Seedance text-to-video model (via Wavespeed AI) to generate high-quality video clips. Audio: Simultaneously calls the Fal AI text-to-audio model to create custom, soothing ASMR sound effects that match the video's theme. Assembly: Automatically sequences the video clips and sound into a single, cohesive final video file using an FFMPEG API call. 3. Closed-Loop Publishing & Logging: Logging: Initially logs the new idea to a Google Sheet with a status of "In Progress". Publishing: Automatically uploads the final, assembled video directly to your YouTube channel, setting the title and description from the AI's plan. Updating: Finds the original row in the Google Sheet and updates its status to "Done", adding a direct link to the newly published YouTube video. Notifications: Sends real-time alerts to Telegram and/or Gmail with the video title and link, confirming the successful publication. Setup Credentials: You will need to create credentials in your n8n instance for the following services: OpenAI API Wavespeed AI API (for Seedance) Fal AI API Google OAuth Credential (enable YouTube Data API v3 and Google Sheets API in your Google Cloud Project) Telegram Bot Credential (Optional) Gmail OAuth Credential Configuration: This is an advanced workflow. The initial setup should take approximately 15-20 minutes. Google Sheet: Create a Google Sheet with these columns: idea, caption, production_status, youtube_url. Add the Sheet ID to the Google Sheets nodes in the workflow. Node Configuration: In the Telegram Notification node, enter your own Chat ID. In the Gmail Notification node, update the recipient email address. Activate: Once configured, save and set the workflow to "Active" to let it run on its schedule. How to customize Creative Direction: To change the style or theme of the videos (e.g., from kinetic sand to soap cutting), simply edit the systemMessage in the "2. Enrich Idea into Plan" and "Prompts AI Agent" nodes. Initial Ideas: To influence the AI's starting concepts, modify the prompt in the "1. Generate Trendy Idea" node. Video & Sound: To change the video duration or sound style, adjust the parameters in the "Create Clips" and "Create Sounds" nodes. Notifications: Add or remove notification channels (like Slack or Discord) after the "Upload to YouTube" node.
How it works Automatically generates trending LinkedIn content topics using AI Researches current industry angles and hooks Writes posts in your authentic voice using OpenAI Creates professional images with DALL-E Posts everything on schedule without manual intervention Set up steps Connect OpenAI API for content generation and image creation Link LinkedIn API for automated posting Configure scheduling triggers (daily/weekly posting) Customize prompts to match your writing style and industry Set up content approval workflows (optional) Results you can expect 400% increase in profile views within 3 weeks Generate 120+ posts per month vs manual 12 posts Free up 15+ hours weekly for revenue-generating activities Consistent posting schedule that builds audience engagement Professional content that converts followers to clients Time to set up: 30-45 minutes Technical level: Beginner to intermediate APIs required: OpenAI, LinkedIn API Cost: OpenAI usage fees only (approximately $5-15/month) This workflow transforms LinkedIn content creation from a time-consuming daily task into a fully automated system that works while you sleep. Perfect for entrepreneurs, marketers, and content creators who want consistent LinkedIn presence without the manual effort.
Want to check out all my flows, follow me on: https://maxmitcham.substack.com/ https://www.linkedin.com/in/max-mitcham/ Email Manager - Intelligent Gmail Classification This automation flow is designed to automatically monitor incoming Gmail messages, analyze their content and context using AI, and intelligently classify them with appropriate labels for better email organization and prioritization. How It Works (Step-by-Step): 1. Gmail Monitoring (Trigger) Continuously monitors your Gmail inbox: `` Polls for new emails every minute Captures all incoming messages automatically Triggers workflow for each new email received ` 2. Email Content Extraction Retrieves complete email details: ` Full email body and headers Sender information and recipient lists Subject line and metadata Existing Gmail labels and categories Email threading information (replies/forwards) ` 3. Email History Analysis AI agent checks relationship context: ` Searches for previous emails from the same sender Checks sent folder for prior outbound correspondence Determines if this is a first-time contact (cold email) Analyzes conversation thread history ` 4. Intelligent Classification Agent Advanced AI categorization using: ` Claude Sonnet 4 for sophisticated email analysis Context-aware classification based on email history Content analysis for intent and urgency detection Header analysis for automated vs. human-sent emails ` 5. Smart Label Assignment Automatically applies appropriate Gmail labels: ` To Respond: Requires direct action/reply FYI: For awareness, no action needed Notification: Service updates, policy changes Marketing: Promotional content and sales pitches Meeting Update: Calendar-related communications Comment: Document/task feedback ` 6. Structured Processing Ensures consistent labeling: ` Uses structured output parsing for reliability Returns specific Label ID for Gmail integration Applies label automatically to the email Maintains classification accuracy ` Tools Used: ` n8n: Workflow automation platform Gmail API: Email monitoring and label management Anthropic Claude: Advanced email content analysis Gmail Tools: Email history checking and search Structured Output Parser: Consistent AI responses ` Key Features: ` Real-time email monitoring and classification Context-aware analysis using email history Intelligent cold vs. warm email detection Multiple classification categories for organization Automatic Gmail label application Header analysis for automated email detection Thread-aware conversation tracking ` Ideal Use Cases: ` Busy executives managing high email volumes Sales professionals prioritizing prospect communications Support teams organizing customer inquiries Marketing teams filtering promotional content Anyone wanting automated email organization Teams needing consistent email prioritization ``
Create AI Viral Videos using NanoBanana 2 PRO & VEO3.1 and Publish via Blotato Who is this for? This template is for content creators, marketers, agencies, and UGC studios who want to turn a simple Telegram message into AI-generated vertical videos, automatically published across multiple social platforms using Blotato. --- What problem is this workflow solving? / Use case Creating short-form video ads usually requires: Designing visuals Writing hooks and captions Generating or editing video Manually uploading to TikTok, Instagram, YouTube, Facebook, LinkedIn, X, etc. This workflow solves that by automating the full pipeline from image + idea → edited image → AI video → multi-platform post. --- What this workflow does 1. Create Image with NanoBanana 2 PRO User sends a photo + caption idea to a Telegram bot. OpenAI Vision analyzes the reference image. An LLM builds a UGC-style image prompt. NanoBanana 2 PRO generates an enhanced, UGC-friendly image. 2. Generate Video with VEO3.1 An AI Agent structures a detailed Veo prompt (scene, camera, lighting, audio). Prompt is optimized and sent to VEO3.1 reference-to-video. The result is a 9:16, ~8s vertical video downloaded back into n8n. 3. Publish with Blotato Video is uploaded to Blotato. Posts are created for TikTok, Instagram, YouTube, Facebook, LinkedIn, and X using the AI-generated caption, title, and hashtags. A final “Published” message is sent on Telegram. --- Setup 1. Create and configure: Telegram bot (token in Set: Bot Token (Placeholder) node). OpenAI credentials. Fal.ai API key (for NanoBanana 2 PRO + VEO3.1). Blotato account + API credentials and connected social accounts. 2. Import the template into n8n and update all credential references. 3. Test by sending a product image + short idea to your Telegram bot. --- How to customize this workflow to your needs Edit the UGC image prompt system message to change visual style (more cinematic, minimal, etc.). Adjust the VEO prompt optimizer to tweak duration, mood, or camera movement. Enable/disable specific Blotato platforms depending on where you want to publish. Modify the caption/hashtag generation logic to match your brand tone, language, or niche. --- Need help or want to customize this? Contact: LinkedIn YouTube: @DRFIRASS Workshops: Mes Ateliers n8n --- Documentation: Notion Guide Need help customizing? Contact me for consulting and support : Linkedin / Youtube / Mes Ateliers n8n
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. This workflow automatically monitors keyword rankings across search engines to track SEO performance and identify optimization opportunities. It saves you time by eliminating the need to manually check keyword positions and provides comprehensive ranking data for strategic SEO decision making. Overview This workflow automatically scrapes search engine results pages (SERPs) to track keyword rankings, competitor positions, and search features. It uses Bright Data to access search results without restrictions and AI to intelligently parse ranking data, track changes, and identify SEO opportunities. Tools Used n8n: The automation platform that orchestrates the workflow Bright Data: For scraping search engine results without being blocked OpenAI: AI agent for intelligent ranking analysis and SEO insights Google Sheets: For storing keyword ranking data and tracking changes How to Install 1. Import the Workflow: Download the .json file and import it into your n8n instance 2. Configure Bright Data: Add your Bright Data credentials to the MCP Client node 3. Set Up OpenAI: Configure your OpenAI API credentials 4. Configure Google Sheets: Connect your Google Sheets account and set up your ranking tracking spreadsheet 5. Customize: Define target keywords and ranking monitoring parameters Use Cases SEO Teams: Track keyword performance and identify ranking improvements Content Marketing: Monitor content ranking success and optimization needs Competitive Analysis: Track competitor keyword rankings and strategies Digital Marketing: Measure organic search performance and ROI Connect with Me Website: https://www.nofluff.online YouTube: https://www.youtube.com/@YaronBeen/videos LinkedIn: https://www.linkedin.com/in/yaronbeen/ Get Bright Data: https://get.brightdata.com/1tndi4600b25 (Using this link supports my free workflows with a small commission) #n8n #automation #keywordrankings #seo #searchrankings #brightdata #webscraping #seotools #n8nworkflow #workflow #nocode #ranktracking #keywordmonitoring #seoautomation #searchmarketing #organicseo #seoresearch #rankinganalysis #keywordanalysis #searchengines #seomonitoring #digitalmarketing #serp #keywordtracking #seoanalytics #searchoptimization #rankingreports #keywordresearch #seoinsights #searchperformance
How it works The automation loads rows from a Google Sheet of leads that you want to contact. It makes a Google search via Apify for LinkedIn links based on the First name / Last name / Company. Another Apify actor fetches the right LinkedIn profile based on the first profile which is retuned The same process is done for the company that the lead works for, giving extra context. If the lead has a current company listed on their LinkedIn, we use that URL to do the lookup, rather than doing a separate Google search. A call is made to OpenRouter to get an LLM to generate an email based on a prompt designed to do personalized outreach. An email is sent via a Gmail node. Set up steps Connect your Google Sheets + Gmail accounts to use these APIs. Make an account with Apify and enter your credentials. Set your details in the "Set My Data" node to customize the workflow to revolve around your company + value proposition. I would recommend changing the prompt in the "Generate Personalized Email" node to match the tone of voice that you want your agent to have. You can change the guidelines to e.g. change whether the agent introduces itself, and give more examples in the style you want to make the output better.
A hands-on starter workflow that teaches beginners how to: Pull rows from a Google Sheet Append a new record that mimics a form submission Generate AI-powered text with GPT-4o based on a “Topic” column Write the AI output back into the correct row using an update operation Along the way you’ll learn the three essential Google Sheets operations in n8n (read → append → update), see how to pass sheet data into an OpenAI node, and document each step with sticky-note instructions—perfect for anyone taking their first steps in no-code automation. 0 Prerequisites Google Sheets 1. Open Google Cloud Console → create / select a project. 2. Enable Google Sheets API under APIs & Services. 3. Create an OAuth Desktop credential and connect it in n8n. 4. Share the spreadsheet with the Google account linked to the credential. OpenAI 1. Create a secret key at <https://platform.openai.com/account/api-keys>. 2. In n8n → Credentials → New → choose OpenAI API and paste the key. Sample sheet to copy (make your own copy and use its link) <https://docs.google.com/spreadsheets/d/15i9WIYpqc5lNd5T4VyM0RRptFPdi9doCbEEDn8QglN4/edit?usp=sharing> --- 1 Trigger Manual Trigger – lets you run on demand while learning. (Swap for a Schedule or Webhook once you automate.) --- 2 Read existing rows Node: Get Rows from Google Sheets Reads every row from Sheet1 of your copied file. --- 3 Generate a demo row Node: Generate 1 Row of Data (Set node) Pretends a form was submitted: Name, Email, Topic, Submitted = "Yes" --- 4 Append the new row Node: Append Data to Google Operation append → writes to the first empty line. --- 5 Create a description with GPT-4o 1. OpenAI Chat Model – uses your OpenAI credential. 2. Write description (AI Agent) – prompt = the Topic. 3. Structured Output Parser – forces JSON like: { "description": "…" }. --- 6 Update that same row Node: Update Sheets data Operation update. Matches on column Email to update the correct line. Writes the new Description cell returned by GPT-4o. --- 7 Why this matters Demonstrates the three core Google Sheets operations: read → append → update. Shows how to enrich sheet data with an AI step and push the result right back. Sticky Notes provide inline docs so anyone opening the workflow understands the flow instantly. --- Need help? Robert Breen – Automation Consultant robert.j.breen@gmail.com <https://www.linkedin.com/in/robert-breen-29429625/>
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. This workflow automatically monitors competitor pricing changes and website updates to keep you informed of market movements. It saves you time by eliminating the need to manually check competitor websites and provides alerts only when actual changes occur, preventing information overload. Overview This workflow automatically scrapes competitor pricing pages (like ClickUp) and compares current pricing with previously stored data. It uses Bright Data to access competitor websites without being blocked and AI to intelligently extract pricing information, updating your tracking spreadsheet only when changes are detected. Tools Used n8n: The automation platform that orchestrates the workflow Bright Data: For scraping competitor websites without being blocked OpenAI: AI agent for intelligent pricing data extraction and parsing Google Sheets: For storing and comparing historical pricing data How to Install 1. Import the Workflow: Download the .json file and import it into your n8n instance 2. Configure Bright Data: Add your Bright Data credentials to the MCP Client node 3. Set Up OpenAI: Configure your OpenAI API credentials 4. Configure Google Sheets: Connect your Google Sheets account and set up your pricing tracking spreadsheet 5. Customize: Set your competitor URLs and pricing monitoring schedule Use Cases Product Teams: Monitor competitor feature and pricing changes for strategic planning Sales Teams: Stay informed of competitor pricing to adjust sales strategies Marketing Teams: Track competitor messaging and positioning changes Business Intelligence: Build comprehensive competitor analysis databases Connect with Me Website: https://www.nofluff.online YouTube: https://www.youtube.com/@YaronBeen/videos LinkedIn: https://www.linkedin.com/in/yaronbeen/ Get Bright Data: https://get.brightdata.com/1tndi4600b25 (Using this link supports my free workflows with a small commission) #n8n #automation #competitoranalysis #pricingmonitoring #brightdata #webscraping #competitortracking #marketintelligence #n8nworkflow #workflow #nocode #pricetracking #businessintelligence #competitiveanalysis #marketresearch #competitormonitoring #pricingdata #websitemonitoring #competitorpricing #marketanalysis #competitorwatch #pricingalerts #businessautomation #competitorinsights #markettrends #pricingchanges #competitorupdates #strategicanalysis #marketposition #competitiveintelligence
Automate video ads with NanoBanana, Seedream 4, ChatGPT Image and Veo 3 Who is this for? This template is designed for marketers, content creators, and e-commerce brands who want to automate the creation of professional ad videos at scale. It’s ideal for teams looking to generate consistent, high-quality video ads for social media without spending hours on manual design, editing, or publishing. What problem is this workflow solving? / Use case Creating video ads usually requires multiple tools and a lot of time: writing scripts, designing product visuals, editing videos, and publishing them across platforms. This workflow automates the entire pipeline — from idea to ready-to-publish ad video — ensuring brands can quickly test campaigns and boost engagement without production delays. What this workflow does 1. Generates ad ideas from Telegram input (text + product image). 2. Creates product visuals using multiple AI image engines: Seedream 4.0 (realistic visuals) NanoBanana (image editing & enhancement) ChatGPT Image / GPT-4o (creative variations) 3. Produces cinematic video ads with Veo 3 based on AI-generated scripts. 4. Merges multiple short clips into a polished final ad. 5. Publishes automatically to multiple platforms (TikTok, Instagram, LinkedIn, X, Threads, Facebook, Pinterest, Bluesky, YouTube) via Blotato. 6. Stores metadata and results in Google Sheets & Google Drive for easy tracking. 7. Notifies you via Telegram with the video link and copy. Setup 1. Connect your accounts in n8n: Telegram API (for input and notifications) Google Drive + Google Sheets (storage & tracking) Kie AI API (Seedream + Veo 3) Fal.ai API (NanoBanana + video merging) OpenAI (for script and prompt generation) Blotato API (for social publishing) 2. Prepare a Google Sheet with brand info and settings (product name, category, features, offer, website URL). 3. Deploy the workflow and connect your Telegram bot to start sending ad ideas (photo + caption). 4. Run the workflow — it will automatically generate images, create videos, and publish to your chosen channels. How to customize this workflow to your needs Brand customization: Adjust the Google Sheet values to reflect your brand’s offers and product features. Platforms: Enable/disable specific Blotato nodes depending on which platforms you want to publish to. Video style: Edit the AI agent’s system prompt to control tone, format, and transitions (cinematic, playful, modern, etc.). Notifications: Adapt Telegram nodes to send updates to different team members or channels. Storage: Change the Google Drive folder IDs to store generated videos and images in your preferred location. This workflow lets you go from idea → images → cinematic ad video → auto-published content in minutes, fully automated. --- Watch This Tutorial: Step by Step --- Documentation: Notion Guide --- Need help customizing? Contact me for consulting and support : Linkedin / Youtube
Create viral Ads with NanoBanana & Seedance, publish on socials via upload-post Who is this for? This workflow is designed for marketers, content creators, and small businesses who want to automate the creation of engaging social media ads without spending hours on manual design, video editing, or publishing. --- What problem is this workflow solving? / Use case Manually creating ads for multiple platforms is time-consuming and repetitive. You need to generate visuals, edit videos, add music, and then publish them across social channels. This workflow automates the end-to-end ad production pipeline, saving time while ensuring consistent, professional-quality output. --- What this workflow does Receives ad ideas via Telegram. Uses NanoBanana to generate and edit realistic product images. Transforms images into engaging short videos with Seedance. Generates background music with Suno. Merges video and audio into a polished final ad. Reads brand info and generates ad copy with AI (OpenAI). Publishes ads to Instagram, TikTok, YouTube, Facebook, and X via upload-post. Stores media and campaign data in Google Drive and Google Sheets for tracking. Sends back notifications and previews via Telegram. --- Setup 1. Connect your accounts: Telegram Google Drive Google Sheets OpenAI API NanoBanana API Seedance API Suno API Upload-post 2. Prepare Google Sheets: Add a sheet for brand details (name, category, features, website). Add another sheet for video logs (status, links, captions). 3. Configure upload-post: Ensure your social accounts (TikTok, Instagram, YouTube, Facebook, X) are linked to upload-post. --- How to customize this workflow to your needs Prompts → Adjust the image/video/music prompts to better reflect your brand’s tone and products. Ad copy → Modify the AI prompt inside the Ads Copywriter Generator to control wording, style, and structure. Publishing scope → Choose only the platforms you want (TikTok, Instagram, etc.) inside the upload-post node. Storage → Update Google Drive folder IDs and Google Sheets document IDs to match your own workspace. --- With this template, you get a fully automated viral ad production system powered by AI visuals, video rendering, and auto-publishing across social platforms. Perfect for scaling your content strategy while saving time. Documentation: Notion Guide Demo Video Watch the full tutorial here: YouTube Demo Need help customizing? Contact me for consulting and support : Linkedin / Youtube
Automate LinkedIn content creation by managing ideas in Google Sheets, generating professional AI-written posts, intelligently selecting relevant Unsplash images, sending drafts for email approval, and publishing directly to LinkedIn. How it works Step 1: Scheduled Sheet Check Workflow runs daily at midnight (customizable to hourly/weekly) Fetches posts from Google Sheet marked with Status = "Ready" Processes one post per run, updates status to "In Progress" Step 2: AI Content Generation GPT-5.1 creates engaging LinkedIn post based on your inputs Generates content with proper hashtags, formatting, and tone Follows your specified content type (tip, story, announcement, etc.) Step 3: Quality Validation Automatically checks character limits (3000 max) Validates minimum hashtag requirements (3+) Loops back to regenerate if quality checks fail Step 4: Email Approval Workflow Formats post as HTML email with professional styling Sends preview to your Gmail for review Waits for your approval response before proceeding Nothing posts without explicit confirmation Step 5: Smart Image Handling If you provided image URL: Downloads from Google Drive, Dropbox, or direct links If no URL is provided: Fetch 10 images from Unsplash and use AI to select the best one. If "Include Image?" is "No": Posts text-only content Automatically converts share links to downloadable formats Step 6: LinkedIn Publishing & Tracking Posts approved content directly to your LinkedIn profile Uses appropriate API endpoint based on whether image is included Updates Google Sheet status to "Posted" for successful posts Marks "Rejected" posts in sheet for review and editing What you'll get Batch content planning: Queue multiple posts in advance via Google Sheets Consistent posting schedule: Automated daily publishing without manual work Professional AI content: GPT-5.1 generates engaging, platform-optimized posts Full approval control: Review every post before it goes live Flexible image options: Your images, AI-generated, or text-only Quality assurance: Built-in checks prevent poorly formatted posts Status tracking: Monitor what's ready, in progress, rejected, or posted Smart link conversion: Automatically handles Google Drive and Dropbox share links Requirements Accounts & credentials: OpenAI API key (requires paid plan for GPT-5.1) Gmail account (for approval workflow) Google account (for Sheets integration) LinkedIn account (for publishing) Unsplash API key (for getting images) Google Sheet setup: Create a sheet with these columns: Topic/Subject (required) - Main idea for the post Content Type (required) - e.g., "Tip", "Story", "Announcement" Tone (required) - e.g., "Professional", "Casual", "Inspirational" Target Audience (optional) - Who you're writing for Additional Notes (optional) - Specific points to include Image link for your post (optional) - URL to your image Include Image? (required) - "Yes" or "No" Status (required) - "Ready" to trigger workflow Setup steps 1. Import workflow - Click "Use workflow" to add to your n8n instance 2. Connect credentials: Google Sheets: Authenticate and select your sheet from dropdown OpenAI: Add your API key in both AI nodes Gmail: Authenticate and update recipient email in approval node LinkedIn: Authenticate (your profile auto-populates) 3. Create your content sheet - Add the required columns and fill with post ideas 4. Test the workflow: Add one test row with Status = "Ready" Run workflow manually Check email for approval Verify post appears on LinkedIn 5. Configure schedule - Default is daily at midnight; adjust Schedule Trigger node for different frequency 6. Start batching - Add multiple ideas to your sheet and let automation handle the rest Tips for best results Be specific in Topic/Subject: "5 ways to improve team productivity" beats "productivity tips" Mix content types and tones to keep your feed engaging Use Additional Notes for data points, statistics, or specific examples. You can also include links that the AI can use for the posts. Start with text-only posts to validate content quality before adding images Review rejected posts carefully and refine your inputs Batch 10-20 ideas at once for weeks of automated content
Generate product images with NanoBanana Pro to Veo videos and Blotato Who is this for? This workflow is designed for: Content creators and marketers E-commerce and product-based businesses Agencies producing social media visuals and videos Automation builders looking for AI-powered creative pipelines It is ideal for anyone who wants to automate product image and video creation using AI and publish content without manual work. --- What problem is this workflow solving? / Use case Creating product visuals and marketing videos usually requires multiple tools, manual prompt writing, and repetitive steps. This workflow solves: Manual image and video creation Inconsistent visual quality across assets Time-consuming prompt iteration Manual video publishing to social platforms The workflow automates the entire process from image generation to video publishing using AI. --- What this workflow does This workflow provides an end-to-end automation pipeline: 1. Generates high-quality product images using NanoBanana Pro 2. Applies Contact Sheet Prompting to explore multiple visual variations 3. Converts selected images into short marketing videos using Veo 3.1 4. Automatically publishes the final videos via BLOTATO The result is a fully automated creative workflow that turns AI prompts into ready-to-publish video content. --- Setup To use this workflow, you need the following services and credentials: OpenAI API Used for image analysis and prompt generation NanoBanana Pro (fal.ai) Product image generation API: https://fal.ai/models/fal-ai/nano-banana-pro/edit/api Veo 3.1 (fal.ai) Video generation API: https://fal.ai/models/fal-ai/veo3.1/first-last-frame-to-video Blotato Video publishing to social platforms Sign up at BLOTATO All credentials must be added in n8n before running the workflow. --- How to customize this workflow to your needs You can easily adapt this workflow by: Modifying AI prompts to match your brand style Adjusting image composition and realism parameters in NanoBanana Pro Changing video motion, pacing, and aspect ratio in Veo 3.1 Selecting different social platforms or publishing rules in Blotato Replacing or extending individual steps while keeping the same architecture The workflow is modular and can be reused for multiple products or campaigns. Watch This Tutorial --- Need help or want to customize this? Contact: LinkedIn YouTube: @DRFIRASS Workshops: Mes Ateliers n8n --- Documentation: Notion Guide Need help customizing? Contact me for consulting and support : Linkedin / Youtube / Mes Ateliers n8n
AI-Enriched Cold Outreach: Research → Draft → QA → Write-back ============================================================ What this template does ----------------------- Automates cold email drafting from a lead list by: 1. Enriching each lead with LinkedIn profile, LinkedIn company, and Crunchbase data 2. Generating a personalized subject + body with Gemini 3. Auto-reviewing with a Judge agent and writing back only APPROVED drafts to your Data Table Highlights ----------- Hands-off enrichment via RapidAPI; raw JSON stored back on each row Two-agent pattern: Creative Outreach Agent (draft) + Outreach Email Judge (QA) Structured outputs guaranteed by LangChain Structured Output Parsers Data Table–native: reads “unprocessed” rows, writes results to the same row Async polling with Wait nodes for scraper task results How it works (flow) ------------------- 1. Trigger: Manual (replace with Cron if needed) 2. Fetch leads: Data Table “Get row(s)” filters rows where email_subject is empty (pending) 3. Loop: Split in Batches iterates rows 4. Enrichment (runs in parallel): LinkedIn profile: HTTP (company_url) → Wait → Results → Data Table update → linkedin_profile_scrape LinkedIn company: HTTP (company_url) → Wait → Results → Data Table update → linkedin_company_scrape Crunchbase company: HTTP (url_search) → Wait → Results → Data Table update → crunchbase_company_scrape (All calls use host cold-outreach-enrichment-scraper with a RapidAPI key.) 5. Draft (Gemini): “Agent One” composes a concise, personalized email using row fields + enrichment + ABOUT ME block. Structured Output Parser enforces: ``json { "email_subject": "text", "email_content": "text" } ` 6. Prep for QA: “Email Context” maps email_subject, email_content, and email for the judge. 7. QA (Judge): “Judge Agent” returns APPROVED or REVISE (brief feedback allowed). 8. Route: If APPROVED → Data Table “Update row(s)” writes email_subject + email_body (a.k.a. email_content) back to the row. If REVISE → Skipped; loop continues. Required setup --------------- Data Table: “email_linkedin_list” (or your own) with at least: email, First_name, Last_name, Title, Location, Company_Name, Company_site, Linkedin_URL, company_linkedin (if used), Crunchbase_URL, email_subject, email_body, linkedin_profile_scrape, linkedin_company_scrape, crunchbase_company_scrape (string fields for JSON). Credentials: RapidAPI key for cold-outreach-enrichment-scraper (store securely as credential, not hardcoded) Google Gemini (PaLM) API configured in the Google Gemini Chat Model node ABOUT ME block: Replace the sample persona (James / CEO / Company Sample / AI Automations) with your own. Nodes used ----------- Data Table HTTP Request: AI Agent: Google Gemini Chat Model Split in Batches: Main Loop Set: RapidAPI-Key Customization ideas ------------------- Process flags: Add email_generated_at or processed` boolean to prevent reprocessing. Human-in-the-loop: Send drafts to Slack/Email for spot check before write-back. Delivery: After approval, optionally email the draft to the sender for review. Quotas & costs --------------- RapidAPI: Multiple calls per row (three tasks + result polls). Gemini: Token usage for generator + judge per row. Tune batch size and schedule accordingly. Privacy & compliance -------------------- You are scraping and storing person/company data. Ensure lawful basis, respect ToS, and minimize stored data.
Use the n8n Data Tables feature to store, retrieve, and analyze survey results — then let OpenAI automatically recommend the most relevant course for each respondent. --- What this workflow does This workflow demonstrates how to use n8n’s built-in Data Tables to create an internal recommendation system powered by AI. It: Collects survey responses through a Form Trigger Saves responses to a Data Table called Survey Responses Fetches a list of available courses from another Data Table called Courses Passes both Data Tables into an OpenAI Chat Agent, which selects the most relevant course Returns a structured recommendation with: course: the course title reasoning: why it was selected > Trigger: Form submission (manual or public link) --- Who it’s for Perfect for educators, training managers, or anyone wanting to use n8n Data Tables as a lightweight internal database — ideal for AI-driven recommendations, onboarding workflows, or content personalization. --- How to set it up 1 Create your n8n Data Tables This workflow uses two Data Tables — both created directly inside n8n. Table 1: Survey Responses Columns: Name Q1 — Where did you learn about n8n? Q2 — What is your experience with n8n? Q3 — What kind of automations do you need help with? To create: 1. Add a Data Table node to your workflow. 2. From the list, click “Create New Data Table.” 3. Name it Survey Responses and add the columns above. --- Table 2: Courses Columns: Course Description To create: 1. Add another Data Table node. 2. Click “Create New Data Table.” 3. Name it Courses and create the columns above. 4. Copy course data from this Google Sheet: https://docs.google.com/spreadsheets/d/1Y0Q0CnqN0w47c5nCpbA1O3sn0mQaKXPhql2Bc1UeiFY/edit?usp=sharing This Courses Data Table is where you’ll store all available learning paths or programs for the AI to compare against survey inputs. --- 2 Connect OpenAI 1. Go to OpenAI Platform 2. Create an API key 3. In n8n, open Credentials → OpenAI API and paste your key 4. The workflow uses the gpt-4.1-mini model via the LangChain integration --- Key Nodes Used | Node | Purpose | n8n Feature | |------|----------|-------------| | Form Trigger | Collect survey responses | Forms | | Data Table (Upsert) | Stores results in Survey Responses | Data Tables | | Data Table (Get) | Retrieves Courses | Data Tables | | Aggregate + Set | Combines and formats table data | Core nodes | | OpenAI Chat Model (LangChain Agent) | Analyzes responses and courses | AI | | Structured Output Parser | Returns structured JSON output | LangChain | --- Tips for customization Add more Data Table columns (e.g., email, department, experience years) Use another Data Table to store AI recommendations or performance results Modify the Agent system message to customize how AI chooses courses Send recommendations via Email, Slack, or Google Sheets --- Why Data Tables? This workflow shows how n8n’s Data Tables can act as your internal database: Create and manage tables directly inside n8n No external integrations needed Store structured data for AI prompts Share tables across multiple workflows All user data and course content are stored securely and natively in n8n Cloud or Self-Hosted environments. --- Contact Need help customizing this (e.g., expanding Data Tables, connecting multiple surveys, or automating follow-ups)? robert@ynteractive.com Robert Breen ynteractive.com
Turn any prompt into structured web data. Send a POST request with a natural language prompt and an optional JSON schema, and get back clean, structured results scraped from the web by an AI agent powered by Firecrawl. Use Cases Data Enrichment: Feed company names or URLs from your CRM and get back structured firmographic data (industry, funding, team size, tech stack). Lead Generation: Ask the agent to find pricing, contact pages, or product details for a list of competitors. Market Research: Extract structured pricing plans, feature comparisons, or product catalogs from any website. Content Aggregation: Pull structured news, events, or job postings from across the web on a schedule. Sales Intelligence: Enrich prospect lists with company info, recent news, or tech stack details before outreach. How It Works `` POST /webhook/scrape-agent ` 1. Receive Scrape Request receives a POST request with prompt and an optional output_schema. 2. Validate Output Schema checks the schema. If none is provided, it falls back to a permissive default. If the schema is malformed, it returns a clear error via Return Schema Error. 3. Research & Extract Web Data takes the prompt and uses the full Firecrawl toolkit to research the web: Search (/search): Finds relevant pages and sources across the web. Scrape (/scrape): Extracts clean, structured content from any URL. Interact (interactContext, interact, interactStop): Lets the agent interact with scraped pages in a live session. After scraping a page, the agent can click buttons, fill forms, navigate dynamic content, and extract data that static scraping cannot reach, all without managing sessions manually. This combination gives the AI agent complete web navigation capabilities. It can discover sources, read pages, and interact with dynamic content autonomously. 4. Format Response to Schema (Structured Output Parser) formats the agent's response to match the provided (or default) schema. 5. Return Structured Results sends the structured JSON back to the caller. Setup Requirements Firecrawl API Key: Sign up at firecrawl.dev and grab your API key. Connect it in the Firecrawl credential nodes. LLM Provider: Configure your Primary Chat Model and Fallback Chat Model nodes (e.g., OpenRouter, OpenAI, Anthropic). The template uses two model nodes for reliability, plus a separate Parser Chat Model for the output parser. n8n Instance: Self-hosted or cloud. Make sure the webhook node is set to accept POST requests. API Reference Endpoint ` POST https://your-n8n-instance/webhook/scrape-agent ` Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | prompt | string | Yes | Natural language instruction for the agent | | output_schema | object | No | JSON Schema defining the desired output structure | Response Returns a JSON object matching the provided schema, or a flexible object if no schema was given. --- Testing Examples 1. Basic Request (No Schema) The agent decides the output structure on its own. `bash curl -X POST "https://your-n8n-instance/webhook/scrape-agent" \ -H "Content-Type: application/json" \ -d '{ "prompt": "Find the latest pricing for Firecrawl" }' | jq ` Expected output: A JSON object with whatever structure the agent finds most appropriate for the data. Since no schema was provided, the internal default ({ "type": "object", "additionalProperties": true }) is used. 2. Request With a Custom Schema You define exactly the shape of data you want back. `bash curl -X POST "https://your-n8n-instance/webhook/scrape-agent" \ -H "Content-Type: application/json" \ -d '{ "prompt": "Find the latest pricing for Firecrawl", "output_schema": { "type": "object", "properties": { "source": { "type": "string" }, "plans": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "price": { "type": "string" }, "credits": { "type": "string" }, "highlights": { "type": "array", "items": { "type": "string" } } } } } } } }' | jq ` Expected output: `json { "output": { "source": "https://www.firecrawl.dev/pricing", "plans": [ { "name": "Free", "price": "$0 (one-time)", "credits": "500 credits (one-time)", "highlights": [ "Scrape up to 500 pages", "2 concurrent requests", "Low rate limits", "No credit card required" ] }, { "name": "Hobby", "price": "$16/month (billed yearly, save $38)", "credits": "3,000 credits / month", "highlights": [ "Scrape up to 3,000 pages", "5 concurrent requests", "Basic support", "$9 per extra 1k credits" ] } ] } } ` 3. Invalid Schema (String Instead of Object) `bash curl -X POST "https://your-n8n-instance/webhook/scrape-agent" \ -H "Content-Type: application/json" \ -d '{ "prompt": "Find the latest pricing for Firecrawl", "output_schema": "not a valid schema" }' | jq ` Expected output: `json { "error": true, "message": "Invalid output_schema: must be a JSON object with a valid 'type' property (object, array, string, number, boolean)", "example_schema": { "type": "object", "properties": { "name": { "type": "string" }, "price": { "type": "number" } } } } ` 4. Invalid Schema (Array Instead of Object) `bash curl -X POST "https://your-n8n-instance/webhook/scrape-agent" \ -H "Content-Type: application/json" \ -d '{ "prompt": "Find the latest pricing for Firecrawl", "output_schema": [1, 2, 3] }' | jq ` Expected output: Same error response as above. 5. Invalid Schema (Missing type Property) `bash curl -X POST "https://your-n8n-instance/webhook/scrape-agent" \ -H "Content-Type: application/json" \ -d '{ "prompt": "Find the latest pricing for Firecrawl", "output_schema": { "properties": { "name": { "type": "string" } } } }' | jq ` Expected output: Same error response as above. 6. Invalid Schema (Invalid type Value) `bash curl -X POST "https://your-n8n-instance/webhook/scrape-agent" \ -H "Content-Type: application/json" \ -d '{ "prompt": "Find the latest pricing for Firecrawl", "output_schema": { "type": "banana" } }' | jq ` Expected output: Same error response as above. --- Workflow Architecture ` Receive Scrape Request (POST) | v Validate Output Schema |--- Error --> Return Schema Error (error JSON) |--- Success --> Research & Extract Web Data (AI Agent) | |--- Primary Chat Model |--- Fallback Chat Model |--- Search & Scrape: | - /search with Firecrawl | - /scrape with Firecrawl |--- Interact Tool: | - Interact context with Firecrawl | - Execute interaction with Firecrawl | - Stop interaction with Firecrawl | v Return Structured Results | |--- Format Response to Schema (Output Parser) | |--- Parser Chat Model ` Schema Validation Logic The Validate Output Schema node runs this validation before passing data to the agent: If output_schema is missing or null, the default permissive schema is used: { "type": "object", "additionalProperties": true }. If output_schema is present, it must be a JSON object (not a string, array, or primitive). It must have a type property with a valid value: object, array, string, number, or boolean. If validation fails, the workflow returns an error response with a helpful message and example schema. Notes The Format Response to Schema node (Structured Output Parser) requires the schema to be passed as a JSON string. The expression {{ JSON.stringify($('Validate Output Schema').item.json.output_schema) }}` handles this conversion. The agent has access to Firecrawl's full toolkit: search, scrape, and interact. With all three connected, the agent has complete web navigation powers. It can discover sources via search, extract content via scrape, and interact with dynamic JavaScript-heavy pages via interact. The interact tools let the agent scrape a page first and then continue working with it in a live session, clicking buttons, filling forms, and navigating deeper, all without manual session management. The agent autonomously decides which tools to use based on the prompt. Response times vary depending on the complexity of the prompt and how many pages the agent needs to visit. Simple lookups take a few seconds; deep research can take longer.
Who it's for This workflow is for professionals and small business owners who receive a high volume of emails and want to automate triage, labeling, and draft reply generation — without losing the human touch before sending. How it works 1. A Gmail trigger polls the inbox every minute for new unread emails and retrieves the current date. 2. The full email message is fetched, and any existing processing labels are stripped from the thread. 3. A Gemini 2.5 Pro AI Agent reads the email (and the full thread via a Gmail Thread tool), checks Google Calendar for availability, then classifies the email into one of six categories (Urgent, Reply, Read, Notification, Newsletter, Invoice) and drafts an HTML reply when needed. 4. A Switch node routes the output: emails requiring a reply (Urgent or Reply) pass through a JavaScript node that appends an HTML signature before saving the message as a Gmail draft. 5. All paths converge to fetch the matching Gmail label, filter for validity, apply it to the thread, and mark the message as unread so it surfaces for human review. How to set up [ ] Connect a Gmail OAuth2 credential to all Gmail nodes (trigger, fetch, remove label, draft, label, mark unread) [ ] Connect a Google Gemini (PaLM) API credential to the Gemini Chat Model node [ ] Connect a Google Calendar OAuth2 credential to the Google Calendar Tool node [ ] Configure the Gmail Trigger label/filter to match your inbox setup [ ] Update the label IDs in Remove Label from Thread, Get label for response, and Labelliser to match your Gmail labels [ ] Customize the HTML signature in the Build HTML Signature code node Requirements Gmail account with OAuth2 access Google Gemini (PaLM) API key Google Calendar account How to customize Adjust the AI Agent's system prompt to change tone, add new label categories, or modify the reply structure. Extend the Switch node with additional branches (e.g., forward to a team member, archive automatically, create a CRM task). Replace the Gmail draft step with a direct send for fully automated responses on low-risk categories like Notifications.
This n8n template automates the collection, storage, and summarization of technology news and discussions from the n8n Community and Reddit (r/n8n). If you like staying informed but want to reduce daily manual browsing distractions, this workflow is perfect for you. How it works User Intent Detection: The workflow receives your Telegram message and uses an AI Agent (powered by Gemini/Groq) to intelligently classify your intent (Search, Deep-dive, or Casual Chat). Multi-Platform Scraping: Automatically fetches the latest discussions, topics, and comments from the official n8n Community and Reddit via HTTP Requests. Smart Summarization: Extracts complex HTML content and uses the AI to provide concise overviews, or deep-dives into specific forum threads with full contextual history. Seamless Delivery: Formats the AI's response into clean, chunked Telegram messages (handling limits smoothly) and delivers it straight to your chat. Daily Pulse: A scheduled trigger automatically aggregates the hottest topics every morning to keep you updated. How to use 1. Connect your Telegram Bot account to n8n. 2. Connect your Google Gemini and Groq API credentials. 3. (Optional) Connect your MongoDB instance if you want to enable long-term persistent chat memory. 4. Update the Chat ID in the Telegram nodes to route the scheduled Daily Pulse directly to your personal account or group. 5. Activate the workflow and start messaging your new AI assistant. Requirements n8n Version: Built and tested on n8n 2.9.4+. (Note: You may encounter errors on older versions. It is highly recommended to update to the latest n8n version to use this workflow effectively). Telegram Bot token. Google Gemini & Groq API keys. (Optional) MongoDB connection string. Customizing this workflow Change the AI Model: Swap the Gemini or Groq nodes for OpenAI, Claude, or any other supported LLM. Expand the Sources: Duplicate the HTTP Request nodes and adjust the HTML extractors to monitor other platforms like Discord or StackOverflow. Adjust the Schedule: Prefer chat over daily emails? Change the Cron expression to receive weekly summaries or disable it entirely to rely purely on on-demand Telegram queries. --- About the Author Created by: Nguyen Thieu Toan (Jay Nguyen) Email: me@nguyenthieutoan.com Website: nguyenthieutoan.com Company: CEO/Founder of GenStaff (genstaff.net) - AI Staffing Solutions Socials (Facebook / X / LinkedIn): @nguyenthieutoan More templates: n8n.io/creators/nguyenthieutoan
Run an AI-powered degree audit for each senior student. This template reads student rows from Google Sheets, evaluates completed courses against hard-coded program requirements, and writes back an AI Degree Summary of what's still missing (major core, Gen Eds, major electives, and upper-division credits). It's designed for quick advisor/registrar review and SIS prototypes. Trigger: Manual — When clicking "Execute workflow" Core nodes: Google Sheets, OpenAI Chat Model, (optional) Structured Output Parser Programs included: Computer Science BS, Business Administration BBA, Psychology BA, Mechanical Engineering BS, Biology BS (Pre-Med), English Literature BA, Data Science BS, Nursing BSN, Economics BA, Graphic Design BFA Who's it for Registrars & advisors who need fast, consistent degree checks Student success teams building prototype dashboards SIS/EdTech builders exploring AI-assisted auditing How it works 1. Read seniors from Google Sheets (Senior_data) with: StudentID, Name, Program, Year, CompletedCourses. 2. AI Agent compares CompletedCourses to built-in requirements (per program) and computes Missing items + a short Summary. 3. Write back to the same sheet using "Append or update" by StudentID (updates AI Degree Summary; you can also map the raw Missing array to a column if desired). Example JSON (for one student): { "StudentID": "S001", "Program": "Computer Science BS", "Missing": [ "GEN-REMAIN | General Education credits remaining | 6", "CS-EL-REM | CS Major Electives (200+ level) | 6", "UPPER-DIV | Additional Upper-Division (200+ level) credits needed | 18", "FREE-EL | Free Electives to reach 120 total credits | 54" ], "Summary": "All core CS courses are complete. Still need 6 Gen Ed credits, 6 CS electives, and 66 total credits overall, including 18 upper-division credits — prioritize 200/300-level CS electives." } Setup (2 steps) 1) Connect Google Sheets (OAuth2) In n8n → Credentials → New → Google Sheets (OAuth2) and sign in. In the Google Sheets nodes, select your spreadsheet and the Senior_data tab. Ensure your input sheet has at least: StudentID, Name, Program, Year, CompletedCourses. 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 model (e.g., gpt-4o or gpt-5). Requirements Sheet columns: StudentID, Name, Program, Year, CompletedCourses CompletedCourses format: pipe-separated IDs (e.g., GEN-101|GEN-103|CS-101). Program labels: should match the built-in list (e.g., Computer Science BS). Credits/levels: Template assumes upper-division ≥ 200-level (adjust the prompt if your policy differs). Customization Change requirements: Edit the Agent's system message to update totals, core lists, elective credit rules, or level thresholds. Store more output: Map Missing to a new column (e.g., AI Missing List) or write rows to a separate sheet for dashboards. Distribute results: Email summaries to advisors/students (Gmail/Outlook), or generate PDFs for advising folders. Add guardrails: Extend the prompt to enforce residency, capstone, minor/cognate constraints, or per-college Gen Ed variations. Best practices (per n8n guidelines) Sticky notes are mandatory: Include a yellow sticky note that contains this description and quick setup steps; add neutral sticky notes for per-step tips. Rename nodes clearly: e.g., "Get Seniors," "Degree Audit Agent," "Update Summary." No hardcoded secrets: Use credentials—not inline keys in HTTP or Code nodes. Sanitize identifiers: Don't ship personal spreadsheet IDs or private links in the published version. Use a Set node for config: Centralize user-tunable values (e.g., column names, tab names). Troubleshooting OpenAI 401/429: Verify API key/billing; slow concurrency if rate-limited. Empty summaries: Check column names and that CompletedCourses uses |. Program mismatch: Align Program labels to those in the prompt (exact naming recommended). Sheets auth errors: Reconnect Google Sheets OAuth2 and re-select spreadsheet/tab. Limitations Not an official audit: It infers gaps from the listed completions; registrar rules can be more nuanced. Catalog drift: Requirements are hard-coded in the prompt—update them each term/year. Upper-division heuristic: Adjust the level threshold if your institution defines it differently. Tags & category Category: Education / Student Information Systems Tags: degree-audit, registrar, google-sheets, openai, electives, upper-division, graduation-readiness Changelog v1.0.0 — Initial release: Senior_data in/out, 10 programs, AI Degree Summary output, append/update by StudentID. Contact Need help tailoring this to your catalog (e.g., per-college Gen Eds, capstones, minors, PDFs/email)? rbreen@ynteractive.com robert@ynteractive.com Robert Breen — https://www.linkedin.com/in/robert-breen-29429625/ ynteractive.com — https://ynteractive.com