RAG chatbot for company documents using Google Drive and Gemini
This workflow implements a Retrieval Augmented Generation (RAG) chatbot that answers employee questions based on company documents stored in Google Drive. It automatically indexes new or updated documents in a Pinecone vector database, allowing the chatbot to provide accurate and up-to-date information. The workflow uses Google's Gemini AI for both embeddings and response generation. How it works The workflow uses two Google Drive Trigger nodes: one for detecting new files added to a specified Google Drive folder, and another for detecting file updates in that same folder. Automated Indexing: When a new or updated document is detected The Google Drive node downloads the file. The Default Data Loader node loads the document content. The Recursive Character Text Splitter node breaks the document into smaller text chunks. The Embeddings Google Gemini node generates embeddings for each text chunk using the text-embedding-004 model. The Pinecone Vector Store node indexes the text chunks and their embeddings in a specified Pinecone index. 7.The Chat Trigger node receives user questions through a chat interface. The user's question is passed to an AI Agent node. The AI Agent node uses a Vector Store Tool node, linked to a Pinecone Vector Store node in query mode, to retrieve relevant text chunks from Pinecone based on the user's question. The AI Agent sends the retrieved information and the user's question to the Google Gemini Chat Model (gemini-pro). The Google Gemini Chat Model generates a comprehensive and informative answer based on the retrieved documents. A Window Buffer Memory node connected to the AI Agent provides short-term memory, allowing for more natural and context-aware conversations. Set up steps Google Cloud Project and Vertex AI API: Create a Google Cloud project. Enable the Vertex AI API for your project. Google AI API Key: Obtain a Google AI API key from Google AI Studio. Pinecone Account: Create a free account on the Pinecone website. Obtain your API key from your Pinecone dashboard. Create an index named company-files in your Pinecone project. Google Drive: Create a dedicated folder in your Google Drive where company documents will be stored. Credentials in n8n: Configure credentials in your n8n environment for: Google Drive OAuth2 Google Gemini(PaLM) Api (using your Google AI API key) Pinecone API (using your Pinecone API key) Import the Workflow: Import this workflow into your n8n instance. Configure the Workflow: Update both Google Drive Trigger nodes to watch the specific folder you created in your Google Drive. Configure the Pinecone Vector Store nodes to use your company-files index.
Generate AI videos from text prompts with OpenAI Sora 2
Sora 2 Video Generation: Prompt-to-Video Automation with OpenAI API Who’s it for This template is ideal for content creators, marketers, developers, or anyone needing automated AI video creation from text prompts. Perfect for bulk generation, marketing assets, or rapid prototyping using OpenAI's Sora 2 API. Example use cases: E-commerce sellers creating product showcase videos for multiple items without hiring videographers or renting studios Social media managers generating daily content like travel vlogs, lifestyle videos, or brand stories from simple text descriptions Marketing teams producing promotional videos for campaigns, events, or product launches in minutes instead of days How it works / What it does Submit a text prompt using a form or input node. Workflow sends your prompt to the Sora 2 API endpoint to start video generation. It polls the API to check if the video is still processing or completed. When ready, it retrieves the finished video's download link and automatically saves the file. All actions—prompt submission, status checks, and video retrieval—run without manual oversight. How to set up Use your existing OpenAI API key or create a new one at https://platform.openai.com/api-keys Replace YourAPIKey in the following nodes with your OpenAI API key: Sora 2Video, Get Video, Download Video Adjust the Wait node for Video node intervals if needed — video generation typically takes several minutes Enter your video prompt into the Text Prompt trigger form to start the workflow Requirements OpenAI account & OpenAI API key n8n instance (cloud or self-hosted) A form, webhook, or manual trigger for prompt submission How to customize the workflow Connect the prompt input to external forms, bots, or databases. Add post-processing steps like uploading videos to cloud storage or social platforms. Adjust polling intervals for efficient status checking. Limitations and Usage Tips Prompt Clarity: For optimal video generation results, ensure that prompts are clear, concise, and well-structured. Avoid ambiguity and overly complex language to improve AI interpretation. Processing Duration: Video creation may take several minutes depending on prompt complexity and system load. Users should anticipate this delay and design workflows accordingly. Polling Interval Configuration: Adjust polling intervals thoughtfully to balance prompt responsiveness with API rate limits, optimizing both performance and resource usage. API Dependency: This workflow relies on the availability and quota limits of OpenAI’s Sora 2 API. Users should monitor their API usage to avoid interruptions and service constraints.
Get stats, shorten URLs 🛠️ Yourls Tool MCP Server 💪 all 3 operations
Need help? Want access to this workflow + many more paid workflows + live Q&A sessions with a top verified n8n creator? Join the community Complete MCP server exposing all Yourls Tool operations to AI agents. Zero configuration needed - all 3 operations pre-built. ⚡ Quick Setup Import this workflow into your n8n instance Activate the workflow to start your MCP server Copy the webhook URL from the MCP trigger node Connect AI agents using the MCP URL 🔧 How it Works • MCP Trigger: Serves as your server endpoint for AI agent requests • Tool Nodes: Pre-configured for every Yourls Tool operation • AI Expressions: Automatically populate parameters via $fromAI() placeholders • Native Integration: Uses official n8n Yourls Tool tool with full error handling 📋 Available Operations (3 total) Every possible Yourls Tool operation is included: 🔧 Url (3 operations) • Expand a URL • Shorten a URL • Get stats for a URL 🤖 AI Integration Parameter Handling: AI agents automatically provide values for: • Resource IDs and identifiers • Search queries and filters • Content and data payloads • Configuration options Response Format: Native Yourls Tool API responses with full data structure Error Handling: Built-in n8n error management and retry logic 💡 Usage Examples Connect this MCP server to any AI agent or workflow: • Claude Desktop: Add MCP server URL to configuration • Custom AI Apps: Use MCP URL as tool endpoint • Other n8n Workflows: Call MCP tools from any workflow • API Integration: Direct HTTP calls to MCP endpoints ✨ Benefits • Complete Coverage: Every Yourls Tool operation available • Zero Setup: No parameter mapping or configuration needed • AI-Ready: Built-in $fromAI() expressions for all parameters • Production Ready: Native n8n error handling and logging • Extensible: Easily modify or add custom logic > 🆓 Free for community use! Ready to deploy in under 2 minutes.
Automate Calendly to HubSpot: contact updates & meeting logging
How it works This workflow automatically syncs Calendly meeting bookings into HubSpot CRM by checking if the invitee already exists as a contact. It extracts attendee details, creates or updates contacts in HubSpot, and logs the meeting engagement with all relevant information. This ensures that every booked meeting is properly tracked, linked to the right contact, and enriched with context from Calendly. Step-by-step Trigger & Input Calendly Trigger (Invitee Created) – Fires whenever a new meeting is booked in Calendly. Captures attendee details: name, email, meeting start/end time, and responses to any custom questions. Contact Search Search Contact (HubSpot) – Looks up HubSpot to see if a contact with the invitee’s email already exists. Contact Decision Contact Exists? Yes → Proceeds to log the meeting against the existing HubSpot contact. No → Creates a new contact in HubSpot with the attendee’s name and email. Engagement Logging Log Meeting (Existing Contact) – Creates a HubSpot meeting engagement tied to the existing contact. Create Contact + Log Meeting (New Contact) – If no contact is found, a new one is created, and the meeting is immediately logged against it. Engagement includes: meeting title, start/end times, attendee details, and custom question notes. Benefits Automated CRM Sync – No more manual data entry between Calendly and HubSpot. Accurate Contact Management – Ensures meetings are always linked to the right person, creating new contacts when needed. Context-Rich Engagements – Logs attendee details and custom question responses for better follow-ups. Seamless Sales Tracking – Keeps HubSpot updated with every meeting for pipeline visibility. Hands-Free Workflow – Runs automatically whenever a Calendly invitee books a meeting.
Qualify & enrich leads with GPT-4 and LinkedIn data for intelligent routing
AI-Powered Lead Qualification & Enrichment Pipeline 🎯 Who is this for? This template is perfect for: Marketing Teams looking to automatically qualify inbound leads from campaigns Sales Teams wanting to prioritize high-value prospects instantly Agencies offering lead qualification as a service to clients SaaS Companies routing trial signups to appropriate nurture sequences B2B Service Providers scoring and enriching leads from multiple sources 💡 What problem does it solve? Manual lead qualification is slow, inconsistent, and expensive. Sales teams waste hours on unqualified leads while hot prospects go cold. This workflow: Eliminates manual research - Automatically enriches company data via LinkedIn Scores leads instantly - AI analyzes 15+ data points to score 0-100 Routes intelligently - Hot leads get instant alerts, warm leads enter nurture Personalizes outreach - AI generates custom emails based on company context ⚡ What this workflow does Lead Capture & Validation Captures leads via built-in n8n Form (embeddable on any website) Validates email format and detects business vs personal emails Normalizes data from various field naming conventions Company Enrichment via Apify Uses Google Search to find company's LinkedIn profile Scrapes LinkedIn for industry, size, description, specialties, and more Gracefully skips enrichment for personal emails (Gmail, Yahoo, etc.) AI Lead Qualification (GPT-4.1) Scores leads 0-100 based on buying signals Assigns tier: Hot (80+), Warm (60-79), Cold (40-59), Disqualified (<40) Identifies buyer persona (Decision Maker, Influencer, Champion, etc.) Generates personalized talking points and risk factors Intelligent Routing & Actions Hot Leads: Instant Slack alert + AI-generated personalized email + HubSpot contact Warm Leads: Slack notification for nurture sequence Cold Leads: Logged for future reference All Leads: Recorded to Google Sheets with full qualification data 🔧 Setup Required Credentials | Service | Purpose | |---------|---------| | OpenAI | AI qualification & email generation | | Apify | Google Search + LinkedIn scraping | Optional Credentials | Service | Purpose | |---------|---------| | Slack | Lead alerts and notifications | | HubSpot | CRM contact creation | | Gmail | Sending personalized emails | | Google Sheets | Lead database logging | Apify Setup Create account at apify.com Get API token from Settings → Integrations Open the Apify HTTP nodes and replace YOURAPIKEY with the API token obtained in the above step Apify Actors Used Google Search Scraper PPR (Actor ID: G9PR1B1upfS0mRvp0) - ~$0.004/search LinkedIn Company Scraper PPR (Actor ID: G9y3V8J1hXYJTf1Ho) - ~$0.02/company Total cost: ~$0.02-0.03 per enriched lead 📊 Lead Scoring Criteria | Score | Tier | What it means | |-------|------|---------------| | 80-100 | 🔥 Hot | Strong buying signals, budget confirmed, urgent timeline | | 60-79 | 🌡️ Warm | Good fit, some buying signals, needs nurturing | | 40-59 | ❄️ Cold | Potential fit but unclear intent | | 0-39 | ⛔ Disqualified | Poor fit, spam, or invalid | 🎨 Customization Modify Form Fields Edit the "Lead Capture Form" node to add/remove fields for your use case. Adjust AI Scoring Edit the system prompt in "AI Lead Qualification" to customize: Score thresholds for your industry Buyer persona definitions Custom qualification criteria Add Integrations Easily extend with: Pipedrive, Salesforce, or other CRMs Email sequences (Mailchimp, ActiveCampaign) SMS notifications (Twilio) Calendar booking (Calendly) 📈 Example Output json { "qualification": { "score": 85, "tier": "Hot", "buyerPersona": "Decision Maker", "urgencyLevel": "High" }, "insights": { "keyInsights": [ "VP-level with direct budget authority", "Company in growth phase (51-200 employees)", "Industry aligned with our ICP" ], "talkingPoints": [ "Reference their sustainability focus", "Highlight ROI for mid-market companies" ] } } 🙋 Need Help? Check the sticky notes in the workflow for section-by-section guidance Ensure Apify credentials are properly configured Test with a business email (not Gmail/Yahoo) to see full enrichment --- Created by Agentical AI - AI Automation Agency specializing in workflow automation and AI solutions.
Generate & distribute market reports with Google Docs, Sheets, and Gmail
How It Works ⚙️ This workflow is a powerful automation engine for your marketing efforts. On a set schedule, it automatically generates a professional market report and distributes it to your client list, positioning you as a market expert with zero manual effort. 0. Cron (Monthly Schedule): ⏰ The workflow is triggered automatically on the first day of every month at a specified time (e.g., 8:00 AM). 1. HTTP Request (Get Market Data): 📊 It connects to an external market data API to fetch the latest raw statistics and trends for your region. 2. Function (Process Data): 📝 This node processes the raw API data, formats it, and calculates key metrics (e.g., total sales, average price) to be used in the final report. 3. Google Docs (Create Report): 📄 Using a pre-designed Google Docs template, the workflow dynamically creates a new report document, filling in the placeholders with the data processed in the previous step. 4. Google Sheets (Get Client List): 📋 It fetches your client mailing list from a Google Sheet, which acts as your central database for client contacts. 5. Split In Batches: 🔄 This node ensures that each client from the mailing list is processed individually, preventing any issues with bulk emailing. 6. Gmail (Send Report): 📧 For each client, a personalized email is sent with the newly generated market report attached as a PDF, completing the distribution process. --- How to Set Up 🛠️ Setting up this complex workflow requires careful configuration of each node and external services. Import Workflow JSON: Open your n8n instance. Click on 'Workflows' in the left sidebar. Click the '+' button or 'New' to create a new workflow. Click the '...' (More Options) icon in the top right. Select 'Import from JSON' and paste the entire JSON code for this workflow. Prepare Your Data & Tools: Market Data API: Obtain an API key or access for a market data service that provides the data you need. This could be a public service or an internal one. Google Docs Template: Create a Google Docs template for your market report. Use placeholders like {{ averagePrice }}, {{ totalSales }}, and {{ reportMonth }} for the data you want to insert. Client Mailing List: Create a Google Sheet with a list of your clients. It must have columns like Client Name and Client Email. n8n Credentials: Ensure you have configured OAuth2 credentials for both Google Sheets and Google Docs. Configure 0. Cron (Monthly Schedule): The node is pre-configured to run on the 1st of every month at 8 AM. You can adjust the hour or dayOfMonth if needed. Configure 1. HTTP Request (Get Market Data): Locate the '1. HTTP Request (Get Market Data)' node. URL: Replace https://api.your-market-data-service.com/data/monthly?region=Jakarta with the actual URL of your market data API endpoint. Authentication: Configure the authentication (e.g., Header Auth for an API key) according to your API provider's documentation. Configure 2. Function (Process Data): Locate the '2. Function (Process Data)' node. Data Mapping: The code is an example. You MUST update the code inside this node to correctly parse the JSON data coming from your specific API call and extract the metrics you need. Expressions: Ensure the variable names (totalSales, averagePrice, etc.) match the placeholders in your Google Docs template. Configure 3. Google Docs (Create Report): Locate the '3. Google Docs (Create Report)' node. Credentials: Select your Google Docs OAuth2 credential. Document ID: Replace YOURGOOGLEDOCSTEMPLATEID with the ID of the template you created. Template Variables: Ensure the variable names (averagePrice, totalSales, etc.) perfectly match the placeholders in your Google Docs template. Configure 4. Google Sheets (Get Client List): Locate the '4. Google Sheets (Get Client List)' node. Credentials: Select your Google Sheets OAuth2 credential. Spreadsheet ID: Replace YOURCLIENTMAILINGLISTSPREADSHEET_ID with the ID of your client list sheet. Sheet Name: Enter the exact name of the sheet (tab) containing your client data. Configure 5. Split In Batches: This node requires no configuration. It will automatically process each client from the Google Sheets list one by one. Configure 6. Gmail (Send Report): Locate the '6. Gmail (Send Report)' node. Credentials: Select your Gmail OAuth2 credential. From Email: Replace your-agency-email@example.com with the email address you want to send from. To Email: ={{ $json['Client Email'] }} (This pulls the email from the current batch item). Attachments: The node is set up to attach the file created by the Google Docs node. No changes are needed here unless you want to customize the file name. Review and Activate: Thoroughly review all node configurations. This is a complex workflow, so be meticulous. Click 'Save' and then toggle the 'Inactive' switch to 'Active' to enable your workflow. 🟢 Your automated marketing engine is now live!
Monitor SSL certificate expiry with Google Sheets and SMTP email alerts
Who is this for? DevOps engineers, sysadmins, and website owners who manage multiple domains and need proactive SSL certificate expiration monitoring without manual checks. What it does Automatically monitors SSL certificates across multiple domains, tracks expiration status in a Google Sheet dashboard, and sends beautifully formatted HTML email alerts before certificates expire. ✅ No API rate limits — Uses direct OpenSSL commands, so you can scan unlimited domains with zero API costs or restrictions. How it works Triggers on schedule (every 3 days at 10AM) Reads domain list from your Google Sheet Checks each domain's SSL certificate using OpenSSL commands Parses expiration dates, issuer info, and calculates days remaining Updates Google Sheet with current status for all domains Sends styled email alerts only when certificates are expiring soon Set up steps Connect your Google Sheets OAuth2 credentials Create a Google Sheet with these columns: Domain, Expiry Date, Days Left, Status, Issuer, Last Checked (the workflow matches on the Domain column to update results) Add your domains to scan in the Domain column Update the Sheet ID in the Read Domain List from Google Sheets and Update Google Sheet with Results nodes Connect SMTP credentials in the Send Alert Email via SMTP node Optionally adjust ALERTTHRESHOLDDAYS in two nodes: Prepare Domain List and Set Threshold and Parse SSL Results and Identify Expiring Certs (default: 20 days) Setup time: ~10 minutes