This workflow allows users to generate AI videos using Google Veo3, save them to Google Drive, generate optimized YouTube titles with GPT-4o, and automatically upload them to YouTube with Upload-Post. The entire process is triggered from a Google Sheet that acts as the central interface for input and output. IT automates video creation, uploading, and tracking, ensuring seamless integration between Google Sheets, Google Drive, Google Veo3, and YouTube. --- Benefits of this Workflow No Code Interface: Trigger and control the video production pipeline from a simple Google Sheet. Full Automation: Once set up, the entire video generation and publishing process runs hands-free. AI-Powered Creativity: Generates engaging YouTube titles using GPT-4o. Leverages advanced generative video AI from Google Veo3. Cloud Storage & Backup: Stores all generated videos on Google Drive for safekeeping. YouTube Ready: Automatically uploads to YouTube with correct metadata, saving time and boosting visibility. Scalable: Designed to process multiple video prompts by looping through new entries in Google Sheets. API-First: Utilizes secure API-based communication for all services. --- How It Works 1. Trigger: The workflow can be started manually ("When clicking ‘Test workflow’") or scheduled ("Schedule Trigger") to run at regular intervals (e.g., every 5 minutes). 2. Fetch Data: The "Get new video" node retrieves unfilled video requests from a Google Sheet (rows where the "VIDEO" column is empty). 3. Video Creation: The "Set data" node formats the prompt and duration from the Google Sheet. The "Create Video" node sends a request to the Fal.run API (Google Veo3) to generate a video based on the prompt. 4. Status Check: The "Wait 60 sec." node pauses execution for 60 seconds. The "Get status" node checks the video generation status. If the status is "COMPLETED," the workflow proceeds; otherwise, it waits again. 5. Video Processing: The "Get Url Video" node fetches the video URL. The "Generate title" node uses OpenAI (GPT-4.1) to create an SEO-optimized YouTube title. The "Get File Video" node downloads the video file. 6. Upload & Update: The "Upload Video" node saves the video to Google Drive. The "HTTP Request" node uploads the video to YouTube via the Upload-Post API. The "Update Youtube URL" and "Update result" nodes update the Google Sheet with the video URL and YouTube link. --- Set Up Steps 1. Google Sheet Setup: Create a Google Sheet with columns: PROMPT, DURATION, VIDEO, and YOUTUBE_URL. Share the Sheet link in the "Get new video" node. 2. API Keys: Obtain a Fal.run API key (for Veo3) and set it in the "Create Video" node (Header: Authorization: Key YOURAPIKEY). Get an Upload-Post API key (for YouTube uploads) and configure the "HTTP Request" node (Header: Authorization: Apikey YOUR_API_KEY). 3. YouTube Upload Configuration: Replace YOUR_USERNAME in the "HTTP Request" node with your Upload-Post profile name. 4. Schedule Trigger: Configure the "Schedule Trigger" node to run periodically (e.g., every 5 minutes). --- Subscribe to my new YouTube channel. Here I’ll share videos and Shorts with practical tutorials and FREE templates for n8n. --- Need help customizing? Contact me for consulting and support or add me on Linkedin.
Who is this for? This template is designed for internal support teams, product specialists, and knowledge managers in technology companies who want to automate ingestion of product documentation and enable AI-driven, retrieval-augmented question answering via WhatsApp. What problem is this workflow solving? Support agents often spend too much time manually searching through lengthy documentation, leading to inconsistent or delayed answers. This solution automates importing, chunking, and indexing product manuals, then uses retrieval-augmented generation (RAG) to answer user queries accurately and quickly with AI via WhatsApp messaging. What these workflows do Workflow 1: Document Ingestion & Indexing Manually triggered to import product documentation from Google Docs. Automatically splits large documents into chunks for efficient searching. Generates vector embeddings for each chunk using OpenAI embeddings. Inserts the embedded chunks and metadata into a MongoDB Atlas vector store, enabling fast semantic search. Workflow 2: AI-Powered Query & Response via WhatsApp Listens for incoming WhatsApp user messages, supporting various types: Text messages: Plain text queries from users. Audio messages: Voice notes transcribed into text for processing. Image messages: Photos or screenshots analyzed to provide contextual answers. Document messages: PDFs, spreadsheets, or other files parsed for relevant content. Converts incoming queries to vector embeddings and performs similarity search on the MongoDB vector store. Uses OpenAI’s GPT-4o-mini model with retrieval-augmented generation to produce concise, context-aware answers. Maintains conversation context across multiple turns using a memory buffer node. Routes different message types to appropriate processing nodes to maximize answer quality. Setup Setting up vector embeddings 1. Authenticate Google Docs and connect your Google Docs URL containing the product documentation you want to index. 2. Authenticate MongoDB Atlas and connect the collection where you want to store the vector embeddings. Create a search index on this collection to support vector similarity queries. 3. Ensure the index name matches the one configured in n8n (data_index). 4. See the example MongoDB search index template below for reference. Setting up chat 1. Authenticate the WhatsApp node with your Meta account credentials to enable message receiving and sending. 2. Connect the MongoDB collection containing embedded product documentation to the MongoDB Vector Search node used for similarity queries. 3. Set up the system prompt in the Knowledge Base Agent node to reflect your company’s tone, answering style, and any business rules, ensuring it references the connected MongoDB collection for context retrieval. Make sure Both MongoDB nodes (in ingestion and chat workflows) are connected to the same collection with: An embedding field storing vector data, Relevant metadata fields (e.g., document ID, source), and The same vector index name configured (e.g., data_index). Search Index Example: { "mappings": { "dynamic": false, "fields": { "_id": { "type": "string" }, "text": { "type": "string" }, "embedding": { "type": "knnVector", "dimensions": 1536, "similarity": "cosine" }, "source": { "type": "string" }, "doc_id": { "type": "string" } } } }
How it works This workflow is an interactive, hands-on tutorial designed to teach you the absolute basics of JSON (JavaScript Object Notation) and, more importantly, how to use it within n8n. It's perfect for beginners who are new to automation and data structures. The tutorial is structured as a series of simple steps. Each node introduces a new, fundamental concept of JSON: 1. Key/Value Pairs: The basic building block of all JSON. 2. Data Types: It then walks you through the most common data types one by one: String (text) Number (integers and decimals) Boolean (true or false) Null (representing "nothing") Array (an ordered list of items) Object (a collection of key/value pairs) 3. Using JSON with Expressions: The most important step! It shows you how to dynamically pull data from a previous node into a new one using n8n's expressions ({{ }}). 4. Final Exam: A final node puts everything together, building a complete JSON object by referencing data from all the previous steps. Each node has a detailed sticky note explaining the concept in simple terms. Set up steps Setup time: 0 minutes! This is a tutorial workflow, so there is no setup required. 1. Simply click the "Execute Workflow" button to run it. 2. Follow the instructions in the main sticky note: click on each node in order, from top to bottom. 3. For each node, observe the output in the right-hand panel and read the sticky note next to it to understand what you're seeing. By the end, you'll have a solid understanding of what JSON is and how to work with it in your own n8n workflows.
How it works This template is an interactive, step-by-step tutorial designed to teach you the most important skill in n8n: using expressions to access and manipulate data. If you know what JSON is but aren't sure how to pull a specific piece of information from one node and use it in another, this workflow is for you. It starts with a single "Source Data" node that acts as our filing cabinet, and then walks you through a series of lessons, each demonstrating a new technique for retrieving and transforming that data. You will learn how to: 1. Access a simple value from a previous node. 2. Use n8n's built-in selectors like .last() and .first(). 3. Get a specific item from a list (Array). 4. Drill down into nested data (Objects). 5. Combine these techniques to access data in an array of objects. 6. Go beyond simple retrieval by using JavaScript functions to do math or change text. 7. Inspect data with utility functions like Object.keys() and JSON.stringify(). 8. Summarize data from multiple items using .all() and arrow functions. Set up steps Setup time: 0 minutes! This workflow is a self-contained tutorial and requires no setup or external credentials. 1. Click "Execute Workflow" to run the entire tutorial. 2. Follow the flow from the "Source Data" node to the "Final Exam" node. 3. For each lesson, click on the node to see how its expressions are configured in the parameters panel. 4. Read the detailed sticky note next to each lesson—it breaks down exactly how the expression works and why. By the end, you'll have the foundational knowledge to connect data and build powerful, dynamic workflows in n8n.
Description This workflow automates the process of scraping the latest discussions from HackerNews, transforming raw threads into human readable content using Google Gemini, and exporting the final content into a well-formatted Google Doc. Overview This n8n workflow is responsible for extracting trending posts from the HackerNews API. It loops through each item, performs HTTP data extraction, utilizes Google Gemini to generate human-readable insights, and then exports the enriched content into Google Docs for distribution, archiving, or content creation. Who this workflow is for Tech Newsletter Writers: Automate the collection and summarization of trending HackerNews posts for inclusion in weekly or daily newsletters. Content Creators & Bloggers: Quickly generate structured summaries and insights from HackerNews threads to use as inspiration or supporting content for blog posts, videos, or social media. Startup Founders & Product Builders: Monitor HackerNews for discussions relevant to your niche or competitors, and keep a pulse on the community’s opinions. Investors & Analysts: Surface early signals from the tech ecosystem by identifying what’s trending and how the community is reacting. Researchers & Students: Analyze popular discussions and emerging trends in technology, programming, and startups—enriched with AI-generated insights. Digital Agencies & Consultants: Offer HackerNews monitoring and insight reports as a value-added service to clients interested in the tech space. Tools Used n8n: The core automation engine that manages the trigger, transformation, and export. HackerNews API: Provides access to trending or new HN posts. Google Gemini: Enriches HackerNews content with structured insights and human-like summaries. Google Docs: Automatically creates and updates a document with the enriched content, ready for sharing or publishing. How to Install Import the Workflow: Download the .json file and import it into your n8n instance. Set Up HackerNews Source: Choose whether to use the HN API (via HTTP Request node) or RSS Feed node. Configure Gemini API: Add your Google Gemini API key and design the prompt to extract pros/cons, key themes, or insights. Set Up Google Docs Integration: Connect your Google account and configure the Google Docs node to create/update a document. Test and Deploy: Run a test job to ensure data flows correctly and outputs are formatted as expected. Use Cases Tech Newsletter Authors: Generate ready-to-use summaries of trending HackerNews threads. Startup Founders: Stay informed on key discussions, product launches, and community feedback. Investors & Analysts: Spot early trends, technical insights, and startup momentum directly from HN. Researchers: Track community reactions to new technologies or frameworks. Content Creators: Use the enriched data to spark blog posts, YouTube scripts, or LinkedIn updates. Connect with Me Email: ranjancse@gmail.com LinkedIn: https://www.linkedin.com/in/ranjan-dailata/ Get Bright Data: Bright Data (Supports free workflows with a small commission) #n8n #automation #hackernews #contentcuration #aiwriting #geminiapi #googlegemini #techtrends #newsletterautomation #googleworkspace #rssautomation #nocode #structureddata #webscraping #contentautomation #hninsights #aiworkflow #googleintegration #webmonitoring #hnnews #aiassistant #gdocs #automationtools #gptlike #geminiwriter
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/>
Working with Large Documents In Your VLM OCR Workflow Document workflows are popular ways to use AI but what happens when your document is too large for your app or your AI to handle? Whether its context window or application memory that's grinding to a halt, Subworkflow.ai is one approach to keep you going. > Subworkflow.ai is a third party API service to help AI developers work with documents too large for context windows and runtime memory. Prequisites 1. You'll need a Subworkflow.ai API key to use the Subworkflow.ai service. 2. Add the API key as a header auth credential. More details in the official docs https://docs.subworkflow.ai/category/api-reference How it Works 1. Import your document into your n8n workflow 2. Upload it to the Subworkflow.ai service via the Extract API using the HTTP node. This endpoint takes files up to 100mb. 3. Once uploaded, this will trigger an Extract job on the service's side and the response is a "job" record to track progress. 4. Poll Subworkflow.ai's Jobs endpoint and keep polling until the job is finished. You can use the "IF" node looping back unto itself to achieve this in n8n. 5. Once the job is done, the Dataset of the uploaded document is ready for retrieval. Use the Datasets and DatasetItems API to retrieve whatever you need to complete your AI task. 6. In this example, all pages are retrieved and run through a multimodal LLM to parse into markdown. A well-known process when parsing data tables or graphics are required. How to use Integrate Subworkflow's Extract API seemlessly into your existing document workflows to support larger documents from 100mb+ to up to 5000 pages. Customising the workflow Sometimes you don't want the entire document back especially if the document is quite large (think 500+ pages!), instead, use query parameters on the DatasetItems API to pick individual pages or a range of pages to reduce the load. Need Help? Official API documentation: https://docs.subworkflow.ai/category/api-reference Join the discord: https://discord.gg/RCHeCPJnYw
This workflow automates the creation of AI-generated virtual try-on images for fashion eCommerce stores. Instead of relying on expensive and time-consuming photoshoots, the system uses AI to generate realistic images of models wearing selected clothing items. This n8n workflow automates the process of generating AI-powered virtual try-on images for a WooCommerce store. It fetches product data from a Google Sheet, uses the Fal.ai Nano Banana model to create an image of a model wearing the clothing item, and then updates both the Google Sheet and the WooCommerce product with the final generated image. --- Advantages Cost Reduction: Eliminates the need for professional photo shoots, saving on models, photographers, and studio expenses. Time Efficiency: Automates the entire workflow—from data input to product update—minimizing manual work. Scalability: Works seamlessly across large product catalogs, making it easy to update hundreds of products quickly. Enhanced eCommerce Experience: Provides shoppers with realistic previews of clothing on models, boosting trust and conversion rates. Marketing Flexibility: The generated images can also be repurposed for ads, social media, and promotional campaigns. Centralized Management: Google Sheets acts as the control center, making it easy to manage inputs and track results. --- How It Works The workflow operates in a sequential, loop-based manner to process multiple products from a spreadsheet. Here is the logical flow: 1. Manual Trigger & Data Fetch: The workflow starts manually (e.g., by clicking "Test workflow"). It first reads data from a specified Google Sheet, looking for rows where the "IMAGE RESULT" column is empty. 2. Loop Processing: It loops over each row of data fetched from the sheet. Each row should contain URLs for a model image and a product image, along with a WooCommerce product ID. 3. API Request to Generate Image: For each item in the loop, the workflow sends a POST request to the Fal.ai Nano Banana API. The request includes the two image URLs and a prompt instructing the AI to create a photo of the model wearing the submitted clothing item. 4. Polling for Completion: The AI processing is asynchronous. The workflow enters a polling loop: it waits for 60 seconds and then checks the status of the processing request. If the status is not COMPLETED, it waits and checks again. This loop continues until the image is ready. 5. Fetching and Storing the Result: Once the status is COMPLETED, the workflow retrieves the URL of the generated image, downloads the image file, and uploads it to a designated folder in Google Drive. 6. Updating Systems: The workflow then performs two crucial update steps: It updates the original Google Sheet row, writing the URL of the final generated image into the "IMAGE RESULT" column. It updates the corresponding product in WooCommerce, adding the generated image to the product's gallery. 7. Loop Continuation: After processing one item, the workflow loops back to process the next row in the Google Sheet until all items are complete. --- Set Up Steps To make this workflow functional, you need to configure three main connections: Step 1: Prepare the Google Sheet Create a Google Sheet with the following columns: IMAGE MODEL, IMAGE PRODUCT, PRODUCT ID, and IMAGE RESULT. Populate the first three columns for each product. The IMAGE RESULT column must be left blank; the workflow will fill it automatically. In the n8n workflow, configure the "Google Sheets" node to point to your specific Google Sheet and worksheet. Step 2: Configure the Fal.ai API Key Create an account at fal.ai and obtain your API key. In the n8n workflow, locate the three "HTTP Request" nodes named "Get Url image", "Get status", and "Create Image". Edit the credentials for these nodes (named "Fal.run API") and update the Value field in the Header Auth to be Key YOURAPIKEY (replacing YOURAPIKEY with your actual key). Step 3: Set Up WooCommerce API Ensure you have the API keys (Consumer Key and Consumer Secret) for your WooCommerce store's REST API. In the n8n workflow, locate the "WooCommerce" node. Edit its credentials and provide the required information: your store's URL and the API keys. This allows the workflow to authenticate and update your products. --- Need help customizing? Contact me for consulting and support or add me on Linkedin.
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
This workflow automates the entire process of creating, managing, and publishing AI-generated videos using OpenAI Sora2 Pro, Google Sheets, Google Drive, and YouTube. --- Advantages Fully Automated Video Pipeline From idea to YouTube publication with zero manual intervention after setup. Centralized Control via Google Sheets Simple spreadsheet interface — no need to use APIs or dashboards directly. AI-Powered Video Creation Uses OpenAI Sora2 Pro for generating professional-quality videos from text prompts. SEO-Optimized Titles with GPT-5 Automatically creates catchy, keyword-rich titles optimized for YouTube engagement. Cloud Integration Seamless use of Google Drive for file management and YouTube for publishing. Scalable and Repeatable Can handle multiple videos in sequence, triggered manually or at regular intervals. Error-Resilient and Transparent Uses conditional checks (“Completed?” node) and real-time updates in Google Sheets to ensure reliability and visibility. --- How it Works This workflow automates the entire process of generating AI videos and publishing them to YouTube, using a Google Sheet as the central control panel. 1. Trigger & Data Fetch: The workflow is triggered either manually or on a schedule. It starts by reading a specific Google Sheet to find new video requests. A new request is identified as a row where the "PROMPT" and "DURATION" columns are filled, but the "VIDEO" column is empty. 2. AI Video Generation: For each new request, it takes the prompt and duration, then sends a request to the Fal.ai Sora-2 Pro model via its API to generate the video. The system then enters a polling loop, checking the video generation status every 60 seconds until it is COMPLETED. 3. Post-Processing & Upload: Once the video is ready, the workflow performs three parallel actions: Fetch Video & Upload to Drive: It retrieves the generated video file and uploads it to a specified folder in Google Drive for archiving. Generate YouTube Title: It sends the original prompt to OpenAI's GPT-5 (or another specified model) to generate an optimized, SEO-friendly title for the YouTube video. Publish to YouTube: It takes the generated video file and the AI-created title and uses the Upload-Post.com service to automatically publish the video to a connected YouTube channel. 4. Update & Log: Finally, the workflow updates the original Google Sheet row with the URL of the archived video in Google Drive and the newly created YouTube video URL, providing a complete audit trail. --- Set up Steps To configure this workflow, follow these steps: 1. Prepare the Google Sheet: Create a Google Sheet with at least these columns: PROMPT, DURATION, VIDEO, and YOUTUBE_URL. In the n8n "Get new video" and update nodes, configure the documentId and sheetName to point to your specific Google Sheet. 2. Configure Fal.ai API Key: Create an account on fal.ai and obtain your API key. In both the "Create Video" and "Get status" HTTP Request nodes, set up the HTTP Header Authentication. Set the Name to Authorization and the Value to Key YOUR_API_KEY. 3. Set up Upload-Post.com for YouTube: Create an account on Upload-Post.com and get your API key. Connect your YouTube channel as a "profile". In the "HTTP Request" node (for uploading), configure the Header Auth with Name: Authorization and Value: Apikey YOUR_UPLOAD_POST_API_KEY. Replace YOUR_USERNAME in the node's body parameters with the profile name you created on Upload-Post.com (e.g., test1). 4. Configure OpenAI (Optional but Recommended): The "Generate title" node uses an OpenAI model. Ensure you have valid OpenAI API credentials set up in n8n for this node to function and create optimized titles. 5. Finalize Paths and Activate: In the "Upload Video" node, specify the correct Google Drive folder ID where you want the videos to be saved. Once all credentials and paths are set, you can activate the workflow and set the "Schedule Trigger" node to run at your desired interval (e.g., every 5 minutes). --- Need help customizing? Contact me for consulting and support or add me on Linkedin.
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.
Scrape physician profiles from BrowserAct to Google Sheets This workflow automates the process of building a targeted database of healthcare providers by scraping physician details for a specific location and syncing them to your records. It leverages BrowserAct to extract data from healthcare directories and ensures your database stays clean by preventing duplicate entries. Target Audience Medical recruiters, pharmaceutical sales representatives, lead generation specialists, and healthcare data analysts. How it works 1. Define Location: The workflow starts by setting the target Location and State in a Set node. 2. Scrape Data: A BrowserAct node executes a task (using the "Physician Profile Enricher" template) to search a healthcare directory (e.g., Healow) for doctors matching the criteria. 3. Parse JSON: A Code node takes the raw string output from the scraper and parses it into individual JSON objects. 4. Update Database: The workflow uses a Google Sheets node to append new records or update existing ones based on the physician's name, preventing duplicates. 5. Notify Team: A Slack node sends a message to a specific channel to confirm the batch job has finished successfully. How to set up 1. Configure Credentials: Connect your BrowserAct, Google Sheets, and Slack accounts in n8n. 2. Prepare BrowserAct: Ensure the Physician Profile Enricher template is saved in your BrowserAct account. 3. Setup Google Sheet: Create a new Google Sheet with the required headers (listed below). 4. Select Spreadsheet: Open the Google Sheets node and select your newly created file and sheet. 5. Set Variables: Open the Define Location node and input your target Location (City) and State. 6. Configure Notification: Open the Slack node and select the channel where you want to receive alerts. Google Sheet Headers To use this workflow, create a Google Sheet with the following headers: Name Specialty Address Requirements BrowserAct account with the Physician Profile Enricher template. Google Sheets account. Slack account. How to customize the workflow 1. Change the Data Source: Modify the BrowserAct template to scrape a different directory (e.g., Zocdoc or WebMD) and update the Google Sheet columns accordingly. 2. Switch Notifications: Replace the Slack node with a Microsoft Teams, Discord, or Email node to suit your team's communication preferences. 3. Enrich Data: Add an AI Agent node after the Code node to format addresses or research the specific clinics listed. Need Help? How to Find Your BrowserAct API Key & Workflow ID How to Connect n8n to BrowserAct How to Use & Customize BrowserAct Templates --- Workflow Guidance and Showcase Video #### Automate Medical Lead Gen: Scrape Healow to Google Sheets & Slack
Automate Your ETF Comparison: Real-Time Data & Analysis Automate ETF research in Excel with one click. This n8n workflow pulls live data from justetf.com using ISIN codes from your Excel table, extracts key metrics (dividends, fees, 5-year performance), and updates your “Div study” sheet instantly — all triggered by a button in Excel. Perfect for dividend investors, ETF screeners, or portfolio trackers who want fresh, accurate data without manual copy-paste. --- How it works 1. Trigger: Click “Update Table” in Excel → calls n8n via webhook 2. Excel: Logs current time (GMT-2) and reads all rows from “DivComp” table 3. HTTP Request: Fetches ETF profile page from justetf.com using ISIN 4. HTML Extraction: Parses page with CSS selectors to grab dividends, fees, 5Y performance 5. Code Node: Cleans & structures data (e.g., last 5 years of dividends, yield, growth) 6. Update Excel: Writes clean values back to your table (fees, yield, performance, name) --- Setup steps 1. In Excel: Add a button → assign macro that calls your n8n webhook URL (path: /ETF) Ensure table “DivComp” has: ISIN, Dernière mise à jour, Frais, Performance depuis 5 ans, etc. 2. In n8n: Connect Microsoft Excel (OneDrive) credential Update workbook/worksheet/table references if needed Test with 1–2 ISINs first 3. Click “Update Table” → watch data refresh in real time! --- Tags: ETF, Excel, Web Scraping, Investing, Finance, Automation, justetf, Dividend Tracking
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