by Mohamed Abdelwahab
1. Overview The IngestionDocs workflow is a fully automated **document ingestion and knowledge management system* built with *n8n**. Its purpose is to continuously ingest organizational documents from Google Drive, transform them into vector embeddings using OpenAI, store them in Pinecone, and make them searchable and retrievable through an AI-powered Q&A interface. This ensures that employees always have access to the most up-to-date knowledge base without requiring manual intervention. 2. Key Objectives Automated Ingestion** → Seamlessly process new and updated documents from Google Drive.\ Change Detection** → Track and differentiate between new, updated, and previously processed documents.\ Knowledge Base Construction** → Convert documents into embeddings for semantic search.\ AI-Powered Assistance** → Provide an intelligent Q&A system for employees to query manuals.\ Scalable & Maintainable** → Modular design using n8n, LangChain, and Pinecone. 3. Workflow Breakdown A. Document Monitoring and Retrieval The workflow begins with two Google Drive triggers: File Created Trigger → Fires when a new document is uploaded.\ File Updated Trigger → Fires when an existing document is modified.\ A search operation lists the files in the designated Google Drive folder.\ Non-downloadable items (e.g., subfolders) are filtered out.\ For valid files: The file is downloaded.\ A SHA256 hash is generated to uniquely identify the file's content. B. Record Management (Google Sheets Integration) To keep track of ingestion states, the workflow uses a **Google Sheets--based Record Manager**:\ Each file entry contains:\ Id** (Google Drive file ID)\ Name** (file name)\ hashId** (SHA256 checksum)\ The workflow compares the current file's hash with the stored one:\ New Document** → File not found in records → Inserted into the Record Manager.\ Already Processed** → File exists and hash matches → Skipped.\ Updated Document** → File exists but hash differs → Record is updated. This guarantees that only new or modified content is processed, avoiding duplication. C. Document Processing and Vectorization Once a document is marked as new or updated:\ Default Data Loader extracts its content (binary files supported).\ Pages are split into individual chunks.\ Metadata such as file ID and name are attached.\ Recursive Character Text Splitter divides the content into manageable segments with overlap.\ OpenAI Embeddings (text-embedding-3-large) transform each text chunk into a semantic vector.\ Pinecone Vector Store stores these vectors in the configured index:\ For new documents, embeddings are inserted into a namespace based on the file name.\ For updated documents, the namespace is cleared first, then re-ingested with fresh embeddings. This process builds a scalable and queryable knowledge base. D. Knowledge Base Q&A Interface The workflow also provides an **interactive form-based user interface**:\ Form Trigger** → Collects employee questions.\ LangChain AI Agent**:\ Receives the question.\ Retrieves relevant context from Pinecone using vector similarity search.\ Processes the response using OpenAI Chat Model (gpt-4.1-mini).\ Answer Formatting**:\ Responses are returned in HTML format for readability.\ A custom CSS theme ensures a modern, user-friendly design.\ Answers may include references to page numbers when available. This creates a self-service knowledge base assistant that employees can query in natural language. 4. Technologies Used n8n** → Orchestration of the entire workflow.\ Google Drive API** → File monitoring, listing, and downloading.\ Google Sheets API** → Record manager for tracking file states.\ OpenAI API**: text-embedding-3-large for semantic vector creation.\ gpt-4.1-mini for conversational Q&A.\ Pinecone** → Vector database for embedding storage and retrieval.\ LangChain** → Document loaders, text splitters, vector store connectors, and agent logic.\ Crypto (SHA256)** → File hash generation for change detection.\ Form Trigger + Form Node** → Employee-facing Q&A submission and answer display.\ Custom CSS** → Provides a modern, responsive, styled UI for the knowledge base. 5. End-to-End Data Flow Employee uploads or updates a document → Google Drive detects the change.\ Workflow downloads and hashes the file → Ensures uniqueness and detects modifications.\ Record Manager (Google Sheets) → Decides whether to skip, insert, or update the record.\ Document Processing → Splitting + Embedding + Storing into Pinecone.\ Knowledge Base Updated → The latest version of documents is indexed.\ Employee asks a question via the web form.\ AI Agent retrieves embeddings from Pinecone + uses GPT-4.1-mini → Generates a contextual answer.\ Answer displayed in styled HTML → Delivered back to the employee through the form interface. 6. Benefits Always Up-to-Date** → Automatically syncs documents when uploaded or changed.\ No Duplicates** → Smart hashing ensures only relevant updates are reprocessed.\ Searchable Knowledge Base** → Employees can query documents semantically, not just by keywords.\ Enhanced Productivity** → Answers are immediate, reducing time spent browsing manuals.\ Scalable** → New documents and users can be added without workflow redesign. ✅ In summary, IngestionDocs is a **robust AI-driven document ingestion and retrieval system* that integrates *Google Drive, Google Sheets, OpenAI, and Pinecone* within *n8n**. It continuously builds and maintains a knowledge base of manuals while offering employees an intelligent, user-friendly Q&A assistant for fast and accurate knowledge retrieval.
by Rahul Joshi
Description: Keep your customer knowledge base up to date with this n8n automation template. The workflow connects Zendesk with Google Sheets, automatically fetching tickets tagged as “howto,” enriching them with requester details, and saving them into a structured spreadsheet. This ensures your internal or public knowledge base reflects the latest customer how-to queries—without manual copy-pasting. Perfect for customer support teams, SaaS companies, and service providers who want to streamline documentation workflows. What This Template Does (Step-by-Step) ⚡ Manual Trigger or Scheduling Run the workflow manually for testing/troubleshooting, or configure a schedule trigger for daily/weekly updates. 📥 Fetch All Zendesk Tickets Connects to your Zendesk account and retrieves all available tickets. 🔍 Filter for "howto" Tickets Only Processes only tickets that contain the “howto” tag, ensuring relevance. 👤 Enrich User Data Fetches requester details (name, email, profile info) to provide context. 📊 Update Google Sheets Knowledge Base Saves ticket data—including Ticket No., Description, Status, Tag, Owner Name, and Email. ✔️ Smart update prevents duplicates by matching on description. 🔁 Continuous Sync Each new or updated “howto” ticket is synced automatically into your knowledge base sheet. Key Features 🔍 Tag-based filtering for precise categorization 📊 Smart append-or-update logic in Google Sheets ⚡ Zendesk + Google Sheets integration with OAuth2 ♻️ Keeps knowledge base fresh without manual effort 🔐 Secure API credential handling Use Cases 📖 Maintain a live “how-to” guide from real customer queries 🎓 Build self-service documentation for support teams 📩 Monitor and track recurring help topics 💼 Equip knowledge managers with a ready-to-export dataset Required Integrations Zendesk API (for ticket fetch + user info) Google Sheets (for storing/updating records) Why Use This Template? ✅ Automates repetitive data entry ✅ Ensures knowledge base accuracy & freshness ✅ Reduces support team workload ✅ Easy to extend with more tags, filters, or sheet logic
by DIGITAL BIZ TECH
SharePoint → Supabase → Google Drive Sync Workflow Overview This workflow is a multi-system document synchronization pipeline built in n8n, designed to automatically sync and back up files between Microsoft SharePoint, Supabase/Postgres, and Google Drive. It runs on a scheduled trigger, compares SharePoint file metadata against your Supabase table, downloads new or updated files, uploads them to Google Drive, and marks records as completed — keeping your databases and storage systems perfectly in sync. Workflow Structure Data Source:** SharePoint REST API for recursive folder and file discovery. Processing Layer:** n8n logic for filtering, comparison, and metadata normalization. Destination Systems:** Supabase/Postgres for metadata, Google Drive for file backup. SharePoint Sync Flow (Frontend Flow) Trigger:** Schedule Trigger Runs at fixed intervals (customizable) to start synchronization. Fetch Files:** Microsoft SharePoint HTTP Request Recursively retrieves folders and files using SharePoint’s REST API: /GetFolderByServerRelativeUrl(...)?$expand=Files,Folders,Folders/Files,Folders/Folders/Folders/Files Filter Files:** filter files A Code node that flattens nested folders and filters unwanted file types: Excludes system or temporary files (~$) Excludes extensions: .db, .msg, .xlsx, .xlsm, .pptx Normalize Metadata:** normalize last modified date Ensures consistent Last_modified_date format for accurate comparison. Fetch Existing Records:** Supabase (Get) Retrieves current entries from n8n_metadata to compare against SharePoint files. Compare Datasets:** Compare Datasets Detects new or modified files based on UniqueId, Last_modified_date, and Exists. Routes only changed entries forward for processing. File Processing Engine (Backend Flow) Loop:** Loop Over Items2 Iterates through each new or updated file detected. Build Metadata:** get metadata and Set metadata Constructs final metadata fields: file_id, file_title, file_url, file_type, foldername, last_modified_date Generates fileUrl using UniqueId and ServerRelativeUrl if missing. Upsert Metadata:** Insert Document Metadata Inserts or updates file records in Supabase/Postgres (n8n_metadata table). Operation: upsert with id as the primary matching key. Download File:** Microsoft SharePoint HTTP Request1 Fetches the binary file directly from SharePoint using its ServerRelativeUrl. Rename File:** rename files Renames each downloaded binary file to its original file_title before upload. Upload File:** Upload file Uploads the renamed file to Google Drive (My Drive → root folder). Mark Complete:** Postgres Updates the Supabase/Postgres record setting Loading Done = true. Optional Cleanup:** Supabase1 Deletes obsolete or invalid metadata entries when required. Integrations Used | Service | Purpose | Credential | |----------|----------|-------------| | Microsoft SharePoint | File retrieval and download | microsoftSharePointOAuth2Api | | Supabase / Postgres | Metadata storage and synchronization | Supabase account 6 ayan | | Google Drive | File backup and redundancy | Google Drive account 6 rn dbt | | n8n Core | Flow control, dataset comparison, batch looping | Native | System Prompt Summary > “You are a SharePoint document synchronization workflow. Fetch all files, compare them to database entries, and only process new or modified files. Download files, rename correctly, upload to Google Drive, and mark as completed in Supabase.” Workflow rule summary: > “Maintain data integrity, prevent duplicates, handle retries gracefully, and continue on errors. Skip excluded file types and ensure reliable backups between all connected systems.” Key Features Scheduled automatic sync across SharePoint, Supabase, and Google Drive Intelligent comparison to detect only new or modified files Idempotent upsert for consistent metadata updates Configurable file exclusion filters Safe rename + upload pipeline for clean backups Error-tolerant and fully automated operation Summary > A reliable, SharePoint-to-Google Drive synchronization workflow built with n8n, integrating Supabase/Postgres for metadata management. It automates file fetching, filtering, downloading, uploading, and marking as completed — ensuring your data stays mirrored across platforms. Perfect for enterprises managing document automation, backup systems, or cross-cloud data synchronization. Need Help or More Workflows? Want to customize this workflow for your organization? Our team at Digital Biz Tech can extend it for enterprise-scale document automation, RAGs and social media automation. We can help you set it up for free — from connecting credentials to deploying it live. Contact: rajeet.nair@digitalbiz.tech Website: https://www.digitalbiz.tech LinkedIn: https://www.linkedin.com/company/digital-biz-tech/ You can also DM us on LinkedIn for any help.
by Davide
🤖🎵 This workflow automates the creation, storage, and cataloging of AI-generated music using the Eleven Music API, Google Sheets, and Google Drive. Key Advantages ✅ Fully Automated Music Generation Pipeline Once started, the workflow automatically: Reads track parameters Generates music via API Uploads the file Updates your spreadsheet No manual steps needed after initialization. ✅ Centralized Track Management A single Google Sheet acts as your project control center, letting you organize: Prompts Durations Generated URLs This avoids losing track of files and creates a ready-to-share catalog. ✅ Seamless Integration with Google Services The workflow: Reads instructions from Google Sheets Saves the MP3 to Google Drive Updates the same Sheet with the final link This ensures everything stays synchronized and easy to access. ✅ Scalable and Reliable Processing The loop-with-delay mechanism: Processes tracks sequentially Prevents API overload Ensures stable execution This is especially helpful when generating multiple long tracks. ✅ Easy Customization Because the prompts and durations come from Google Sheets: You can edit prompts at any time You can add more tracks without modifying the workflow You can clone the Sheet for different projects ✅ Ideal for Creators and Businesses This workflow is perfect for: Content creators generating background music Agencies designing custom soundtracks Businesses needing AI-generated audio assets Automated production pipelines How It Works The process operates as follows: The workflow starts manually via the "Execute workflow" trigger It retrieves a list of music track requests from a Google Sheets spreadsheet containing track titles, text prompts, and duration specifications The system processes each track request individually through a batch loop For each track, it sends the text prompt and duration to ElevenLabs Music API to generate studio-quality music The generated MP3 file (in 44100 Hz, 128 kbps format) is automatically uploaded to a designated Google Drive folder Once uploaded, the workflow updates the original Google Sheets with the direct URL to the generated music file A 1-minute wait period between each track generation prevents API rate limiting The process continues until all track requests in the spreadsheet have been processed Set Up Steps Prerequisites: ElevenLabs paid account with Music API access enabled Google Sheets spreadsheet with specific columns: TITLE, PROMPT, DURATION (ms), URL Google Drive folder for storing generated music files Configuration Steps: ElevenLabs API Setup: Enable Music Generation access in your ElevenLabs account Generate an API key from the ElevenLabs developer dashboard Configure HTTP Header authentication in n8n with name "xi-api-key" and your API value Google Sheets Preparation: Create or clone the music tracking spreadsheet with required columns Fill in track titles, detailed text prompts, and durations in milliseconds (10,000-300,000 ms) Configure Google Sheets OAuth credentials in n8n Update the document ID in the Google Sheets nodes Google Drive Configuration: Create a dedicated folder for music uploads Set up Google Drive OAuth credentials in n8n Update the folder ID in the upload node Workflow Activation: Ensure all API credentials are properly configured Test with a single track entry in the spreadsheet Verify music generation, upload, and spreadsheet update work correctly Execute the workflow to process all pending track requests The workflow automatically names files with timestamp prefixes (song_yyyyMMdd) and handles the complete lifecycle from prompt to downloadable music file. 👉 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.
by Beex
Summary This workflow detects ticket classification events in Beex where the communication channel was WhatsApp, extracts the messages from the interaction, and logs them as activity in the corresponding HubSpot contact. How it works Beex Trigger Receives the ticket classification event On Managment Create via a pre-configured callback. Filter by Channel The automation only considers classification events where the communication channel was a WhatsApp message. Get Phone The phone number is used to find the contact to whom the activity should be assigned in HubSpot. The country code must be configured manually. Search Contact Finds the contact in HubSpot using the phone number. Get Messages When a ticket is categorized, its ID and all messages from the interaction can be retrieved from trigger node. Routing, Formatting, and Consolidation We route messages based on their content, whether text, image, or audio. Each message is formatted in HTML, compatible with HubSpot activities. Sort Messages Messages are sorted according to their created_at field. Consolidate Chats Individual messages are consolidated into a single record (all in HTML format). Send all chat content to hs_communication_body in API HubSpot. Setup Instructions Install Beex Nodes: Before importing the template, install the Beex trigger and node packages using the following package names: n8n-beex-nodes Configure HubSpot Credentials: Configure your HubSpot connection with the following: Access token (typically from a private application) Read and write permissions for the Contacts objects Configure Beex Credentials: For Beex users with platform access (for testing requests, contact frank@beexcc.com): Go to Platform Settings → API Key and Callback. Copy your API key and paste it into the Beex node (Get Messages) in n8n. Activate Typing Registry in Callback Integration option Configure the Webhook URL: Copy the Webhook URL (Test/Production) from the Beex activation node and paste it into the Callback Integration section in Beex. Save your changes. Requirements HubSpot: An account with a private application token and read/write permissions for **Contacts objects. Beex: An account with permissions to receive **Typing Registry events in Callback Integration. Customization Options You can customize the HTML format provided to text, audio, or image messages.
by Robert Breen
This n8n workflow template automatically monitors your Google Sheets for new entries and uses AI to generate detailed descriptions for each topic. Perfect for content creators, researchers, project managers, or anyone who needs automatic content generation based on simple topic inputs. What This Workflow Does This automated workflow: Monitors a Google Sheet for new rows added to the "data" tab Takes the topic from each new row Uses OpenAI GPT to generate a detailed description of that topic Updates the same row with the AI-generated description Logs all activity in a separate "actions" tab for tracking The workflow runs every minute, checking for new entries and processing them automatically. Tools & Services Used N8N** - Workflow automation platform OpenAI API** - AI-powered description generation (GPT-4.1-mini) Google Sheets** - Data input, storage, and activity logging Google Sheets Trigger** - Real-time monitoring for new rows Prerequisites Before implementing this workflow, you'll need: N8N Instance - Self-hosted or cloud version OpenAI API Account - For AI description generation Google Account - For Google Sheets integration Google Sheets API Access - For both reading and writing to sheets Step-by-Step Setup Instructions Step 1: Set Up OpenAI API Access Visit OpenAI's API platform Create an account or log in Navigate to API Keys section Generate a new API key Copy and securely store your API key Step 2: Set Up Your Google Sheets Option 1: Use Our Pre-Made Template (Recommended) Copy our template: AI Description Generator Template Click "File" → "Make a copy" to create your own version Rename it as desired (e.g., "My AI Content Generator") Note your new sheet's URL - you'll need this for the workflow Option 2: Create From Scratch Go to Google Sheets Create a new spreadsheet Set up the main "data" tab: Rename "Sheet1" to "data" Set up column headers in row 1: A1: topic B1: description Create an "actions" tab: Add a new sheet and name it "actions" Set up column headers: A1: Update Copy your sheet's URL Step 3: Configure Google API Access Enable Google Sheets API Go to Google Cloud Console Create a new project or select existing one Enable "Google Sheets API" Enable "Google Drive API" Create Service Account (for N8N) In Google Cloud Console, go to "IAM & Admin" → "Service Accounts" Create a new service account Download the JSON credentials file Share your Google Sheet with the service account email address Step 4: Import and Configure the N8N Workflow Import the Workflow Copy the workflow JSON from the template In your N8N instance, go to Workflows → Import from JSON Paste the JSON and import Configure OpenAI Credentials Click on the "OpenAI Chat Model" node Set up credentials using your OpenAI API key Test the connection to ensure it works Configure Google Sheets Integration For the Trigger Node: Click on "Row added - Google Sheet" node Set up Google Sheets Trigger OAuth2 credentials Select your spreadsheet from the dropdown Choose the "data" sheet Set polling to "Every Minute" (already configured) For the Update Node: Click on "Update row in sheet" node Use the same Google Sheets credentials Select your spreadsheet and "data" sheet Verify column mapping (topic → topic, description → AI output) For the Actions Log Node: Click on "Append row in sheet" node Use the same Google Sheets credentials Select your spreadsheet and "actions" sheet Step 5: Customize the AI Description Generator The workflow uses a simple prompt that can be customized: Click on the "Description Writer" node Modify the system message to change the AI behavior: write a description of the topic. output like this. { "description": "description" } Need Help with Implementation? For professional setup, customization, or troubleshooting of this workflow, contact: Robert - Ynteractive Solutions Email**: robert@ynteractive.com Website**: www.ynteractive.com LinkedIn**: linkedin.com/in/robert-breen-29429625/ Specializing in AI-powered workflow automation, business process optimization, and custom integration solutions.
by Muhammad Asadullah
Short Description (for listing) Import products from Google Sheets to Shopify with automatic handling of single products and multi-variant products (sizes, colors, etc.). Includes SKU management, inventory tracking, and image uploads via GraphQL API. Category E-commerce Productivity Data Import/Export Full Description Overview This workflow automates the process of importing products from a Google Sheet into your Shopify store. It intelligently detects and handles both simple products and products with multiple variants (like different sizes or colors), creating them with proper SKU management, pricing, inventory levels, and images. Key Features ✅ Dual Product Support: Handles single products and multi-variant products automatically ✅ Smart SKU Parsing: Automatically groups variants by parsing SKU format (e.g., 12345-SM, 12345-MD) ✅ Inventory Management: Sets stock levels for each variant at your default location ✅ Image Upload: Attaches product images from URLs ✅ GraphQL API: Uses Shopify's modern GraphQL API for reliable product creation ✅ Batch Processing: Process multiple products in one workflow run Use Cases Initial store setup with bulk product import Regular inventory updates from spreadsheet Migrating products from another platform Managing seasonal product catalogs Synchronizing products with external systems Requirements Shopify store with Admin API access Google Sheets API credentials n8n version 1.0+ Basic understanding of GraphQL (helpful but not required) What You'll Need to Configure Shopify Admin API token Your Shopify store URL (in 'set store url' node) Google Sheets connection (Optional) Vendor name and product type defaults Input Format Your Google Sheet should contain columns: Product Name SKU (format: BASESKU-VARIANT for variants) Size (or other variant option) Price On hand Inventory Product Image (URL) Products with the same name are automatically grouped as variants. How It Works Reads product data from your Google Sheet Groups products by name and detects if they have variants Switches to appropriate creation path (single or variant) Creates product in Shopify with options and variants Updates each variant with SKU and pricing Sets inventory levels at your location Uploads product images Technical Details Uses Shopify GraphQL Admin API (2025-04) Handles up to 100 variants per product Processes variants individually for accurate data mapping Includes error handling for missing data Supports one inventory location per run Common Modifications Change vendor name and product type Add more variant options (color, material, etc.) Customize product status (draft vs active) Modify inventory location selection Add product descriptions Perfect For Shopify store owners managing large catalogs E-commerce managers doing bulk imports Agencies setting up client stores Developers building automated product workflows Difficulty: Intermediate Estimated Setup Time: 15-30 minutes Nodes Used: 16 External Services: Shopify, Google Sheets
by Rajeet Nair
Overview This workflow intelligently routes incoming user requests using AI-powered task classification. It determines whether a task is simple or complex, assigns a confidence score, and dynamically delegates execution to the appropriate agent. If the confidence score is too low, the workflow triggers a fallback email alert for manual review—ensuring reliability and preventing incorrect automation. This design improves response accuracy, enables scalable automation, and introduces human-in-the-loop safety for uncertain scenarios. How It Works Webhook Trigger Receives incoming user requests. Workflow Configuration Stores the user request and confidence threshold. Supervisor Agent Analyzes the request. Classifies it as simple or complex. Returns a confidence score and reasoning. Structured Output Parser Ensures the classification follows a strict JSON format. Confidence Check (IF Node) Compares the confidence score with the threshold. Routing Logic If confidence is high: Task is passed to the Executor Agent Executor selects: Simple Agent Tool for basic tasks Complex Agent Tool for advanced tasks Agent Execution Each agent uses an OpenAI model to process the task. Fallback Handling If confidence is low: Sends an email alert for human review. Setup Instructions OpenAI Credentials Add credentials for all OpenAI nodes: Supervisor Executor Simple Agent Complex Agent Webhook Configuration Set the webhook path. Connect it to your frontend or API source. Email Node Setup Configure sender and recipient email addresses. Use SMTP or supported email service. Adjust Threshold Modify confidenceThreshold in the Set node if needed. Customize Prompts Update system messages in: Supervisor Agent Executor Agent Simple/Complex Agents Use Cases AI-powered task routing systems Customer support automation with fallback safety Intelligent chatbot orchestration Workflow automation with human-in-the-loop validation Multi-agent AI systems with decision control Requirements OpenAI API credentials Email (SMTP or service integration) n8n instance (cloud or self-hosted) Key Features AI-based task classification Confidence scoring for safe automation Dynamic agent routing Human fallback for low-confidence decisions Modular and scalable architecture Summary A smart AI routing workflow that classifies tasks, routes them to specialized agents, and ensures reliability through confidence scoring and fallback alerts—ideal for building safe, scalable automation systems in n8n.
by Mantaka Mahir
Automate Google Classroom: Topics, Assignments & Student Tracking Automate Google Classroom via the Google Classroom API to efficiently manage courses, topics, teachers, students, announcements, and coursework. Use Cases Educational Institution Management Sync rosters, post weekly announcements, and generate submission reports automatically. Remote Learning Coordination Batch-create assignments, track engagement, and auto-notify teachers on new submissions. Training Program Automation Automate training modules, manage enrollments, and generate completion/compliance reports. Prerequisites n8n (cloud or self-hosted) Google Cloud Console access for OAuth setup Google Classroom API enabled Google Gemini API key** (free) for the agent brain — or swap in any other LLM if preferred Setup Instructions Step 1: Google Cloud Project Create a new project in Google Cloud Console. Enable Google Classroom API. Create OAuth 2.0 Client ID credentials. Add your n8n OAuth callback URL as a redirect URI. Note down the Client ID and Client Secret. Step 2: OAuth Setup in n8n In n8n, open HTTP Request Node → Authentication → Predefined Credential Type. Select Google OAuth2 API. Enter your Client ID and Client Secret. Click Connect my account to complete authorization. Test the connection. Step 3: Import & Configure Workflow Import this workflow template into n8n. Link all Google Classroom nodes to your OAuth credential. Configure the webhook if using external triggers. Test each agent for API connectivity. Step 4: Customization You can customize each agent’s prompt to your liking for optimal results, or copy and modify node code to expand functionality. All operations use HTTP Request nodes, so you can integrate more tools via the Google Classroom API documentation. This workflow provides a strong starting point for deeper automation and integration. Features Course Topics List, create, update, or delete topics within a course. Teacher & Student Management List, retrieve, and manage teachers and students programmatically. Course Posts List posts, retrieve details and attachments, and access submission data. Announcements List, create, update, or delete announcements across courses. Courses List all courses, get detailed information, and view grading periods. Coursework List, retrieve, or analyze coursework within any course. Notes Once OAuth and the LLM connection are configured, this workflow automates all Google Classroom operations. Its modular structure lets you activate only what you need—saving API quota and improving performance.
by Moiz Haroon
Apollo Leads Enrichment & MeldFlow/GHL Sync How It Works Pulls targeted leads from Apollo using predefined ICP filters Enriches each lead with Apollo people enrichment Filters verified contacts and formats lead data Creates or updates contacts inside MeldFlow/GHL Automatically increments Apollo page number for continuous lead sourcing Setup Steps Estimated setup time: 10–15 minutes Connect Google Sheets credentials Add your Apollo API key Add your MeldFlow/GHL Private Integration token Replace the target MeldFlow/GHL Location ID Configure your Apollo ICP filters and search criteria Create the Config Sheet with Apollo page tracking Activate the workflow schedule trigger Detailed configuration notes are provided inside the workflow sticky notes. Note Sheets can also be used instead of a CRM
by Robert Breen
This n8n workflow template creates an efficient data analysis system that uses Google Gemini AI to interpret user questions about spreadsheet data and processes them through a specialized sub-workflow for optimized token usage and faster responses. What This Workflow Does Smart Query Parsing**: Uses Gemini AI to understand natural language questions about your data Efficient Processing**: Routes calculations through a dedicated sub-workflow to minimize token consumption Structured Output**: Automatically identifies the column, aggregation type, and grouping levels from user queries Multiple Aggregation Types**: Supports sum, average, count, count distinct, min, and max operations Flexible Grouping**: Can aggregate data by single or multiple dimensions Token Optimization**: Processes large datasets without overwhelming AI context limits Tools Used Google Gemini Chat Model** - Natural language query understanding and response formatting Google Sheets Tool** - Data access and column metadata extraction Execute Workflow** - Sub-workflow processing for data calculations Structured Output Parser** - Converts AI responses to actionable parameters Memory Buffer Window** - Basic conversation context management Switch Node** - Routes to appropriate aggregation method Summarize Nodes** - Performs various data aggregations 📋 MAIN WORKFLOW - Query Parser What This Workflow Does The main workflow receives natural language questions from users and converts them into structured parameters that the sub-workflow can process. It uses Google Gemini AI to understand the intent and extract the necessary information. Prerequisites for Main Workflow Google Cloud Platform account with Gemini API access Google account with access to Google Sheets n8n instance (cloud or self-hosted) Main Workflow Setup Instructions 1. Import the Main Workflow Copy the main workflow JSON provided In your n8n instance, go to Workflows → Import from JSON Paste the JSON and click Import Save with name: "Gemini Data Query Parser" 2. Set Up Google Gemini Connection Go to Google AI Studio Sign in with your Google account Go to Get API Key section Create a new API key or use an existing one Copy the API key Configure in n8n: Click on Google Gemini Chat Model node Click Create New Credential Select Google PaLM API Paste your API key Save the credential 3. Set Up Google Sheets Connection for Main Workflow Go to Google Cloud Console Create a new project or select existing one Enable the Google Sheets API Create OAuth 2.0 Client ID credentials In n8n, click on Get Column Info node Create Google Sheets OAuth2 API credential Complete OAuth flow 4. Configure Your Data Source Option A: Use Sample Data The workflow is pre-configured for: Sample Marketing Data Make a copy to your Google Drive Option B: Use Your Own Sheet Update Get Column Info node with your Sheet ID Ensure you have a "Columns" sheet for metadata Update sheet references as needed 5. Set Up Workflow Trigger Configure how you want to trigger this workflow (webhook, manual, etc.) The workflow will output structured JSON for the sub-workflow ⚙️ SUB-WORKFLOW - Data Processor What This Workflow Does The sub-workflow receives structured parameters from the main workflow and performs the actual data calculations. It handles fetching data, routing to appropriate aggregation methods, and formatting results. Sub-Workflow Setup Instructions 1. Import the Sub-Workflow Create a new workflow in n8n Copy the sub-workflow JSON (embedded in the Execute Workflow node) Import as a separate workflow Save with name: "Data Processing Sub-Workflow" 2. Configure Google Sheets Connection for Sub-Workflow Apply the same Google Sheets OAuth2 credential you created for the main workflow Update the Get Data node with your Sheet ID Ensure it points to your data sheet (e.g., "Data" sheet) 3. Configure Google Gemini for Output Formatting Apply the same Gemini API credential to the Google Gemini Chat Model1 node This handles final result formatting 4. Link Workflows Together In the main workflow, find the Execute Workflow - Summarize Data node Update the workflow reference to point to your sub-workflow Ensure the sub-workflow is set to accept execution from other workflows Sub-Workflow Components When Executed by Another Workflow**: Trigger that receives parameters Get Data**: Fetches all data from Google Sheets Type of Aggregation**: Switch node that routes based on aggregation type Multiple Summarize Nodes**: Handle different aggregation types (sum, avg, count, etc.) Bring All Data Together**: Combines results from different aggregation paths Write into Table Output**: Formats final results using Gemini AI Example Usage Once both workflows are set up, you can ask questions like: Overall Metrics: "Show total Spend ($)" "Show total Clicks" "Show average Conversions" Single Dimension: "Show total Spend ($) by Channel" "Show total Clicks by Campaign" Two Dimensions: "Show total Spend ($) by Channel and Campaign" "Show average Clicks by Channel and Campaign" Data Flow Between Workflows Main Workflow: User question → Gemini AI → Structured JSON output Sub-Workflow: Receives JSON → Fetches data → Performs calculations → Returns formatted table Contact Information For support, customization, or questions about this template: Email**: robert@ynteractive.com LinkedIn**: Robert Breen Need help implementing these workflows, want to remove limitations, or require custom modifications? Reach out for professional n8n automation services and AI integration support.
by Yatharth Chauhan
Feedback Sentiment Workflow (Typeform → GCP → Notion/Slack/Trello) This template ingests feedback from Typeform, runs Google Cloud Natural Language sentiment analysis, routes based on sentiment, and then creates a Notion database page and posts a Slack notification for positive items, or creates a Trello card for negative items. The flow is designed for quick setup and safe sharing using placeholders for IDs and credentials. How it Works Typeform Trigger Captures each new submission and exposes answers like Name and the long-text Feedback field. Google Cloud Natural Language Analyzes the feedback text and returns a sentiment score in: documentSentiment.score Check Sentiment Score (IF) True branch: Score > 0 → Positive False branch: Score ≤ 0 → Non-positive Add Feedback to Notion (True branch) Creates a new page in a Notion database with mapped properties. Notify Slack (after Notion) Posts the feedback, author, and score to a Slack channel for visibility. Create Trello Card (False branch) Logs non-positive items to a Trello list for follow-up. Required Accounts Google Cloud Natural Language API** enabled (OAuth2 or service credentials). Notion integration** with database access to create pages. Slack app/bot token** with permission to post to the target channel. Typeform account** with a form including: Long Text feedback question Name field Notion Database Columns Name (title):** Person name or responder label Feedback (rich_text):** Full feedback text Sentiment Score (number):** Numeric score from GCP ∈ [-1, 1] Source (select/text):** "Typeform" for provenance Submitted At (date):** Timestamp from the trigger Customization Options Sentiment Threshold:** Adjust IF condition (e.g., ≥ 0.25) for stricter positivity. Slack Routing:** Change channel, add blocks/attachments for richer summaries. Trello Path:** Point to a triage list and include labels for priority. Field Mapping:** Update the expression for feedback question to match Typeform label. Database Schema:** Add tags, product area, or customer tier for reporting. Setup Steps Connect credentials: Typeform, GCP Natural Language, Notion, Slack, Trello. Replace placeholders in workflow JSON: Form ID Database ID Slack Channel Trello List ID Map fields: Set Feedback + Name expressions from Typeform Trigger output into Notion and Slack. Adjust IF threshold for your definition of "positive". Test with a sample response and confirm: Notion page creation Slack notification Trello card logging