# templates

name: RAG-powered Document Chat with Google Drive, OpenAI, and Pinecone Assistant
author_name: Pinecone
author_username: pinecone
categories: []
created_at: 2025-10-20T13:42:34.526Z
updated_at: 2025-10-20T13:42:34.526Z
url: https://n8n.io/workflows/9942
scraped_at: 2025-12-24 13:02:42
description:
  Try it out

  This n8n workflow template lets you chat with your Google Drive documents (.docx, .json, .md, .txt, .pdf) using OpenAI and Pinecone Assistant. It retrieves relevant context from your files in real time so you can get accurate, context-aware answers about your proprietary data—without the need to train your own LLM.

  What is Pinecone Assistant?

  Pinecone Assistant allows you to build production-grade chat and agent-based applications quickly. It abstracts the complexities of implementing retrieval-augmented (RAG) systems by managing the chunking, embedding, storage, query planning, vector search, model orchestration, reranking for you.

  Prerequisites

  A Pinecone account and API key
  A GCP project with Google Drive API enabled and configured
    Note: When setting up the OAuth consent screen, skip steps 8-10 if running on localhost
  An Open AI account and API key

  Setup

  Create a Pinecone Assistant in the Pinecone Console here 
  	Name your Assistant n8n-assistant and create it in the United States region
  	If you use a different name or region, update the related nodes to reflect these changes
  	No need to configure a Chat model or Assistant instructions
  Setup your Google Drive OAuth2 API credential in n8n
  	In the File added node -&gt; Credential to connect with, select Create new credential
  	Set the Client ID and Client Secret from the values generated in the prerequisites
  	Set the OAuth Redirect URL from the n8n credential in the Google Cloud Console (instructions)
  	Name this credential Google Drive account so that other nodes reference it
  Setup Pinecone API key credential in n8n
  	In the Upload file to assistant node -&gt; PineconeApi section, select Create new credential
  	Paste in your Pinecone API key in the API Key field
  Setup Pinecone MCP Bearer auth credential in n8n
  	In the Pinecone Assistant node -&gt; Credential for Bearer Auth section, select Create new credential
  	Set the Bearer Token field to your Pinecone API key used in the previous step
  Setup the Open AI credential in n8n
  	In the OpenAI Chat Model node -&gt; Credential to connect with, select Create new credential
  	Set the API Key field to your OpenAI API key
  Add your files to a Drive folder named n8n-pinecone-demo in the root of your My Drive
  	If you use a different folder name, you'll need to update the Google Drive triggers to reflect that change
  Activate the workflow or test it with a manual execution to ingest the documents
  Chat with your docs!

  Ideas for customizing this workflow

  Customize the System Message on the AI Agent node to your use case to indicate what kind of knowledge is stored in Pinecone Assistant
  Change the top_k value of results returned from Assistant by adding "and should set a top_k of 3" to the System Message to help manage token consumption
  Configure the Context Window Length in the Conversation Memory node
  Swap out the Conversation Memory node for one that is more persistent
  Make the chat node publicly available or create your own chat interface that calls the chat webhook URL.

  Need help?

  You can find help by asking in the Pinecone Discord community, asking on the Pinecone Forum, or filing an issue on this repo.

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.googleDrive","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.mcpClientTool","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.switch","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5996 characters]


name: Automate Review Request via WhatsApp for Completed WooCommerce Order with Rapiwa
author_name: Rapiwa
author_username: rapiwa
categories: []
created_at: 2025-10-21T05:10:46.311Z
updated_at: 2025-10-21T05:10:46.311Z
url: https://n8n.io/workflows/9969
scraped_at: 2025-12-24 13:02:45
description:
  Who is this for?
  This workflow is designed for online store owners, customer-success teams, and marketing operators who want to automatically verify customers' WhatsApp numbers and deliver order updates or invoice links via WhatsApp. It is built around WooCommerce order WooCommerce Trigger (order.updated) but is easily adaptable to Shopify or other platforms that provide billing and line_items in the WooCommerce Trigger payload.

  What this Workflow Does / Key Features
  Listens for WooCommerce order events (example: order.updated) via a Webhook or a WooCommerce trigger.
  Filters only orders with status "completed" and maps the payload into a normalized object: { data: { customer, products, invoice_link } } using the Code node Order Completed check.
  Iterates over line items using SplitInBatches to control throughput.
  Cleans phone numbers (Clean WhatsApp Number code node) by removing all non-digit characters.
  Verifies whether the cleaned phone number is registered on WhatsApp using Rapiwa's verify endpoint (POST https://app.rapiwa.com/api/verify-whatsapp).
  If verified, sends a templated WhatsApp message via Rapiwa (POST https://app.rapiwa.com/api/send-message).
  Appends an audit row to a "Verified & Sent" Google Sheet for successful sends, or to an "Unverified & Not Sent" sheet for unverified numbers.
  Uses Wait and batching to throttle requests and avoid API rate limits.

  Requirements
  HTTP Bearer credential for Rapiwa (example name in flow: Rapiwa Bearer Auth).
  WooCommerce API credential for the trigger (example: WooCommerce (get customer))
  Running n8n instance with nodes: WooCommerce Trigger, Code, SplitInBatches, HTTP Request, IF, Google Sheets, Wait.
  Rapiwa account and a valid Bearer token.
  Google account with Sheets access and OAuth2 credentials configured in n8n.
  WooCommerce store (or any WooCommerce Trigger source) that provides billing and line_items in the payload.

  How to Use — step-by-step Setup
  1) Credentials
     Rapiwa: Create an HTTP Bearer credential in n8n and paste your token (flow example name: Rapiwa Bearer Auth).
     Google Sheets: Add an OAuth2 credential (flow example name: Google Sheets).
     WooCommerce: Add the WooCommerce API credential or configure a Webhook on your store.


  3) Configure Google Sheets
     The exported flow uses spreadsheet ID: 1S3RtGt5xxxxxxxXmQi_s (Sheet gid=0) as an example. Replace with your spreadsheet ID and sheet gid.
     Ensure your sheet column headers exactly match the mapping keys listed below (case and trailing spaces must match or be corrected in the mapping).

  5) Verify HTTP Request nodes
     Verify endpoint: POST https://app.rapiwa.com/api/verify-whatsapp — sends { number } (uses HTTP Bearer credential).
     Send endpoint: POST https://app.rapiwa.com/api/send-message — sends number, message_type=text, and a templated message that uses fields from the Clean WhatsApp Number output.

  Google Sheet Column Structure
  The Google Sheets nodes in the flow append rows with these column keys. Make sure the spreadsheet headers 
  A Google Sheet formatted like this ➤ sample

  | Name           | Number        | Email             | Address                                  | Product Title               | Product ID | Total Price   | Invoice Link                                                                                                  | Delivery Status | Validity   | Status    |
  |----------------|---------------|-------------------|------------------------------------------|-----------------------------|------------|---------------|--------------------------------------------------------------------------------------------------------------|-----------------|------------|-----------|
  | Abdul Mannan | 8801322827799 | contact@spagreen.net   | mirpur dohs                             | Air force 1 Fossil 1:1 - 44 | 238        | BDT 5500.00   | Invoice link | completed       | verified   | sent      |
  | Abdul Mannan | 8801322827799 | contact@spagreen.net   | mirpur dohs h#1168 rd#10 av#10 mirpur dohs dhaka | Air force 1 Fossil 1:1 - 44 | 238        | BDT 5500.00   | Invoice link | completed       | unverified | not sent  |

  Important Notes
  Do not hard-code API keys or tokens; always use n8n credentials.
  Google Sheets column header names must match the mapping keys used in the nodes. Trailing spaces are common accidental problems — trim them in the spreadsheet or adjust the mapping.
  The IF node in the exported flow compares to the string "true". If the verify endpoint returns boolean true/false, convert to string or boolean consistently before the IF.
  Message templates in the flow reference $('Clean WhatsApp Number').item.json.data.products[0] — update templates if you need multiple-product support.

  Useful Links
  Dashboard:** https://app.rapiwa.com
  Official Website:** https://rapiwa.com
  Documentation:** https://docs.rapiwa.com

  Support & Help
  WhatsApp**: Chat on WhatsApp
  Discord**: SpaGreen Community
  Facebook Group**: SpaGreen Support
  Website**: https://spagreen.net
  Developer Portfolio**: Codecanyon SpaGreen

nodes_used:
  ["n8n-nodes-base.if","n8n-nodes-base.wait","n8n-nodes-base.splitInBatches","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.wooCommerceTrigger","n8n-nodes-base.stickyNote","n8n-nodes-rapiwa.rapiwa","n8n-nodes-rapiwa.rapiwa"]

workflow_json_compressed:
  [encoded data, 7008 characters]


name: Automate HVAC Service Scheduling with AI Agent, Google Calendar and Gmail
author_name: Bhuvanesh R
author_username: bhuvanesh
categories: []
created_at: 2025-10-21T09:41:32.806Z
updated_at: 2025-10-21T09:41:32.806Z
url: https://n8n.io/workflows/9974
scraped_at: 2025-12-24 13:02:42
description:
  Instant, automated scheduling. This AI Scheduling Agent manages real-time appointments, availability checks, and rescheduling across Google Calendar and Sheets, eliminating human hold times.

  🎯 Problem Statement

  Traditional call center or online booking systems often lack the flexibility to handle complex, multi-step customer requests like rescheduling, checking dynamic availability across multiple time slots, or handling context-aware conversational booking. This leads to friction, missed bookings, and high administrative overhead for service companies like HVAC providers.

  ✨ Solution

  This workflow deploys a sophisticated AI Scheduling Agent that acts as a virtual receptionist. It uses the Language Model's (LLM) "tool-use" capability to intelligently execute complex, sequential business logic (e.g., check availability before booking, find existing events before rescheduling) and manages the entire lifecycle of a service appointment, from initial inquiry to final confirmation.

  ⚙️ How It Works (Multi-Step Execution)

  Trigger: A customer request (e.g., from an external voice or text platform) hits the Webhook Trigger with intent details (e.g., tool\_request: 'reschedule\_appointment').
      
  Agent Logic: The Receptionist Agent uses a strict system prompt and its internal tools to formulate an execution plan. It maintains conversational state via the simple-memory node.
      
  Tool Execution (Example: Reschedule): The Agent executes a predefined sequence of private tools:
      
      find\_old\_event: Locates the existing booking ID using the customer's email.
          
      check\_calendar: Verifies the proposed new time is available (2-hour window).
          
      reschedule\_appointment: Updates the calendar event.
          
      log\_lead: Updates the central Google Sheet.
          
  Synchronous Response: The Agent sends a confirmation or follow-up question via the respond\_to\_webhook node.
      
  Asynchronous Confirmation: The log\_lead action triggers a secondary workflow that composes a professional email via a second LLM (Anthropic) and sends it to the customer via Gmail, followed by an internal alert via Google Chat.
  🛠️ Setup Steps

  Credentials:
      
      AI/LLM: Configure credentials for the Language Model used (OpenAI or Gemini) for the core Agent.
          
      Google Services: Set up OAuth2 credentials for Google Calendar (for booking/checking), Google Sheets (for logging), and Gmail (for customer confirmation).
          
  Google Calendar: Specify the technician's calendar ID (bhuvaneshx13@gmail.com in the template) in all Calendar nodes.
      
  Google Sheets: Create a new Google Sheet to serve as the Lead Log and update the Document ID and Sheet Name in the log\_lead and log\_lead\_trigger nodes.
      
  Tool Configuration: Review and customize the Agent's system prompt in the Receptionist node to align time zone rules (currently Asia/Kolkata - IST) and business hours (9:00 AM to 6:00 PM) with your operations.
  ✅ Benefits

  Increased Efficiency: Fully automates complex scheduling and rescheduling, freeing up human staff.
      
  Contextual Service: AI handles multi-turn conversations and adheres to strict business rules (e.g., 2-hour slots, maximum tool usage).
      
  Data Integrity: Ensures all bookings are immediately logged to Google Sheets, maintaining a centralized record (CRM).
      
  Professional Flow: Provides immediate confirmation to the customer via email and instant notification to the internal team via chat.
  🚀 Other Use Cases

  The underlying multi-step, tool-execution pattern is highly versatile and can be adapted for any service industry requiring complex, rules-based scheduling:

  Real Estate:** Scheduling property viewings (Check agent availability → Book viewing → Send directions).

  HVAC Services:** Managing maintenance and repair visits (Diagnose issue type → Match with qualified technician → Check part availability → Schedule visit → Send service confirmation).
      
  Medical/Dental:** Booking patient appointments (Check insurance eligibility → Check doctor availability → Book → Send pre-visit forms).
      
  Legal Services:** Intake for consultations (Collect client issue → Check specialist availability → Book → Send retainer agreement).
      
  Automotive Repair:** Scheduling service bays (Check bay and mechanic availability → Book → Update internal service board).

nodes_used:
  ["n8n-nodes-base.webhook","@n8n/n8n-nodes-langchain.toolThink","n8n-nodes-base.respondToWebhook","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.googleSheetsTool","n8n-nodes-base.googleSheetsTrigger","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.googleCalendarTool","@n8n/n8n-nodes-langchain.anthropic","n8n-nodes-base.gmail","n8n-nodes-base.wait","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleChat","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  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


name: Automated Customer Feedback Triage & Follow-up with Gemini, Jotform, Gmail, Jira
author_name: Zain Khan
author_username: zain
categories: []
created_at: 2025-10-21T12:03:22.394Z
updated_at: 2025-10-21T12:03:22.394Z
url: https://n8n.io/workflows/9976
scraped_at: 2025-12-24 13:02:44
description:
  AI-Powered Customer Feedback: Triage and Insight-Driven Chat

  This n8n workflow creates a two-phase system for handling customer feedback received via a Jotform submission. The first agent quickly triages the issue, and the second agent engages in a persistent, conversational exchange over email to collect the information necessary for a resolution.

  Phase 1: Triage and Initial Action (AI Agent)

  This phase is triggered by a new submission on the Jotform. The goal is to immediately categorize the feedback and take the appropriate initial action.

  Jotform Trigger: The workflow starts instantly when a user submits your designated feedback form.
  AI Agent (Triage): This agent (powered by Google Gemini) is tasked with two primary jobs:
      Sentiment Analysis and Response Drafting: It reads the feedback (q6_typeA6) and the user's name (q3_name.first).
          If Positive: It uses the Send a message in Gmail tool to send a concise, appreciative thank you note.
          If Negative: It uses the Send a message in Gmail tool to send an initial, empathetic response acknowledging the issue and stating that a team member will follow up with questions. It also uses the Create an issue in Jira Software tool to log the bug or issue immediately.
      Data Structuring: It uses the Structured Output Parser to extract key data points, most importantly the threadId of the initial email, which is crucial for the follow-up conversation agent.

  Phase 2: Conversational Insight Gathering (AI Agent (Chat))

  This phase takes over for all negative feedback, engaging the customer in a back-and-forth exchange to collect essential details required for the development or support team.

  Gmail Trigger: This node is set to poll for new, unread emails (which are expected to be replies from the customer).
  Simple Memory: This node is vital for the conversational aspect. It is configured to use the unique email threadId as its session key, allowing the AI Agent to remember the entire history of the conversation (previous questions asked and details provided) across multiple emails.
  AI Agent (Chat): This is the 2nd agent and the core of the conversational process.
      Role: It acts as a dedicated feedback assistant.
      Goal: Its instruction is to reply and ask for specific, missing information needed for the ticket, such as: what device they were using, if they know the steps to reproduce the issue, and to confirm that the team will send a free coupon for credits as a thank you for their help.
      Tool: It uses the Reply to a message in Gmail tool to continue the conversation directly within the original email thread.
      Resolution: The agent is trained to look for confirmation that all necessary information has been provided. Once it determines the issue details are complete, it will send a final thank you email and automatically use the Jira tool to summarize and update the existing Jira issue with the new insights, closing the loop on the data collection process.

  Requirements

  To implement and run this automated customer feedback workflow, the following accounts and credentials are required:

  1. Automation Platform

  n8n Instance:** A running instance of n8n (Cloud or self-hosted) to host and execute the workflow.
  Sign up for n8n using: https://n8n.partnerlinks.io/pe6gzwqi3rqw

  2. Service Credentials

  You must set up and connect the following credentials within your n8n instance:

  Google Gemini API Key:* Required to power both *AI Agent** nodes for sentiment analysis and conversational follow-up.
  Gmail OAuth2/API Key:** Required for:
      The Send a message in Gmail tool (for initial replies).
      The Gmail Trigger (to detect new replies).
      The Reply to a message in Gmail tool (for the ongoing conversation).
  Jotform API Key:* Required for the *Jotform Trigger** node to instantly receive and process new form submissions.
  Sign up for Jotform using: https://www.jotform.com/?partner=zainurrehman
  Jira Software Credentials:* Required for the *Create an issue in Jira Software* tool (for the first agent) and the *Jira Tool** (for the second agent to update the ticket).

  3. External Configurations

  Jotform Setup:** A live Jotform must be configured with specific fields to capture the user's name, email, and the feedback text.
  Jira Setup:* You need a designated *Jira Project* and a defined *Issue Type** for the workflow to create and update tickets.

nodes_used:
  ["n8n-nodes-base.jotFormTrigger","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.gmailTrigger","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.gmailTool","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.gmailTool","n8n-nodes-base.set","n8n-nodes-base.jiraTool","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  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


name: AI-Powered Product Video Generator (Foreplay + Gemini + Sora 2)
author_name: Fahmi Fahreza
author_username: fahmiiireza
categories: []
created_at: 2025-10-21T14:48:34.856Z
updated_at: 2025-10-21T14:48:34.856Z
url: https://n8n.io/workflows/9986
scraped_at: 2025-12-24 13:02:41
description:
  AI-Powered Product Video Generator (Foreplay + Gemini + Sora 2)

  Sign Up For Foreplay HERE

  Automatically generate personalized, cinematic-quality product videos using Foreplay’s ad data, Google Gemini AI for creative prompts, and Sora 2 for text-to-video generation.

  Who’s it for?
  Perfect for marketers, brand managers, or creators who want to produce quick, high-quality video ads without manual scripting or editing.

  How it works
  Fetch product data and related competitor videos from Foreplay.
  Use Gemini AI to generate creative text-to-video prompts.
  Send the prompt and image to Kie.ai to generate a short, cinematic product video.
  Save the finished video automatically to Google Drive.

  How to set up
  Connect your Foreplay, Google Drive, Gemini, and Kie.ai credentials.  
  Set your product image folder's permission (Google Drive) as public.  
  Add your API keys inside the Set Workflow Credentials node.  
  Then run the workflow manually to generate your first video ad!

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.manualTrigger","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.googleDrive","n8n-nodes-base.httpRequest","n8n-nodes-base.splitOut","n8n-nodes-base.set","n8n-nodes-base.splitInBatches","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.googleDrive","n8n-nodes-base.stickyNote","n8n-nodes-base.switch"]

workflow_json_compressed:
  [encoded data, 8092 characters]


name: Auto-Create TikTok Videos with VEED.io AI Avatars, ElevenLabs & GPT-4
author_name: Dr. Firas
author_username: drfiras
categories: []
created_at: 2025-10-21T20:50:20.762Z
updated_at: 2025-10-21T20:50:20.762Z
url: https://n8n.io/workflows/10000
scraped_at: 2025-12-24 13:02:41
description:
  💥 Viral TikTok Video Machine: Auto-Create Videos with Your AI Avatar

  🎯 Who is this for?
  This workflow is for content creators, marketers, and agencies who want to use Veed.io’s AI avatar technology to produce short, engaging TikTok videos automatically.  
  It’s ideal for creators who want to appear on camera without recording themselves, and for teams managing multiple brands who need to generate videos at scale.

  ⚙️ What problem this workflow solves
  Manually creating videos for TikTok can take hours — finding trends, writing scripts, recording, and editing.  
  By combining Veed.io, ElevenLabs, and GPT-4, this workflow transforms a simple Telegram input into a ready-to-post TikTok video featuring your AI avatar powered by Veed.io — speaking naturally with your cloned voice.

  🚀 What this workflow does
  This automation links Veed.io’s video-generation API with multiple AI tools:
  Analyzes TikTok trends via Perplexity AI  
  Writes a 10-second viral script using GPT-4  
  Generates your voiceover via ElevenLabs  
  Uses Veed.io (Fabric 1.0 via FAL.ai) to animate your avatar and sync the lips to the voice  
  Creates an engaging caption + hashtags for TikTok virality  
  Publishes the video automatically via Blotato TikTok API  
  Logs all results to Google Sheets for tracking

  🧩 Setup
  Telegram Bot
     Create your bot via @BotFather
     Configure it as the trigger for sending your photo and theme

  Connect Veed.io
     Create an account on Veed.io  
     Get your FAL.ai API key (Veed Fabric 1.0 model)  
     Use HTTPS image/audio URLs compatible with Veed Fabric  

  Other APIs
     Add Perplexity, ElevenLabs, and Blotato TikTok keys  
     Connect your Google Sheet for logging results  

  🛠️ How to customize this workflow
  Change your Avatar:* Upload a new image through Telegram, and *Veed.io** will generate a new talking version automatically.  
  Modify the Script Style:** Adjust the GPT prompt for tone (educational, funny, storytelling).  
  Adjust Voice Tone:* Tweak *ElevenLabs** stability and similarity settings.  
  Expand Platforms:** Add Instagram, YouTube Shorts, or X (Twitter) posting nodes.  
  Track Performance:** Customize your Google Sheet to measure your most successful Veed.io-based videos.

  🧠 Expected Outcome
  In just a few seconds after sending your photo and theme, this workflow — powered by Veed.io — creates a fully automated TikTok video featuring your AI avatar with natural lip-sync and voice.  
  The result is a continuous stream of viral short videos, made without cameras, editing, or effort.

  ✅ Import the JSON file in n8n, add your API keys (including Veed.io via FAL.ai), and start generating viral TikTok videos starring your AI avatar today!

  🎥 Watch This Tutorial



  📄 Documentation: Notion Guide

  Need help customizing?
  Contact me for consulting and support : Linkedin / Youtube

nodes_used:
  ["n8n-nodes-base.telegramTrigger","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.perplexity","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.telegram","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.telegram","@blotato/n8n-nodes-blotato.blotato","@blotato/n8n-nodes-blotato.blotato","@blotato/n8n-nodes-blotato.blotato","n8n-nodes-base.googleSheets","@blotato/n8n-nodes-blotato.blotato","@blotato/n8n-nodes-blotato.blotato","@blotato/n8n-nodes-blotato.blotato","@blotato/n8n-nodes-blotato.blotato","@blotato/n8n-nodes-blotato.blotato","@blotato/n8n-nodes-blotato.blotato","@blotato/n8n-nodes-blotato.blotato","n8n-nodes-base.merge"]

workflow_json_compressed:
  [encoded data, 9932 characters]


name: Automate Facebook Page Token Renewal with Data Tables Storage
author_name: Đỗ Thành Nguyên
author_username: nathando
categories: []
created_at: 2025-10-22T11:31:10.436Z
updated_at: 2025-10-22T11:31:10.436Z
url: https://n8n.io/workflows/10038
scraped_at: 2025-12-24 13:02:45
description:
  Get Long-Lived Facebook Page Access Token with Data Table
  &gt; Set up n8n self-hosted via Tino.vn VPS — use code VPSN8N for up to 39% off (affiliate link).

  Good to Know

  This workflow automatically solves the common issue of Facebook Page Access Tokens expiring. It proactively renews your Page Tokens and stores them in an n8n Data Table.

  It runs every two months, ensuring your Page Access Tokens remain valid. This guarantees seamless and uninterrupted automation for all your Facebook API integrations.

  How It Works

  The workflow performs the following steps to keep your tokens up to date:

  Schedule Trigger: The workflow runs on a set schedule — every two months by default.
  Set Parameters: It initializes the required credentials: client_id, client_secret, a short-lived user_access_token, and the app_scoped_user_id (all obtained from Facebook Developer Tools).
  Get Long-Lived User Token: It exchanges the short-lived User Access Token for a long-lived one.
  Get Page Tokens: Using the long-lived User Token, it fetches all pages you manage and their corresponding Page Access Tokens.
  Update Data Table: For each page, it extracts the access_token, name, and id, then performs an Upsert operation to update or insert rows in your n8n Data Table, ensuring the stored tokens are always current.

  How to Use

  Import: Import this JSON file into your n8n instance.
  Configure Credentials: Open the Set Parameters node and replace the placeholder values for client_id, client_secret, user_access_token, and app_scoped_user_id with your actual credentials from Facebook.
  Configure Data Table: Open the Upsert row(s) node.

     Select or create an n8n Data Table to store your tokens.
     Make sure the column mapping (token, name_page, id_page) matches your table schema.
  Activate: Save and activate the workflow. It will now run automatically based on your configured schedule.

  Requirements

  n8n instance :**
  &gt; Set up n8n self-hosted via Tino.vn VPS — use code VPSN8N for up to 39% off (affiliate link).

  Facebook App:** A Facebook Developer App to generate the following credentials:

    client_id and client_secret
    A short-lived user_access_token
    app_scoped_user_id
  Data Table:** An n8n Data Table configured with columns to store token information (e.g., token, name_page, id_page).

  Customizing This Workflow

  Change Schedule:* To modify how often tokens are renewed, edit the *Schedule Trigger* node. You can change the interval from *2 months* to *1 month**, or schedule it for a specific day.
  Filter Pages:* If you only want to store tokens for specific pages, insert a *Filter* node right after *Split Out. Use the page name or ID to filter before sending data to **Upsert row(s).
  Alternative Storage:* Instead of an n8n Data Table, you can replace the *Upsert row(s)* node with another option (e.g., Google Sheets, a database, or a *Set** node) to store tokens elsewhere.

nodes_used:
  ["n8n-nodes-base.set","n8n-nodes-base.splitOut","n8n-nodes-base.set","n8n-nodes-base.dataTable","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  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


name: Automate Video Story Publishing to Facebook Page using Google Drive and Sheets
author_name: Đỗ Thành Nguyên
author_username: nathando
categories: []
created_at: 2025-10-23T02:34:17.108Z
updated_at: 2025-10-23T02:34:17.108Z
url: https://n8n.io/workflows/10067
scraped_at: 2025-12-24 13:02:43
description:
  Automated Facebook Page Story Video Publisher (Google Drive → Facebook → Google Sheet)
  &gt; Recommended: Self-hosted via tino.vn/vps-n8n?affid=388 — use code VPSN8N for up to 39% off.

  This workflow is an automated solution for publishing video content from Google Drive to your Facebook Page Stories, while using Google Sheets as a posting queue manager.

  What This Workflow Does (Workflow Function)

  This automation orchestrates a complete multi-step process for uploading and publishing videos to Facebook Stories:

  Queue Management: Every 2 hours and 30 minutes, the workflow checks a Google Sheet (Get Row Sheet node) to find the first video whose Stories column is empty — meaning it hasn’t been posted yet.
  Conditional Execution: An If node confirms that the video’s File ID exists before proceeding.
  Video Retrieval: Using the File ID, the workflow downloads the video from Google Drive (Google Drive node) and calculates its binary size (Set to the total size in bytes node).
  Facebook 3-Step Upload: It performs the Facebook Graph API’s three-step upload process through HTTP Request nodes:

     Step 1 – Initialize Session: Starts an upload session and retrieves the upload_url and video_id.
     Step 2 – Upload File: Uploads the binary video data to the provided upload_url.
     Step 3 – Publish Video: Finalizes and publishes the uploaded video as a Facebook Story.
  Status Update: Once completed, the workflow updates the same row in Google Sheets (Update upload status in sheet node) using the row_number to mark the video as processed.

  Prerequisites (What You Need Before Running)

  1. n8n Instance

  &gt; Recommended: Self-hosted via tino.vn/vps-n8n?affid=388 — use code VPSN8N for up to 39% off.

  2. Google Services

  Google Drive Credentials:** OAuth2 credentials for Google Drive to let n8n download video files.
  Google Sheets Credentials:** OAuth2 credentials for Google Sheets to read the posting queue and update statuses.
  Google Sheet:** A spreadsheet (ID: 1RnE5O06l7W6TLCLKkwEH5Oyl-EZ3OE-Uc3OWFbDohYI) containing:

    File ID — the video’s unique ID in Google Drive.
    Stories — posting status column (leave empty for pending videos).
    row_number — used for updating the correct row after posting.

  3. Facebook Setup

  Page ID:** Your Facebook Page ID (currently hardcoded as 115432036514099 in the info node).
  Access Token:* A *Page Access Token** with permissions such as pages_manage_posts and pages_read_engagement.
    This token is hardcoded in the info node and again in Step 3. Post video.

  Usage Guide and Implementation Notes

  How to Use

  Queue Videos: Add video entries to your Google Sheet. Each entry must include a valid Google Drive File ID. Leave the Stories column empty for videos that haven’t been posted.
  Activate: Save and activate the workflow. The Schedule Trigger will automatically handle new uploads every 2 hours and 30 minutes.

  Implementation Notes

  ⚠️ Token Security:* Hardcoding your *Access Token* inside the info node is *not recommended**. Tokens expire and expose your Page to risk if leaked.
    👉 Action: Replace the static token with a secure Credential setup that supports token rotation.

  Loop Efficiency:* The *“false”** output of the If node currently loops back to the Get Row Sheet node. This creates unnecessary cycles if no videos are found.
    👉 Action: Disconnect that branch so the workflow stops gracefully when no unposted videos remain.

  Status Updates:* To prevent re-posting the same video, the final Update upload status in sheet node must update the *Stories** column (e.g., write "POSTED").
    👉 Action: Add this mapping explicitly to your Google Sheets node.

  Automated File ID Sync:** This workflow assumes that the Google Sheet already contains valid File IDs.
    👉 You can build a secondary workflow (using Schedule Trigger1 → Search files and folders → Append or update row in sheet) to automatically populate new video File IDs from your Google Drive.

  ✅ Result

  Once active, this workflow automatically:

  pulls pending videos from your Google Sheet,
  uploads them to Facebook Stories,
  and marks them as posted — all without manual intervention.

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.googleDrive","n8n-nodes-base.set","n8n-nodes-base.googleDrive","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.if","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5064 characters]


name: Find Domain-Based Gmail Addresses for Outreach with EmailListVerify & Google Sheet
author_name: EmailListVerify
author_username: emaillistverify
categories: []
created_at: 2025-10-23T03:25:32.259Z
updated_at: 2025-10-23T03:25:32.259Z
url: https://n8n.io/workflows/10068
scraped_at: 2025-12-24 13:02:45
description:
  Who is this template for?
  This template is designed for link building. When you reach out to some small blogs it is common for the owner to have an address like DomainName@gmail.com.

  This workflow will find such emails for you. 

  What problem does this workflow solve?
  Get from a list of domain names to a list of email addresses. This is perfect to prepare a cold outreach campaign for link building.

  This workflow allows you to find email addresses with any extension. I recommend searching for Gmail as a starting Point. But you can also use workflow to check for other email providers.

  Pro-tip: Check the email provider used in the geography you target:
  Lapost.net for France
  Seznam.cz for Czechia

  What this workflow does
  This workflow will:
  Generate email candidates based on the domain name and root you are providing
  Check if those email addresses are valid using EmailListVerify

  ##Requirement
  This template uses:
  Google Sheet to handle input and output data
  EmailListVerify to discover email (from $0.05 per email)

  Setup (10 minutes)
  1: Make a copy of the GoogleSheet template
  2: In "[Input] pattern" sheet write the email extension you want to check. Gmail is a no-brainer. Depending on the location you target, you might want to include local email providers like laposte.net for France.
  3: In "[Input] domain" put the domain for which you want to find email addresses. 
  4: Add your EmailListVerify API key to setting to the 3rd step
  5: Update Google Sheet node to point to your copy of the template
  6: Trigger the workflow

nodes_used:
  ["n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.merge","n8n-nodes-base.httpRequest","n8n-nodes-base.merge","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.manualTrigger"]

workflow_json_compressed:
  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


name: Content Farming v4 - Blog Automation for Wordpress using ChatGPT 5 and Gemini
author_name: Jay Emp0
author_username: jay-emp0
categories: []
created_at: 2025-10-23T08:11:15.791Z
updated_at: 2025-10-23T08:11:15.791Z
url: https://n8n.io/workflows/10079
scraped_at: 2025-12-24 13:02:44
description:
  AI Powered Blog Automation Workflow for WordPress and Twitter - v4 Revolution

  &gt;  Watch the Youtube Tutorial video


  This is the most advanced AI-powered blog content generation and distribution workflow ever built for the n8n automation platform. Version 4 introduces groundbreaking improvements including GPT-5 model integration, 50-70% cost reduction, intelligent internal linking, automatic FAQ generation, and enterprise-grade content validation. It's designed for solo founders, creators, indie hackers, marketers, SEO consultants, or lean startup teams who want to dominate their niche with high-quality, search-optimized articles that drive traffic and conversions.



  Running a blog is essential to drive traffic, build authority, and rank on Google, but it's time consuming and expensive to manage. This workflow turns your blog into a self-optimizing content engine that generates, enhances, validates, and publishes articles every day using a team of autonomous AI agents powered by the latest GPT-5 models. If you want to boost your site's visibility, improve your internal linking structure, and promote content across multiple channels like WordPress, Twitter, and Dev.to, this is the most powerful solution available.

  Important links

  ✨ V3 workflow on n8n - Previous version
  📚 See articles generated with V4 - Live examples from this workflow
  📊 Google Sheets Configuration Template - Copy and customize for your blog
  🛒 V4 Available Now: Contact us for pricing and access
  🔄 V3 Upgrade Path: Existing V3 customers get discounted V4 upgrade

  Before You Start

  To get the most out of this workflow, prepare the following:

  Copy the Google Sheets Template** - Make a copy here and fill in your:
    Content categories with WordPress IDs
    Brand customization data
    Brand customization data
  Prepare your WordPress site** with existing content for internal linking (the more posts, the better)
  Set up Yoast SEO plugin** (optional but recommended for maximum SEO integration)
  Know your audience** - Developers? Founders? Investors? Enterprises?

  How It Works

  Step 1**: Topic Discovery \+ Web Search \+ Vectorization
  Step 2**: Topic Generation with Advanced Semantic Clustering
  Step 3**: Article Intelligence + Keyword Extraction
  Step 4**: Content Generation (Enhanced Multi-Agent Loop with Memory)
  Step 5**: Blog Title Optimization with CTR Scoring
  Step 6**: Yoast SEO Metadata Generation
  Step 7**: AI Image Generation with Gemini (Gemini node/API)
  Step 8**: WordPress Draft Creation with Internal Links
  Step 9**: Multi-Platform Distribution (Twitter, Dev.to)

  Read the complete technical architecture and setup guide

  Google Sheets Configuration (NEW in V4)

  V4 introduces centralized configuration via Google Sheets, making it easy to manage multiple blogs and customize your content strategy without editing the workflow.

  📊 Configuration Template Structure

  Make a copy of the template here

  The template contains 2 sheets:

  Sheet 1: category
  Define your content pillars and map them to WordPress categories:

  Sheet 2: data
  Customize your brand and workflow behavior:

  Sheet 3: rss feed
  List out websites you would like to use as reference

  Why Google Sheets?

  ✅ No workflow editing needed - Update categories and brand settings without touching n8n
  ✅ Multi-site management - One sheet per blog, easily switch between configurations
  ✅ Team collaboration - Share with your content team for easy updates
  ✅ Version control - Google Sheets tracks all changes automatically
  ✅ Centralized control - Manage all content pillars from one place

  Clone the Google Sheets Configuration Example

  See Technical Setup.md for complete Google Sheets integration instructions.

  What's New in V4? Revolutionary Upgrades from V3

  1. GPT-5 Model Integration (MASSIVE Performance Boost)

  Version 4 leverages OpenAI's latest GPT-5 model family for unprecedented quality and efficiency:

  GPT-5-nano**: Ultra-fast reasoning for decision-making tasks
  GPT-5-mini**: Standard content generation with 3x speed improvement
  GPT-4.1-mini**: Title optimization and metadata
  GPT-4o**: Complex multi-step reasoning for content writing

  Impact: 40-50% faster execution, improved coherence, better SEO optimization

  2. 50-70% Cost Reduction on Images

  V3**: Leonardo AI ($0.10-0.15 per image)
  V4**: Gemini Flash 2.5 Nano Banana  ($0.03 per image)
  Bonus**: Brand mascot (cat-themed) images for higher engagement and memorability
  Quality**: Consistent professional quality with improved WordPress rendering (no more broken/weird images)

  Savings: $300-500 per month for high-volume blogs

  3. Intelligent Internal Linking System

  The Game-Changer for SEO:

  V4 automatically fetches your existing WordPress posts and intelligently weaves internal links throughout your content:

  Fetches posts with Yoast SEO metadata (og_url, og_title)
  Content Writer Agent uses MongoDB Memory to track link usage
  Maximum 3 inbound links per article (configurable)
  Smart placement in relevant paragraphs
  Memory prevents duplicate link usage across sections

  Impact: Dramatically improved site structure, better crawlability, higher page authority distribution

  4. Automatic FAQ Schema Generation

  Every article includes a professionally styled FAQ section:

  5 targeted questions** based on search intent
  Custom HTML/CSS accordion** with black background and lime green accents
  First FAQ item expanded by default
  Optimized for Google Featured Snippets
  Direct WordPress Custom HTML block compatibility

  Impact: 3-5x higher chance of featured snippet ranking, improved dwell time

  5. Advanced Link Validation System

  Zero broken links, guaranteed:

  New "check link status" MCP tool validates every URL before insertion
  Content Writer Agent instructed: "Test all the urls you want to add to the article is valid or not before writing. If it's not valid Replace it or Remove that link"
  Automatic fallback to alternative sources
  Explicit ban on placeholder URLs (example.com, placeholder.com)

  Impact: Perfect link hygiene, improved user experience, better SEO

  6. Dual Vector Database Architecture

  Optimized for performance and cost:

  V3**: Single collection for all data (expensive, slower)
  V4**: Separated architecture:
    news articles - Full metadata storage
    news chunks - Vectorized text for semantic search
  Deduplication with SHA256 content fingerprints
  Automatic cleanup operations
  Improved query performance (50% faster)

  Savings: 40-60% storage cost reduction

  7. Enhanced Agent System with Memory

  9 Specialized AI Agents (upgraded from 3):

  Topic Generation Agent - Semantic clustering with GPT-5-mini
  Article Intelligence Agent - Entity extraction, fact gathering
  Task Definition Agent - Content structure planning
  Content Writer Agent (GPT-4o) - Section generation with MCP tools:
     Web Search (outbound links)
     Image Generator (Gemini Flash 2.5 Nano Banana)
     Chart Generator (QuickChart)
     Link Validator
     Think Tool (reasoning)
     Memory Tool (tracks inbound link usage)
  Quality Check Agent - SEO validation and scoring
  Blog Title Generator - CTR-optimized titles
  Metadata Generator - Yoast SEO integration
  Markdown to HTML Agent - Content conversion
  Image Prompt Agent - Featured image generation

  Memory System: MongoDB Chat Memory with 25-message context window ensures consistency across agent interactions

  8. Direct Yoast SEO Integration

  Automatic yoast_description and yoast_keyword injection
  WordPress REST API PUT requests to update meta fields
  Focus keyword optimization
  Meta description targeting

  Impact: Seamless SEO workflow, no manual Yoast configuration needed

  9. Brand Integration in Conclusions

  Every article includes your customized brand signature and call-to-action in the conclusion:

  10. Smarter Content Quality Rules

  Flesch Reading Ease**: 60+ (college reading level)
  Sentence length**: Under 20 words average
  Transition words**: 30% minimum
  Active voice**: Mandatory preference
  Paragraph length**: 3-5 sentences maximum
  Word count**: 1200 words (optimized from V3's 1500 for better engagement)
  Visual content**: Exactly 1 image + 1 table per article
  No back-to-back visuals**: Images/tables separated by text

  11. Enhanced Slug and Title Optimization

  Slug Generation:
  Must include main keyword
  Maximum 5 words
  Regex validated: ^[a-z0-9]+(?:-[a-z0-9]+)*$

  Title Optimization:
  Preference for question format ("How to...", "What are...")
  Maximum 10 words
  Scored on 4 metrics:
    Emotional Impact (1-10)
    Clarity & Relevance (1-10)
    SEO Strength (1-10)
    Clickability (1-10)
  Highest average score wins

  What makes this flow unique?

  This isn't just automation. It's AI orchestration at scale. You get a full-scale, enterprise-grade content team simulated by multi-agent communication with persistent memory.

  Multi-Agent Architecture with Memory

  Unlike simple AI workflows that use a single prompt, V4 uses 9 specialized agents that collaborate through shared memory and JSON state:

  Task Manager** defines objectives and assigns sections
  Content Generator** (GPT-4o) equipped with 6 MCP tools
  Quality Control** validates SEO metrics, readability, and structure
  Memory System** ensures no duplicate links or repetitive content

  Each agent operates on specific content blocks, reducing token usage by 40% while improving output quality.

  MCP Tools for Professional Content

  The Content Writer Agent has access to enterprise-grade tools:

  Web Search Tool - Real-time internet search for factual support and outbound links

  Image Generation - Gemini Flash 2.5 Nano Banana (brand mascot cat images)



  Chart Generator - QuickChart for data visualization

  Table Generator - Structured HTML tables

  Link Validator - Real-time URL health checking

  Think Tool - Allows agents to reason before acting

  Memory Tool - Tracks inbound link usage to prevent duplicates

  Example Article Generated by V4

  See the complete article structure with all V4 features in action:

  Revenue Potential & Monetization Use Cases

  This workflow can generate substantial revenue if deployed strategically.

  💸 Monetization Strategies

  Affiliate Blog Empire**
    Generate 10-20 long-form articles daily optimized for affiliate products, SaaS tools, or service reviews. With intelligent internal linking, each new article strengthens your entire site's authority. Insert CTAs and affiliate links to Amazon, Gumroad, Impact, or commission-based platforms.

  Lead Generation Machine**
    Target high-intent SEO keywords (e.g., "best CRM for freelancers", "how to automate Instagram"). V4's FAQ schema increases featured snippet chances by 3-5x. Capture emails via lead forms and nurture through ConvertKit or Substack—all automated.

  Agency/Client Work**
    White-label this workflow for SEO clients. Charge $500-2000/month per client for automated content generation. Your costs: ~$150/month. Profit margin: 70-90%. Scale to 10 clients = $5k-20k MRR.

  Niche Authority Sites**
    Build topical authority sites in lucrative niches (fintech, healthtech, SaaS, Web3). V4's internal linking builds a content web that Google rewards. Monetize via programmatic ads, sponsored content, or exits ($30-50k per site).

  📈 Expected Traffic Results

  Based on V3 real-world data and V4 improvements:

  Daily traffic increase**: 30-50 visitors/day (50% improvement over V3)
  Monthly cost**: ~$150 (50% reduction from V3's $250)
  Content output**: 10-15 SEO-rich posts/day
  Time to first 1k monthly visitors**: 2-3 months
  Featured snippet chances**: 3-5x higher with FAQ schema



  With V4's GPT-5 models, FAQ generation, internal linking, and link validation, expect higher engagement, lower bounce rate, better SERP visibility, and significantly improved conversion rates.

  Cost Comparison: V3 vs V4

  V3 Monthly Costs
  OpenAI API (GPT-4): ~$100
  Leonardo AI: ~$20
  MongoDB Atlas: Free (M0)
  n8n hosting: ~$20
  Total**: ~$140-150/month

  V4 Monthly Costs
  OpenAI API (GPT-5 family): ~$60-80 (40% reduction)
  Gemini Flash 2.5 Nano Banana: ~$10 (50% reduction)
  MongoDB Atlas: Free (M0)
  n8n hosting: ~$20
  Total**: ~$90-110/month

  V4 Savings: $40-50/month (35% cost reduction) while producing higher quality content

  ROI: If generating 10 articles/day at market rate of $50/article = $15k/month value for $100/month cost

  Need Help or Customization?

  Need to customize this workflow for your niche? Or need help setting it up? We offer:

  Free Setup Support**: Email assistance for V4 purchasers
  Custom Integration**: Tailored modifications for your tech stack
  Enterprise Deployment**: Multi-site, white-label solutions
  Training & Consulting**: 1-on-1 workflow optimization sessions

  ⭐ Read Customer Reviews (V3 reviews - V4 reviews coming soon)
  ✍️ Write to us: tools@emp0.com
  ?? Join AI + Automation Discord: https://discord.gg/qg3qVfFchV

  Join the community

  Other free n8n workflows
  GitHub repository
  Join AI + Automation Discord
  Official website

  Changelog: V3 to V4 Revolution

  What's Changed?

  ✅ Upgraded to GPT-5 - 40-50% cost reduction + 3x speed improvement + better reasoning across all agents
  ✅ Switched to Gemini Flash 2.5 Nano Banana for image generation - 50-70% cheaper than Leonardo AI
  ✅ Google Sheets category tracking - Centralized content pillar management for easier configuration across multiple sites
  ✅ Fixed weird and broken images inside blog posts - improved rendering and WordPress compatibility
  ✅ Brand mascot images (cat-themed) to make content more catchy and engaging
  ✅ Separated news vector database into news articles and news chunks collections to reduce storage size by 40-60%
  ✅ Auto-delete news chunks after article generation to keep storage costs minimal
  ✅ MongoDB chat history integration - seamless agent coordination and memory for tracking inbound link usage
  ✅ WordPress data fetching to automatically add intelligent inbound links (max 3 per article)
  ✅ Removed redundant content blocks - cleaner article structure and better readability
  ✅ Direct Yoast SEO field integration - sends yoast_description and yoast_keyword to WordPress via REST API
  ✅ Optimized quality check loops - reduced iterations to increase accuracy and decrease token costs
  ✅ Link validator tool - checks if links are broken before insertion, guaranteeing zero 404s
  ✅ Reduced scheduler nodes - fewer execution counts for cheaper costs on n8n Cloud (optimized for cost efficiency)

  V3 Limitations (All Solved in V4)

  ❌ No internal linking → weak site structure
  ❌ Expensive Leonardo AI → high image costs
  ❌ No FAQ sections → missed featured snippets
  ❌ Basic GPT-4 models → slower, more expensive
  ❌ No link validation → occasional broken links
  ❌ Single vector collection → high storage costs
  ❌ No memory system → inconsistent agent behavior
  ❌ Generic image prompts → lower engagement
  ❌ Broken/weird images → poor WordPress rendering
  ❌ Manual category management → hard to scale
  ❌ Redundant content blocks → bloated articles
  ❌ Too many scheduler nodes → expensive n8n Cloud costs

  Comparison: V2 vs V3 vs V4

  | Feature | V2 (Free) | V3 ($29) | V4 (Available Now) |
  |---------|-----------|----------|------------------|
  | AI Models | GPT-4 | GPT-4, GPT-4o | GPT-5, GPT-4.1, GPT-4o |
  | Word Count | 600-800 | 1500 | 1200 (optimized) |
  | Images | None | Leonardo AI | Gemini Flash 2.5 (50% cheaper) |
  | Tables/Charts | None | Yes | Yes |
  | Outbound Links | Limited | Yes | Yes (validated) |
  | Internal Links | None | None | Yes (intelligent) |
  | FAQ Section | None | None | Yes (schema optimized) |
  | Link Validation | None | None | Yes |
  | Memory System | None | None | Yes |
  | Yoast Integration | None | Basic | Advanced |
  | Vector DB | None | Single collection | Dual collection |
  | Monthly Cost | $20 | $150 | ~$100 |
  | Articles/Day | 5-10 | 10-15 | 10-15 |
  | SEO Quality | Basic | Advanced | Enterprise |
  | Featured Snippets | Low chance | Medium chance | 3-5x higher |

  Technical Requirements

  n8n instance** (Cloud or self-hosted on Railway/Hostinger)
  For n8n Cloud, the standard plan ($20/month) is sufficient — V4 reduces scheduler nodes and execution frequency.
  OpenAI API** account with GPT-5 access
  MongoDB Atlas** account (free M0 tier sufficient to start)
  WordPress* site with REST API enabled with *Yoast SEO plugin** (optional but recommended)
  Google account** (for Google Sheets categories)
  Twitter Developer** account (for Twitter distribution) OPTIONAL
  Dev.to** account (for cross-posting) OPTIONAL

  See Technical Setup.md for complete installation guide.

nodes_used:
  ["n8n-nodes-base.splitOut","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.rssFeedRead","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.aggregate","n8n-nodes-base.filter","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.splitOut","n8n-nodes-base.mongoDb","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.mongoDb","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.mongoDb","n8n-nodes-base.mongoDb","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.splitOut","n8n-nodes-base.splitInBatches","n8n-nodes-base.code","n8n-nodes-base.mongoDb","n8n-nodes-base.mongoDb","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.vectorStoreMongoDBAtlas","n8n-nodes-base.splitInBatches","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.crypto","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.vectorStoreMongoDBAtlas","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.if","n8n-nodes-base.splitInBatches","n8n-nodes-base.splitOut","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.scheduleTrigger","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.code","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.toolThink","@n8n/n8n-nodes-langchain.toolWorkflow","n8n-nodes-base.mongoDb","n8n-nodes-base.code","n8n-nodes-base.aggregate","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.mongoDb","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.toolWorkflow","n8n-nodes-base.mongoDb","n8n-nodes-base.mongoDb","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.code","n8n-nodes-base.wordpress","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.embeddingsOpenAi","n8n-nodes-base.stickyNote","n8n-nodes-base.twitter","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.splitOut","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.aggregate","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.mongoDb","n8n-nodes-base.code","n8n-nodes-base.mongoDb","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.mongoDb","n8n-nodes-base.wordpress","n8n-nodes-base.mongoDb","n8n-nodes-base.code","n8n-nodes-base.mongoDb","n8n-nodes-base.code","n8n-nodes-base.mongoDb","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.mongoDb","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.stickyNote","n8n-nodes-base.mongoDb","n8n-nodes-base.mongoDb","n8n-nodes-base.mongoDb","n8n-nodes-base.mongoDb","n8n-nodes-base.aggregate","n8n-nodes-base.mongoDb","n8n-nodes-base.wordpress","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.splitOut","n8n-nodes-base.splitInBatches","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.code","n8n-nodes-base.mongoDb","n8n-nodes-base.code","n8n-nodes-base.limit","n8n-nodes-base.mongoDb","n8n-nodes-base.code","n8n-nodes-base.mongoDb","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.toolWorkflow","n8n-nodes-base.if","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.mongoDb","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.executeWorkflow","n8n-nodes-base.mongoDb","n8n-nodes-base.mongoDb","n8n-nodes-base.mongoDb","@n8n/n8n-nodes-langchain.memoryMongoDbChat","n8n-nodes-base.googleSheets","n8n-nodes-base.aggregate","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.stickyNote","n8n-nodes-base.mongoDb","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets"]

workflow_json_compressed:
  [encoded data, 12036 characters]


name: Document RAG & Chat Agent: Google Drive to Qdrant with Mistral OCR
author_name: DIGITAL BIZ TECH
author_username: dbt
categories: []
created_at: 2025-10-24T01:10:25.155Z
updated_at: 2025-10-24T01:10:25.155Z
url: https://n8n.io/workflows/10096
scraped_at: 2025-12-24 13:02:41
description:
  Knowledge RAG & AI Chat Agent: Google Drive to Qdrant

  Description

  This workflow transforms a Google Drive folder into an intelligent, searchable knowledge base and provides a chat agent to query it.  
  It’s composed of two distinct flows:  
  An ingestion pipeline to process documents.  
  A live chat agent that uses RAG (Retrieval-Augmented Generation) and optional web search to answer user questions.  

  This system fully automates the creation of a “Chat with your docs” solution and enhances it with external web-searching capabilities.

  Quick Implementation Steps

  Import the workflow JSON into your n8n instance.  
  Set up credentials for Google Drive, Mistral AI, OpenAI, and Qdrant.  
  Open the Web Search node and add your Tavily AI API key to the Authorization header.  
  In the Google Drive (List Files) node, set the Folder ID you want to ingest.  
  Run the workflow manually once to populate your Qdrant database (Flow 1).  
  Activate the workflow to enable the chat trigger (Flow 2).  
  Copy the public webhook URL from the When chat message received node and open it in a new tab to start chatting.

  What It Does

  The workflow is divided into two primary functions:

  1. Knowledge Base Ingestion (Manual Trigger)  
  This flow populates your vector database.  

  Scans Google Drive:** Lists all files from a specified folder.  
  Processes Files Individually:** Downloads each file.  
  Extracts Text via OCR:* Uses *Mistral AI OCR API** for text extraction from PDFs, images, etc.  
  Generates Smart Metadata:** A Mistral LLM assigns metadata like document_type, project, and assigned_to.  
  Chunks & Embeds:* Text is cleaned, chunked, and embedded via *OpenAI’s text-embedding-3-small** model.  
  Stores in Qdrant:** Text chunks, embeddings, and metadata are stored in a Qdrant collection (docaiauto).  

  2. AI Chat Agent (Chat Trigger)  
  This flow powers the conversational interface.  

  Handles User Queries:** Triggered when a user sends a chat message.  
  Internal RAG Retrieval:* Searches *Qdrant Vector Store** first for answers.  
  Web Search Fallback:* If unavailable internally, the agent offers to perform a *Tavily AI web search**.  
  Contextual Responses:** Combines internal and external info for comprehensive answers.

  Who's It For

  Ideal for:

  Teams building internal AI knowledge bases from Google Drive.  
  Developers creating AI-powered support, research, or onboarding bots.  
  Organizations implementing RAG pipelines.  
  Anyone making unstructured Google Drive documents searchable via chat.

  Requirements

  n8n instance** (self-hosted or cloud).  
  Google Drive Credentials** (to list and download files).  
  Mistral AI API Key** (for OCR & metadata extraction).  
  OpenAI API Key** (for embeddings and chat LLM).  
  Qdrant instance** (cloud or self-hosted).  
  Tavily AI API Key** (for web search).

  How It Works

  The workflow runs two independent flows in parallel:

  Flow 1: Ingestion Pipeline (Manual Trigger)

  List Files: Fetch files from Google Drive using the Folder ID.  
  Loop & Download: Each file is processed one by one.  
  OCR Processing:  
     Upload file to Mistral  
     Retrieve signed URL  
     Extract text using Mistral DOC OCR  
  Metadata Extraction: Analyze text using a Mistral LLM.  
  Text Cleaning & Chunking: Split into 1000-character chunks.  
  Embeddings Creation: Use OpenAI embeddings.  
  Vector Insertion: Push chunks + metadata into Qdrant.  

  Flow 2: AI Chat Agent (Chat Trigger)

  Chat Trigger: Starts when a chat message is received.  
  AI Agent: Uses OpenAI + Simple Memory to process context.  
  RAG Retrieval: Queries Qdrant for related data.  
  Decision Logic:  
     Found → Form answer.  
     Not found → Ask if user wants web search.  
  Web Search: Performs Tavily web lookup.  
  Final Response: Synthesizes internal + external info.

  How To Set Up

  1. Import the Workflow
  Upload the provided JSON into your n8n instance.

  2. Configure Credentials
  Create and assign:

  Google Drive** → Google Drive nodes  
  Mistral AI** → Upload, Signed URL, DOC OCR, Cloud Chat Model  
  OpenAI** → Embeddings + Chat Model nodes  
  Qdrant** → Vector Store nodes  

  3. Add Tavily API Key
  Open Web Search node → Parameters → Headers  
  Add your key under Authorization (e.g., tvly-xxxx).  

  4. Node Configuration
  Google Drive (List Files):** Set Folder ID.  
  Qdrant Nodes:** Ensure same collection name (docaiauto).  

  5. Run Ingestion (Flow 1)
  Click Test workflow to populate Qdrant with your Drive documents.  

  6. Activate Chat (Flow 2)
  Toggle the workflow ON to enable real-time chat.  

  7. Test
  Open the webhook URL and start chatting!

  How To Customize

  Change LLMs:** Swap models in OpenAI or Mistral nodes (e.g., GPT-4o, Claude 3).  
  Modify Prompts:** Edit the system message in ai chat agent to alter tone or logic.  
  Chunking Strategy:** Adjust chunkSize and chunkOverlap in the Code node.  
  Different Sources:** Replace Google Drive with AWS S3, Local Folder, etc.  
  Automate Updates:* Add a *Cron** node for scheduled ingestion.  
  Validation:** Add post-processing steps after metadata extraction.  
  Expand Tools:** Add more functional nodes like Google Calendar or Calculator.

  Use Case Examples

  Internal HR Bot:** Answer HR-related queries from stored policy docs.  
  Tech Support Assistant:** Retrieve troubleshooting steps for products.  
  Research Assistant:** Summarize and compare market reports.  
  Project Management Bot:** Query document ownership or project status.

  Troubleshooting Guide

  | Issue | Possible Solution |
  |------------|------------------------|
  | Chat agent doesn’t respond | Check OpenAI API key and model availability (e.g., gpt-4.1-mini). |
  | Known documents not found | Ensure ingestion flow ran and both Qdrant nodes use same collection name. |
  | OCR node fails | Verify Mistral API key and input file integrity. |
  | Web search not triggered | Re-check Tavily API key in Web Search node headers. |
  | Incorrect metadata | Tune Information Extractor prompt or use a stronger Mistral model. |

  Need Help or More Workflows?
  Want to customize this workflow for your business or integrate it with your existing tools?  
  Our team at Digital Biz Tech can tailor it precisely to your use case  from automation logic to AI-powered enhancements.  

   We can help you set it up for free — from connecting credentials to deploying it live.

  Contact: shilpa.raju@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.

nodes_used:
  ["@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.toolHttpRequest","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.vectorStoreQdrant","@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.textSplitterCharacterTextSplitter","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.manualTrigger","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.vectorStoreQdrant","@n8n/n8n-nodes-langchain.lmChatMistralCloud","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.splitInBatches","n8n-nodes-base.set","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.informationExtractor","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 13064 characters]


name: AI Website Scraper & Company Intelligence
author_name: DIGITAL BIZ TECH
author_username: dbt
categories: []
created_at: 2025-10-24T01:38:47.520Z
updated_at: 2025-10-24T01:38:47.520Z
url: https://n8n.io/workflows/10097
scraped_at: 2025-12-24 13:02:43
description:
  AI Website Scraper & Company Intelligence

  Description

  This workflow automates the process of transforming any website URL into a structured, intelligent company profile.  
  It's triggered by a form, allowing a user to submit a website and choose between a "basic" or "deep" scrape.

  The workflow extracts key information (mission, services, contacts, SEO keywords), stores it in a structured Supabase database, and archives a full JSON backup to Google Drive.  
  It also features a secondary AI agent that automatically finds and saves competitors for each company, building a rich, interconnected database of company intelligence.

  Quick Implementation Steps

  Import the Workflow: Import the provided JSON file into your n8n instance.
  Install Custom Community Node:  
     You must install the community node from:  
    https://www.npmjs.com/package/n8n-nodes-crawl-and-scrape
  FIRECRAWL  N8N Documentation
    https://docs.firecrawl.dev/developer-guides/workflow-automation/n8n


  Install Additional Nodes:  
     n8n-nodes-crawl-and-scrape and n8n-nodes-mcp fire crawl mcp   .
  Set up Credentials:  
     Create credentials in n8n for  FIRE CRAWL API,Supabase, Mistral AI, and Google Drive.
  Configure API Key (CRITICAL):  
     Open the Web Search tool node.  
     Go to Parameters → Headers and replace the hardcoded Tavily AI API key with your own.
  Configure Supabase Nodes:  
     Assign your Supabase credential to all Supabase nodes.  
     Ensure table names (e.g., companies, competitors) match your schema.
  Configure Google Drive Nodes:  
     Assign your Google Drive credential to the Google Drive2 and save to Google Drive1 nodes.  
     Select the correct Folder ID.
  Activate Workflow:  
     Turn on the workflow and open the Webhook URL in the “On form submission” node to access the form.

  What It Does

  Form Trigger
  Captures user input: “Website URL” and “Scraping Type” (basic or deep).

  Scraping Router
  A Switch node routes the flow:
  Deep Scraping →** AI-based MCP Firecrawler agent.  
  Basic Scraping →** Crawlee node.

  Deep Scraping (Firecrawl AI Agent)
  Uses Firecrawl and Tavily Web Search.
  Extracts a detailed JSON profile: mission, services, contacts, SEO keywords, etc.

  Basic Scraping (Crawlee)
  Uses Crawl and Scrape node to collect raw text.  
  A Mistral-based AI extractor structures the data into JSON.

  Data Storage
  Stores structured data in Supabase tables (companies, company_basicprofiles).
  Archives a full JSON backup to Google Drive.

  Automated Competitor Analysis
  Runs after a deep scrape.
  Uses Tavily web search to find competitors (e.g., from Crunchbase).
  Saves competitor data to Supabase, linked by company_id.

  Who's It For

  Sales & Marketing Teams:** Enrich leads with deep company info.  
  Market Researchers:** Build structured, searchable company databases.  
  B2B Data Providers:** Automate company intelligence collection.  
  Developers:** Use as a base for RAG or enrichment pipelines.

  Requirements

  n8n instance** (self-hosted or cloud)
  Supabase Account:** With tables like companies, competitors, social_links, etc.
  Mistral AI API Key**
  Google Drive Credentials**
  Tavily AI API Key**
  (Optional) Custom Nodes:  
    n8n-nodes-crawl-and-scrape  
  How It Works

  Flow Summary
  Form Trigger: Captures “Website URL” and “Scraping Type”.
  Switch Node:  
     deep → MCP Firecrawler (AI Agent).  
     basic → Crawl and Scrape node.
  Scraping & Extraction:  
     Deep path: Firecrawler → JSON structure.  
     Basic path: Crawlee → Mistral extractor → JSON.
  Storage:  
     Save JSON to Supabase.  
     Archive in Google Drive.
  Competitor Analysis (Deep Only):  
     Finds competitors via Tavily.  
     Saves to Supabase competitors table.
  End: Finishes with a No Operation node.

  How To Set Up

  Import workflow JSON.
  Install community nodes (especially n8n-nodes-crawl-and-scrape from npm).
  Configure credentials (Supabase, Mistral AI, Google Drive).
  Add your Tavily API key.
  Connect Supabase and Drive nodes properly.
  Fix disconnected “basic” path if needed.
  Activate workflow.
  Test via the webhook form URL.

  How To Customize

  Change LLMs:** Swap Mistral for OpenAI or Claude.  
  Edit Scraper Prompts:** Modify system prompts in AI agent nodes.  
  Change Extraction Schema:** Update JSON Schema in extractor nodes.  
  Fix Relational Tables:** Add Items node before Supabase inserts for arrays (social links, keywords).  
  Enhance Automation:** Add email/slack notifications, or replace form trigger with a Google Sheets trigger.

  Add-ons

  Automated Trigger:** Run on new sheet rows.  
  Notifications:** Email or Slack alerts after completion.  
  RAG Integration:** Use the Supabase database as a chatbot knowledge source.

  Use Case Examples

  Sales Lead Enrichment:** Instantly get company + competitor data from a URL.  
  Market Research:** Collect and compare companies in a niche.  
  B2B Database Creation:** Build a proprietary company dataset.

  WORKFLOW IMAGE 

  Troubleshooting Guide

  | Issue | Possible Cause | Solution |
  |-------|----------------|-----------|
  | Form Trigger 404 | Workflow not active | Activate the workflow |
  | Web Search Tool fails | Missing Tavily API key | Replace the placeholder key |
  | FIRECRAWLER / find competitor fails | Missing MCP node | Install n8n-nodes-mcp |
  | Basic scrape does nothing | Switch node path disconnected | Reconnect “basic” output |
  | Supabase node error | Wrong table/column names | Match schema exactly |

  Need Help or More Workflows?
  Want to customize this workflow for your business or integrate it with your existing tools?  
  Our team at Digital Biz Tech can tailor it precisely to your use case  from automation logic to AI-powered enhancements.  

   Contact: shilpa.raju@digitalbiz.tech  
   For more such offerings, visit us: https://www.digitalbiz.tech

nodes_used:
  ["n8n-nodes-base.supabase","@n8n/n8n-nodes-langchain.lmChatMistralCloud","n8n-nodes-mcp.mcpClientTool","n8n-nodes-mcp.mcpClientTool","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.supabase","n8n-nodes-crawl-and-scrape.crawleeNode","n8n-nodes-base.formTrigger","n8n-nodes-base.switch","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.supabase","n8n-nodes-base.supabase","@n8n/n8n-nodes-langchain.lmChatMistralCloud","@n8n/n8n-nodes-langchain.informationExtractor","@n8n/n8n-nodes-langchain.lmChatMistralCloud","n8n-nodes-base.googleDrive","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-mcp.mcpClientTool","@n8n/n8n-nodes-langchain.lmChatMistralCloud","n8n-nodes-mcp.mcpClientTool","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.toolHttpRequest","n8n-nodes-base.noOp","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.convertToFile","n8n-nodes-base.stickyNote","n8n-nodes-base.convertToFile","n8n-nodes-base.googleDrive","n8n-nodes-base.supabase","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 8968 characters]


name: AI-Powered Invoice Reminder & Payment Tracker for Finance & Accounting
author_name: Oneclick AI Squad
author_username: oneclick-ai
categories: []
created_at: 2025-10-24T07:41:05.638Z
updated_at: 2025-10-24T07:41:05.638Z
url: https://n8n.io/workflows/10111
scraped_at: 2025-12-24 13:02:41
description:
  Streamline invoice management with this automated n8n workflow. Triggered daily at 9 AM, it fetches pending invoices, filters overdue ones, uses AI to generate personalized reminders, and sends them to clients. It also tracks payments via webhooks, updates statuses, and provides daily summaries to the finance team, ensuring efficient cash flow oversight.

  Key Features  
  Daily checks at 9 AM ensure timely invoice tracking.  
  AI generates personalized reminders and payment confirmations.  
  Real-time webhook integration for payment updates.  
  Daily summaries and activity logs enhance financial visibility.  

  Workflow Process  
  Schedule Daily Check** runs every day at 9 AM to initiate the workflow.  
  Fetch Pending Invoices** queries the database for unpaid invoices.  
  Filter Overdue Invoices** separates overdue invoices based on due dates.  
  Calculate Reminder Logic** applies smart logic for reminder timing and urgency.  
  Prepare AI Prompt** formats data into a tailored prompt for AI.  
  AI Agent for Generate Email** uses AI to create personalized reminder emails.  
  Format Email** styles the email with HTML for a professional look.  
  Send Email Reminder** delivers the reminder to clients.  
  Update Reminder Status** logs the sent reminder in the database.  
  Create Activity Log** generates a manual log for auditing.  
  Save Input Log** archives raw input data for analysis.  
  Generate Daily Summary** creates a report of daily metrics.  
  Send Summary to Finance Team** emails the summary to the team.  
  Webhook Payment Received** captures payment confirmations via POST.  
  Update Payment Status** updates the invoice status to "paid" in the database.  
  Webhook Response** sends an acknowledgment to the payment gateway.  
  Webhook Logic Filtering** validates webhook data.  
  Prepare AI Prompt (in payment branch)** formats payment data for AI.  
  Chat Memory Tool (in payment branch)** maintains context for AI.  
  Generate Email (in payment branch)** creates a payment confirmation email.  
  Send Payment Confirmation** emails the confirmation to the client.  

  Setup Instructions  
  Import the workflow into n8n and configure database credentials (e.g., Google Sheets or SQL) for "Fetch Pending Invoices."  
  Set up the AI service (e.g., OpenAI GPT) with an API key for email generation.  
  Configure Gmail API Key for sending emails and Slack (if integrated) for team alerts.  
  Test the workflow by adding overdue invoices and simulating a payment webhook.  
  Adjust reminder logic and thresholds (e.g., 7 days overdue) as needed.  

  Prerequisites  
  Database access (e.g., Google Sheets OAuth2 or SQL credentials)  
  OpenAI API key for AI email generation  
  Gmail API Key for email notifications  
  Payment gateway webhook integration (e.g., Stripe)  
  Structured invoice data format  

  Database Structure:  
  Create a table/sheet with columns:  
     Invoice ID  
     Client Name  
     Amount  
     Due Date  
     Status  
     Reminder Sent  
     Payment Date  

  Modification Options  
  Adjust the "Schedule Daily Check" to a different time (e.g., 8 AM IST).  
  Customize "Calculate Reminder Logic" for escalation (e.g., multiple reminders).  
  Modify AI prompts for branded or localized email content.  
  Integrate with accounting software (e.g., QuickBooks) for real-time data.  
  Enhance "Generate Daily Summary" with custom financial metrics.  

  Discover more workflows – Get in touch with us

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.postgres","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.emailSend","n8n-nodes-base.postgres","n8n-nodes-base.set","n8n-nodes-base.postgres","n8n-nodes-base.code","n8n-nodes-base.emailSend","n8n-nodes-base.webhook","n8n-nodes-base.postgres","n8n-nodes-base.respondToWebhook","n8n-nodes-base.emailSend","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 7732 characters]


name: Automate Facebook Reels Publishing with Google Sheets and Drive
author_name: Đỗ Thành Nguyên
author_username: nathando
categories: []
created_at: 2025-10-24T12:42:23.756Z
updated_at: 2025-10-24T12:42:23.756Z
url: https://n8n.io/workflows/10122
scraped_at: 2025-12-24 13:02:42
description:
  Publish a Reel on a Facebook Page
  🧠 Good to Know
  &gt;  Set up n8n self-hosted instance using https://tino.vn/vps-n8n?affid=388
  &gt;  Use the code ==VPSN8N== for up to 39% off.

  This workflow automatically uploads and publishes Facebook Reels using data from Google Sheets and video files stored in Google Drive. It runs on a schedule (every 30 minutes by default) and can be fully customized for your posting routine.

  ⚙️ How It Works

  Google Sheets provides the content data — video file ID, caption, and optional links.
  Google Drive hosts the actual video file (.mp4 format).
  The workflow initializes an upload session with the Facebook Graph API, uploads the video, and publishes it as a Reel on your Page.
  Finally, it updates your Google Sheet and adds a comment under the published Reel with your affiliate or product link.

  How to Use

  Open the template Google Sheet or make a copy:
     👉 Template Sheet

  Fill out each row with:

     File ID → the ID of your video file from Google Drive
     File name → optional
     Caption → your post caption
     Link Share → optional
     Link post → leave empty (it will be filled after posting)

  Ensure your video file:

     .mp4 format
     shared folder on Google Drive that’s accessible to your connected account

  Add your Facebook Page ID and Page Access Token to the “info” node.
     (Learn how to get these here: Facebook Reels Workflow Guide)

  📋 Requirements

  n8n instance (Self-hosted recommended):**

    Set up a self-hosted instance using https://tino.vn/vps-n8n?affid=388
    Use the code VPSN8N for up to 39% off.

  Facebook Page** with publishing permissions
  Page Access Token** (with pages_manage_posts, pages_read_engagement)
  Google Drive* and *Google Sheets** account connected to n8n
  Video files in .mp4 format, under the 1GB upload limit

  🎨 Customizing This Workflow

  Change schedule:* Adjust the *Schedule Trigger** node (e.g., every 2 hours or only during business hours).
  Track post links:** Add a node to fetch the permalink_url from the Graph API and update it in your sheet.
  Auto-comment control:** Modify or remove the “Create comment post” node to suit your campaign style.
  Improve security:* Replace hardcoded tokens with *n8n credentials, **secrets, or a Data Table lookup.

  This structure keeps your automation scalable, secure, and easy to adapt for multi-page or multi-brand use.

nodes_used:
  ["n8n-nodes-base.set","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.googleDrive","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.httpRequest","n8n-nodes-base.googleDrive","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5392 characters]


name: Nested PDF Analysis with Mistral AI & OneDrive for Document Summarization
author_name: Jordan Hoyle
author_username: jordanhoyle
categories: []
created_at: 2025-10-24T17:26:08.778Z
updated_at: 2025-10-24T17:26:08.778Z
url: https://n8n.io/workflows/10132
scraped_at: 2025-12-24 13:02:41
description:
  Description
  Automate the discovery and analysis of PDF files across a deeply nested OneDrive folder structure. This workflow recursively searches folders, filters for new or updated PDFs, extracts text, and uses a Mistral AI agent to generate a concise Executive Summary, Key Findings, and Structured Metadata (Date, Location, etc.), storing all insights into a n8n Data Table for easy access and further automation.

  Key Features & How It Works
  Scheduled Trigger & Recursive Folder Search:

  The workflow runs automatically (scheduled for 8 PM in this template) to monitor a specified main folder on OneDrive.

  It performs a deep, multi-level search (up to 8 layers) across subfolders to ensure no documents are missed.

  Smart Deduplication & Filtering:

  It checks new files against an internal n8n Data Table using the Compare Datasets node, ensuring only new or unique PDF files are processed, saving AI credits and processing time.

  A size check is also included, preventing attempts to process excessively large files.

  AI-Powered Document Intelligence (Mistral LLM):

  For each new PDF, the workflow extracts the text and passes it to a Mistral AI model for dual-stream analysis:

  Overview Agent: Generates an impartial, professional Executive Summary, a list of Key Findings & Data Points, and the document's Scope/Context.

  Document Information Agent: Extracts crucial metadata, including the single most relevant date, location (City/State/Country), and professional information (Name, Title, Organization).

  Structured Output and Archiving:

  AI outputs are meticulously validated and reformatted into a clean JSON object using Structured Output Parsers.

  The complete analysis, along with the original file name and path, is then logged as a new row in an n8n Data Table.

  Setup Notes
  OneDrive Folder: You must specify the exact name of your main folder in the 'Search for Main Folder' node.

  Data Table: Ensure your n8n Data Table exists with the required columns: Summary, Key_Findings, Scope, Date, Location, File_Name, and Path.

  Deep Folder Structure: The current configuration supports up to 8 levels of subfolders. If your files go deeper, you may need to add more "Get items in a folder" and "If" nodes.

  AI Customization: Review the AI agent prompts and the structured output schemas to customize the fields you want to extract or the summary style you require.

  Extend This Workflow
  The final output is organized data. You can easily extend this workflow to:

  Send daily/weekly digest emails with new summaries.

  Sync the extracted data to a Google Sheet, Airtable, or other database.

  Add a secondary AI agent to perform follow-up actions based on the "Key Findings."

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.microsoftOneDrive","n8n-nodes-base.microsoftOneDrive","n8n-nodes-base.microsoftOneDrive","n8n-nodes-base.microsoftOneDrive","n8n-nodes-base.microsoftOneDrive","n8n-nodes-base.microsoftOneDrive","n8n-nodes-base.merge","n8n-nodes-base.microsoftOneDrive","n8n-nodes-base.splitInBatches","@n8n/n8n-nodes-langchain.lmChatMistralCloud","n8n-nodes-base.aggregate","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.splitInBatches","n8n-nodes-base.dataTable","n8n-nodes-base.dataTable","n8n-nodes-base.microsoftOneDrive","n8n-nodes-base.microsoftOneDrive","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.compareDatasets","n8n-nodes-base.splitInBatches","n8n-nodes-base.splitInBatches","n8n-nodes-base.microsoftOneDrive","n8n-nodes-base.extractFromFile","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.merge","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  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


name: Generate AI Videos from Text or Images with Sora 2/Pro & GPT-5 Enhancement
author_name: Daniel Nkencho
author_username: daniel-automates
categories: []
created_at: 2025-10-25T00:30:00.564Z
updated_at: 2025-10-25T00:30:00.564Z
url: https://n8n.io/workflows/10139
scraped_at: 2025-12-24 13:02:41
description:
  Harness OpenAI's Sora 2 for instant video creation from text or images using fal.ai's API—powered by GPT-5 for refined prompts that ensure cinematic quality. This template processes form submissions, intelligently routes to text-to-video (with mandatory prompt enhancement) or image-to-video modes, and polls for completion before redirecting to your generated clip.

  📋 What This Template Does
  Users submit prompts, aspect ratios (9:16 or 16:9), models (sora-2 or pro), durations (4s, 8s, or 12s), and optional images via a web form. For text-to-video, GPT-5 automatically refines the prompt for optimal Sora 2 results; image mode uses the raw input. It calls one of four fal.ai endpoints (text-to-video, text-to-video/pro, image-to-video, image-to-video/pro), then loops every 60s to check status until the video is ready.
  Handles dual modes: Text (with GPT-5 enhancement) or image-seeded generation
  Supports pro upgrades for higher fidelity and longer clips
  Auto-uploads images to a temp host and polls asynchronously for hands-free results
  Redirects directly to the final video URL on completion

  🔧 Prerequisites
  n8n instance with HTTP Request and LangChain nodes enabled
  fal.ai account for Sora 2 API access
  OpenAI account for GPT-5 prompt refinement

  🔑 Required Credentials

  fal.ai API Setup
  Sign up at fal.ai and navigate to Dashboard → API Keys
  Generate a new key with "sora-2" permissions (full access recommended)
  In n8n, create "Header Auth" credential: Name it "fal.ai", set Header Name to "Authorization", Value to "Key [Your API Key]"

  OpenAI API Setup
  Log in at platform.openai.com → API Keys (top-right profile menu)
  Click "Create new secret key" and copy it (store securely)
  In n8n, add "OpenAI API" credential: Paste key, select GPT-5 model in the LLM node

  ⚙️ Configuration Steps
  Import the workflow JSON into your n8n instance via Settings → Import from File
  Assign fal.ai and OpenAI credentials to the relevant HTTP Request and LLM nodes
  Activate the workflow—the form URL auto-generates in the trigger node
  Test by submitting a sample prompt (e.g., "A cat chasing a laser"); monitor executions for video output
  Adjust polling wait (60s node) for longer generations if needed

  🎯 Use Cases
  Social Media Teams**: Generate 9:16 vertical Reels from text ideas, like quick product animations enhanced by GPT-5 for professional polish
  Content Marketers**: Animate uploaded images into 8s promo clips, e.g., turning a static ad graphic into a dynamic story for email campaigns
  Educators and Trainers**: Create 4s explainer videos from outlines, such as historical reenactments, using pro mode for detailed visuals
  App Developers**: Embed as a backend service to process user prompts into Sora 2 videos on-demand for creative tools

  ⚠️ Troubleshooting
  API quota exceeded**: Check fal.ai dashboard for usage limits; upgrade to pro tier or extend polling waits
  Prompt refinement fails**: Ensure GPT-5 credential is set and output matches JSON schema—test LLM node independently
  Image upload errors**: Confirm file is JPG/PNG under 10MB; verify tmpfiles.org endpoint with a manual curl test
  Endless polling loop**: Add an IF node after 10 checks to timeout; increase wait to 120s for 12s pro generations

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.formTrigger","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.switch","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.switch","n8n-nodes-base.httpRequest","n8n-nodes-base.form","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi"]

workflow_json_compressed:
  [encoded data, 10364 characters]


name: Send WooCommerce Discount Coupons to Customers via WhatsApp Using Rapiwa API
author_name: Rapiwa
author_username: rapiwa
categories: []
created_at: 2025-10-25T03:47:51.211Z
updated_at: 2025-10-25T03:47:51.211Z
url: https://n8n.io/workflows/10140
scraped_at: 2025-12-24 13:02:46
description:
  Who is this for?
  This workflow is ideal for WooCommerce store owners who want to automatically send promotional WhatsApp messages to their customers when new coupons are created. It’s designed for marketers and eCommerce managers looking to boost engagement, streamline coupon sharing, and track campaign performance effortlessly through Google Sheets.

  Overview
  This workflow listens for WooCommerce coupon creation events (coupon.created) and uses customer billing data to send promotional WhatsApp messages via the Rapiwa API. The flow formats the coupon data, cleans phone numbers, verifies WhatsApp registration with Rapiwa, sends the promotional message when verified, and logs each attempt to Google Sheets (separate sheets for verified/sent and unverified/not sent).

  What this Workflow Does
  Listens for new coupon creation events in WooCommerce via the WooCommerce Trigger node
  Retrieves all customer data from the WooCommerce store
  Processes customers in batches to control throughput
  Cleans and formats customer phone numbers for WhatsApp
  Verifies if phone numbers are valid WhatsApp accounts using Rapiwa API
  Sends personalized WhatsApp messages with coupon details to verified numbers
  Logs all activities to Google Sheets for tracking and analysis
  Handles both verified and unverified numbers appropriately

  Key Features
  Automated coupon distribution: Triggers when new coupons are created in WooCommerce
  Customer data retrieval: Fetches all customer information from WooCommerce
  Phone number validation: Verifies WhatsApp numbers before sending messages
  Personalized messaging: Includes customer name and coupon details in messages
  Dual logging system: Tracks both successful and failed message attempts
  Rate limiting: Uses batching and wait nodes to prevent API overload
  Data formatting: Structures coupon information for consistent messaging

  Google Sheet Column Structure
  A Google Sheet formatted like this ➤ sample
  The workflow uses a Google Sheet with the following columns to track coupon distribution:

  | name        | number        | email                                               | address1  | couponCode | couponTitle    | couponType | couponAmount | createDate          | expireDate          | validity   | status   |
  | ----------- | ------------- | --------------------------------------------------- | --------- | ---------- | -------------- | ---------- | ------------ | ------------------- | ------------------- | ---------- | -------- |
  | Abdul Mannan | 8801322827799 | contact@spagreen.net     | mirpur-DOHS | 62dhryst   | eid offer 2025 | percent    | 20.00        | 2025-09-11 06:08:02 | 2025-09-15 00:00:00 | unverified | not sent |
  | Abdul Mannan  | 8801322827799 | contact@spagreen.net | mirpur-DOHS | 62dhryst   | eid offer 2025 | percent    | 20.00        | 2025-09-11 06:08:02 | 2025-09-15 00:00:00 | verified   | sent     |

  Requirements
  n8n instance with the following nodes: WooCommerce Trigger, Code, SplitInBatches, HTTP Request, IF, Google Sheets, Wait
  WooCommerce store with API access
  Rapiwa account with API access for WhatsApp verification and messaging
  Google account with Sheets access
  Customer phone numbers in WooCommerce (stored in billing.phone field)

  Important Notes
  Phone Number Format**: The workflow cleans phone numbers by removing all non-digit characters. Ensure your WooCommerce phone numbers are in a compatible format.
  API Rate Limits**: Rapiwa and WooCommerce APIs have rate limits. Adjust batch sizes and wait times accordingly.
  Data Privacy**: Ensure compliance with data protection regulations when sending marketing messages.
  Error Handling**: The workflow logs unverified numbers but doesn't have extensive error handling. Consider adding error notifications for failed API calls.
  Message Content**: The current message template references the first coupon only (coupons[0]). Adjust if you need to handle multiple coupons.

  Useful Links
  Dashboard:** https://app.rapiwa.com
  Official Website:** https://rapiwa.com
  Documentation:** https://docs.rapiwa.com

  Support & Help
  WhatsApp**: Chat on WhatsApp
  Discord**: SpaGreen Community
  Facebook Group**: SpaGreen Support
  Website**: https://spagreen.net
  Developer Portfolio**: Codecanyon SpaGreen

nodes_used:
  ["n8n-nodes-base.if","n8n-nodes-base.wait","n8n-nodes-base.splitInBatches","n8n-nodes-base.wooCommerceTrigger","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.wooCommerce","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-rapiwa.rapiwa","n8n-nodes-rapiwa.rapiwa"]

workflow_json_compressed:
  [encoded data, 6956 characters]


name: Send WooCommerce Cross-Sell Offers to Customers via WhatsApp Using Rapiwa API
author_name: Rapiwa
author_username: rapiwa
categories: []
created_at: 2025-10-25T05:02:48.956Z
updated_at: 2025-10-25T05:02:48.956Z
url: https://n8n.io/workflows/10141
scraped_at: 2025-12-24 13:02:45
description:
  Who Is This For?
  This n8n workflow enables automated cross-selling by identifying each WooCommerce customer's most frequently purchased product, finding a related product to recommend, and sending a personalized WhatsApp message using the Rapiwa API. It also verifies whether the user's number is WhatsApp-enabled before sending, and logs both successful and unsuccessful attempts to Google Sheets for tracking.

  What This Workflow Does
  Retrieves all paying customers from your WooCommerce store  
  Identifies each customer's most purchased product  
  Finds the latest product in the same category as their most purchased item  
  Cleans and verifies customer phone numbers for WhatsApp compatibility  
  Sends personalized WhatsApp messages with product recommendations  
  Logs all activities to Google Sheets for tracking and analysis  
  Handles both verified and unverified numbers appropriately  

  Key Features
  Customer Segmentation:** Automatically identifies paying customers from your WooCommerce store  
  Product Analysis:** Determines each customer's most purchased product  
  Smart Recommendations:** Finds the latest products in the same category as customer favorites  
  WhatsApp Integration:** Uses Rapiwa API for message delivery  
  Phone Number Validation:** Verifies WhatsApp numbers before sending messages  
  Dual Logging System:** Tracks both successful and failed message attempts in Google Sheets  
  Rate Limiting:** Uses batching and wait nodes to prevent API overload  
  Personalized Messaging:** Includes customer name and product details in messages  

  Requirements
  WooCommerce store with API access  
  Rapiwa account with API access for WhatsApp verification and messaging  
  Google account with Sheets access  
  Customer phone numbers in WooCommerce (stored in billing.phone field)  

  How to Use — Step-by-Step Setup
  1. Credentials Setup
   WooCommerce API: Configure WooCommerce API credentials in n8n (e.g., "WooCommerce (get customer)" and "WooCommerce (get customer data)")  
   Rapiwa Bearer Auth: Create an HTTP Bearer credential with your Rapiwa API token  
   Google Sheets OAuth2: Set up OAuth2 credentials for Google Sheets access  

  2. Configure Google Sheets
   Ensure your sheet has the required columns as specified in the Google Sheet Column Structure section  

  3. Verify Code Nodes
   Code (get paying_customer): Filters customers to include only those who have made purchases  
   Get most buy product id & Clear Number: Identifies the most purchased product and cleans phone numbers  

  4. Configure HTTP Request Nodes
   Get customer data: Verify the WooCommerce API endpoint for retrieving customer orders  
   Get specific product data: Verify the WooCommerce API endpoint for product details  
   Get specific product recommend latest product: Verify the WooCommerce API endpoint for finding latest products by category  
   Check valid WhatsApp number Using Rapiwa: Verify the Rapiwa endpoint for WhatsApp number validation  
   Rapiwa Sender: Verify the Rapiwa endpoint for sending messages  

  Google Sheet Required Columns
  You’ll need two Google Sheets (or two tabs in one spreadsheet):
  A Google Sheet formatted like this ➤ sample
  The workflow uses a Google Sheet with the following columns to track coupon distribution:
  Both must have the following headers (match exactly):

  | name       | number      | email  | address1    | price | suk | title   | product link   | validity   | staus    |
  | ---------- | ------------- | ----------------------------------------------- | ----------- | ----- | --- | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------- | -------- |
  | Abdul Mannan | 8801322827799 | contact@spagreen.net | mirpur dohs | 850   |     | Sharp Most Demanding Hoodie x Nike |  https://your_shop_domain/p-img-nike  | verified   | sent     |
  | Abdul Mannan | 8801322827799 | contact@spagreen.net | mirpur dohs | 850   |     | Sharp Most Demanding Hoodie x Nike | https://your_shop_domain/p-img-nike | unverified | not sent |
  | Abdul Mannan | 8801322827799 | contact@spagreen.net | mirpur dohs | 850   |     | Sharp Most Demanding Hoodie x Nike | https://your_shop_domain/p-img-nike | verified   | sent     |

  Important Notes
  Phone Number Format:** The workflow cleans phone numbers by removing all non-digit characters. Ensure your WooCommerce phone numbers are in a compatible format.  
  API Rate Limits:** Rapiwa and WooCommerce APIs have rate limits. Adjust batch sizes and wait times accordingly.  
  Data Privacy:** Ensure compliance with data protection regulations when sending marketing messages.  
  Error Handling:** The workflow logs unverified numbers but doesn't have extensive error handling. Consider adding error notifications for failed API calls.  
  Product Availability:** The workflow recommends the latest product in a category, but doesn't check if it's in stock. Consider adding stock status verification.  
  Testing:** Always test with a small batch before running the workflow on your entire customer list.  

  Useful Links
  Dashboard:** https://app.rapiwa.com
  Official Website:** https://rapiwa.com
  Documentation:** https://docs.rapiwa.com

  Support & Help
  WhatsApp**: Chat on WhatsApp
  Discord**: SpaGreen Community
  Facebook Group**: SpaGreen Support
  Website**: https://spagreen.net
  Developer Portfolio**: Codecanyon SpaGreen

nodes_used:
  ["n8n-nodes-base.wooCommerce","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.splitInBatches","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-rapiwa.rapiwa","n8n-nodes-rapiwa.rapiwa"]

workflow_json_compressed:
  [encoded data, 8088 characters]


name: Website Chatbot with Google Drive Knowledge Base using GPT-4 and Mistral AI
author_name: DIGITAL BIZ TECH
author_username: dbt
categories: []
created_at: 2025-10-25T05:51:33.317Z
updated_at: 2025-10-25T05:51:33.317Z
url: https://n8n.io/workflows/10142
scraped_at: 2025-12-24 13:02:41
description:
  AI-Powered Website Chatbot with Google Drive Knowledge Base

  Overview
  This workflow combines website chatbot intelligence with automated document ingestion and vectorization — enabling live Q&A from both chat input and processed Google Drive files.  
  It uses Mistral AI for OCR + embeddings, and Qdrant for vector search.

  Chatbot Flow
  Trigger:** When chat message received or webhook based upon deployed chatbot
  Model:** OpenAI gpt-4.1-mini
  Memory:** Simple Memory (Buffer Window)
  Vector Search Tool:** Qdrant Vector Store 
  Embeddings:** Mistral Cloud
  Agent:** website chat agent
    Responds based on chatdbtai Supabase content
    Enforces brand tone and informative documents.
    Integratration  with both:
      Embedded chat UI
      Webhook 

  Document → Knowledge Base Pipeline
  Triggered manually to keep vector store up-to-date.

  Steps
  Google Drive (brand folder)  
     → Fetch files from folder Website kb (ID: 1o3DK9Ceka5Lqb8irvFSfEeB8SVGG_OL7)
  Loop Over Items  
     → For each file:
     Set metadata
     Download file
     Upload to Mistral for OCR
     Get Signed URL
     Run OCR extraction (mistral-ocr-latest)
  If OCR success  
     → Pass to chunking pipeline  
     Else → skip and continue
  Chunking Logic (Code node)  
     Splits document into 1,000-character JSON chunks  
     Adds metadata (source, char positions, file ID)
  Default Data Loader + Text Splitter  
     → Prepares chunks for embedding
  Embeddings (Mistral Cloud)  
     → Generates embeddings for text chunks
  Qdrant Vector Store (Insert mode)  
     → Saves embeddings into docragtestkb collection
  Wait  
     → Optional delay between batches

  Integrations Used
  | Service | Purpose | Credential |
  |----------|----------|------------|
  | Google Drive | File source | Google Drive account 6 rn dbt |
  | Mistral Cloud | OCR + embeddings | Mistral Cloud account 2 dbt rn |
  | Qdrant | Vector storage | QdrantApi account |
  | OpenAI | Chat model | OpenAi account 8 dbt digi |

  Agent System Prompt Summary
  &gt; “You are the official AI assistant for this website.  
  Use chatdbtai only as your knowledge source.  
  Respond conversationally, list offerings clearly, link blogs, and say  
  ‘I couldn’t find that on this site’ if no match.”

  Key Features
  ✅ Automated OCR + chunking → vectorization  
  ✅ Persistent memory for chat sessions  
  ✅ Multi-channel (Webhook + Embedded Chat)  
  ✅ Fully brand-guided, structured responses  
  ✅ Live data retrieval from Qdrant vector store  

  Summary
  &gt; A unified workflow that turns brand files + web content into a knowledge base that powers a intelligent chatbot — capable of responding to visitors in real time, powered by Mistral, OpenAI, and Qdrant.

  Need Help or More Workflows?
  Want to customize this workflow for your business or integrate it with your existing tools?  
  Our team at Digital Biz Tech can tailor it precisely to your use case  from automation logic to AI-powered enhancements.  

  💡 We can help you set it up for free — from connecting credentials to deploying it live.

  Contact: shilpa.raju@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.

nodes_used:
  ["@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.splitInBatches","n8n-nodes-base.wait","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.textSplitterCharacterTextSplitter","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.vectorStoreQdrant","@n8n/n8n-nodes-langchain.embeddingsMistralCloud","@n8n/n8n-nodes-langchain.vectorStoreQdrant","@n8n/n8n-nodes-langchain.embeddingsMistralCloud","n8n-nodes-base.manualTrigger","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.googleDrive","n8n-nodes-base.stickyNote","n8n-nodes-base.googleDrive","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.webhook","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 8212 characters]


name: Automated Template Delivery System with Stripe, GPT-4o & Gmail
author_name: Rahul Joshi
author_username: rahul08
categories: []
created_at: 2025-10-25T06:47:48.826Z
updated_at: 2025-10-25T06:47:48.826Z
url: https://n8n.io/workflows/10145
scraped_at: 2025-12-24 13:02:43
description:
  📊 Description
  Automate post-purchase workflows by instantly fetching successful Stripe payments, matching them to corresponding automation templates in Google Sheets, and sending customers personalized access emails using AI-generated content. This system ensures each buyer receives their digital template, password, and onboarding details automatically after payment. 💳📩🤖

  What This Template Does
  Step 1: Triggers daily at 7:00 AM IST to fetch all successful payment charges from Stripe. ⏰
  Step 2: Retrieves payment intent and product details for each successful charge to enrich context. 💰
  Step 3: Validates required fields (order reference, product name, customer name, email). ✅
  Step 4: Matches purchased product with the automation record in Google Sheets via AI lookup. 🔍
  Step 5: Combines Stripe and Sheet data into one record, ensuring accuracy and completeness. 🔄
  Step 6: Filters out already-processed customers to avoid duplicate sends. 🧮
  Step 7: Generates a personalized thank-you email using Azure OpenAI (GPT-4o-mini) including access links, password, and onboarding tips. 💌
  Step 8: Sends the email through Gmail to the customer automatically. 📧
  Step 9: Logs each transaction and email delivery into Google Sheets for tracking and auditing. 📊

  Key Benefits
  ✅ Fully automated Stripe-to-email delivery flow
   ✅ Zero manual intervention — instant template delivery
   ✅ AI-personalized HTML emails with customer details
   ✅ Centralized purchase logging and analytics
   ✅ Eliminates duplicates and ensures smooth customer experience

  Features
  Scheduled daily trigger (7:00 AM IST)
  Stripe API integration for payment and product details
  Google Sheets lookup for automation files and passwords
  GPT-powered email content generation
  Gmail API integration for delivery
  Google Sheets logging for audit trail

  Requirements
  Stripe API credentials
  Google Sheets OAuth2 credentials
  Gmail OAuth2 credentials
  Azure OpenAI API credentials

  Target Audience
  SaaS or digital product sellers using Stripe
  Automation template marketplaces
  Small teams delivering digital assets via email
  Businesses seeking instant customer fulfillment

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatAzureOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatAzureOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.googleSheetsTool","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stripe","n8n-nodes-base.filter","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.merge","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.merge","n8n-nodes-base.googleSheets","n8n-nodes-base.merge","n8n-nodes-base.if","n8n-nodes-base.splitInBatches","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.gmail","n8n-nodes-base.googleSheets"]

workflow_json_compressed:
  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


name: Local Document Question Answering with Ollama AI, Agentic RAG & PGVector
author_name: Jadai kongolo
author_username: jadai-ai-automation
categories: []
created_at: 2025-10-25T10:13:07.225Z
updated_at: 2025-10-25T10:13:07.225Z
url: https://n8n.io/workflows/10157
scraped_at: 2025-12-24 13:02:41
description:
  🚀 n8n Local AI Agentic RAG Template

  Author: Jadai kongolo

  What is this?
  This template provides an entirely local implementation of an Agentic RAG (Retrieval Augmented Generation) system in n8n that can be extended easily for your specific use case and knowledge base. Unlike standard RAG which only performs simple lookups, this agent can reason about your knowledge base, self-improve retrieval, and dynamically switch between different tools based on the specific question. 

  Why Agentic RAG?
  Standard RAG has significant limitations:
  Poor analysis of numerical/tabular data
  Missing context due to document chunking
  Inability to connect information across documents
  No dynamic tool selection based on question type

  What makes this template powerful:
  Intelligent tool selection**: Switches between RAG lookups, SQL queries, or full document retrieval based on the question
  Complete document context**: Accesses entire documents when needed instead of just chunks
  Accurate numerical analysis**: Uses SQL for precise calculations on spreadsheet/tabular data
  Cross-document insights**: Connects information across your entire knowledge base
  Multi-file processing**: Handles multiple documents in a single workflow loop
  Efficient storage**: Uses JSONB in Supabase to store tabular data without creating new tables for each CSV

  Getting Started
  Run the table creation nodes first to set up your database tables in Supabase
  Upload your documents to the folder on your computer that is mounted to /data/shared in the n8n container. This folder by default is the "shared" folder in the local AI package.
  The agent will process them automatically (chunking text, storing tabular data in Supabase)
  Start asking questions that leverage the agent's multiple reasoning approaches

  Customization
  This template provides a solid foundation that you can extend by:
  Tuning the system prompt for your specific use case
  Adding document metadata like summaries
  Implementing more advanced RAG techniques
  Optimizing for larger knowledge bases

  The non-local ("cloud") version of this Agentic RAG agent can be found here.

nodes_used:
  ["@n8n/n8n-nodes-langchain.documentDefaultDataLoader","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.extractFromFile","@n8n/n8n-nodes-langchain.memoryPostgresChat","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.respondToWebhook","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.chatTrigger","n8n-nodes-base.webhook","n8n-nodes-base.extractFromFile","n8n-nodes-base.aggregate","n8n-nodes-base.summarize","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.switch","n8n-nodes-base.extractFromFile","n8n-nodes-base.set","n8n-nodes-base.extractFromFile","n8n-nodes-base.stickyNote","n8n-nodes-base.postgres","n8n-nodes-base.postgres","n8n-nodes-base.postgresTool","n8n-nodes-base.postgresTool","n8n-nodes-base.postgresTool","n8n-nodes-base.splitInBatches","n8n-nodes-base.postgres","n8n-nodes-base.postgres","n8n-nodes-base.postgres","n8n-nodes-base.stickyNote","n8n-nodes-base.localFileTrigger","n8n-nodes-base.readWriteFile","@n8n/n8n-nodes-langchain.embeddingsOllama","@n8n/n8n-nodes-langchain.embeddingsOllama","@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.stickyNote","n8n-nodes-base.postgres","n8n-nodes-base.postgres","@n8n/n8n-nodes-langchain.vectorStorePGVector","@n8n/n8n-nodes-langchain.vectorStorePGVector"]

workflow_json_compressed:
  [encoded data, 9388 characters]


name: Customer Pain Analysis & AI Briefing with Anthropic, Reddit, X, and SerpAPI
author_name: Bhuvanesh R
author_username: bhuvanesh
categories: []
created_at: 2025-10-25T12:35:31.611Z
updated_at: 2025-10-25T12:35:31.611Z
url: https://n8n.io/workflows/10164
scraped_at: 2025-12-24 13:02:44
description:
  The competitive edge, delivered. This Customer Intelligence Engine simultaneously analyzes the web, Reddit, and X/Twitter to generate a professional, actionable executive briefing.

  🎯 Problem Statement

  Traditional market research for Customer Intelligence (CI) is manual, slow, and often relies on surface-level social media scraping or expensive external reports. Service companies, like HVAC providers, struggle to efficiently synthesize vast volumes of online feedback (Reddit discussions, real-time tweets, web articles) to accurately diagnose systemic service gaps (e.g., scheduling friction, poor automated systems). This inefficiency leads to delayed strategic responses and missed opportunities to invest in high-impact solutions like AI voice agents.

  ✨ Solution

  This workflow deploys a sophisticated Multisource Intelligence Pipeline that runs on a scheduled or ad-hoc basis. It uses parallel processing to ingest data from three distinct source types (SERP API, Reddit, and X/Twitter), employs a zero-cost Hybrid Categorization method to semantically identify operational bottlenecks, and uses the Anthropic LLM to synthesize the findings into a clear, executive-ready strategic brief. The data is logged for historical analysis while the brief is dispatched for immediate action.

  ⚙️ How It Works (Multi-Step Execution)
  1.  Ingestion and Parallel Processing (The Data Fabric)

  Trigger:** The workflow is initiated either on an ad-hoc basis via an n8n Form Trigger or on a schedule (Time Trigger).
  Parallel Ingestion:** The workflow immediately splits into three parallel branches to fetch data simultaneously:

    SERP API: Captures authoritative content and industry commentary (Strategic Context).
    Reddit (Looping Structure): Fetches posts from multiple subreddits via an Aggregate Node workaround to get authentic user experiences (Qualitative Signal).
    X/Twitter (HTTP Request): Bypasses standard rate limits to capture real-time social complaints (Sentiment Signal).

  2. Analysis and Fusion (The Intelligence Layer)

  Cleanup and Labeling (Function Nodes):** Each branch uses dedicated Function Nodes to filter noise (e.g., low-score posts) and normalize the data by adding a source tag (e.g., 'Reddit').
  Merge:** A Merge Node (Append Mode) fuses all three parallel streams into a single, unified dataset.
  Hybrid Categorization (Function Node):** A single Function Node applies the Hybrid Categorization Logic. This cost-free step semantically assigns a pain_point category (e.g., 'Call Hold/Availability') and a sentiment_score to every item, transforming raw text into labeled metrics.

  3. Dispatch and Reporting (The Executive Output)

  Aggregation and Split (Function Node):** The final Function Node calculates the total counts, deduplicates the final results, and generates the comprehensive summaryString.
  Data Logging:* The aggregated counts and metrics are appended to *Google Sheets** for historical logging.
  LLM Input Retrieval (Function Node):** A final Function Node retrieves the summary data using the $items() helper (the serial route workaround).
  AI Briefing:* The *Message a model (Anthropic) Node receives the summaryString and uses a strict HTML System Prompt to synthesize the strategic brief, identifying the top pain points and suggesting AI features.
  Delivery:* The *Gmail Node** sends the final, professional HTML brief to the executive team.

  🛠️ Setup Steps

  Credentials

  Anthropic:** Configure credentials for the Language Model (Claude) used in the Message a model node.
  SERP API, Reddit, and X/Twitter:** Configure API keys/credentials for the data ingestion nodes.
  Google Services:** Set up OAuth2 credentials for Google Sheets (for logging data) and Gmail (for email dispatch).

  Configuration

  Form Configuration:** If using the Form Trigger, ensure the Target Keywords and Target Subreddits are mapped correctly to the ingestion nodes.
  Data Integrity:** Due to the serial route, ensure the Function (Get LLM Summary) node is correctly retrieving the LLM_SUMMARY_HOLDER field from the preceding node's output memory.

  ✅ Benefits

  Proactive CI & Strategy:** Shifts market research from manual, reactive browsing to proactive, scheduled data diagnostic.
  Cost Efficiency:** Utilizes a zero-cost Hybrid Categorization method (Function Node) for intent analysis, avoiding expensive per-item LLM token costs.
  Actionable Output:** Delivers a fully synthesized, HTML-formatted executive brief, ready for immediate presentation and strategic sales positioning.
  High Reliability:** Employs parallel ingestion, API workarounds, and serial routing to ensure the complex workflow runs consistently and without failure.

nodes_used:
  ["n8n-nodes-base.merge","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.reddit","n8n-nodes-serpapi.serpApi","n8n-nodes-base.httpRequest","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.anthropic","n8n-nodes-base.gmail","n8n-nodes-base.googleSheets","n8n-nodes-base.formTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 12220 characters]


name: PPC Campaign Intelligence & Optimization with Google Ads, Sheets & Slack
author_name: Daniel Shashko
author_username: tomax
categories: []
created_at: 2025-10-25T17:01:17.918Z
updated_at: 2025-10-25T17:01:17.918Z
url: https://n8n.io/workflows/10174
scraped_at: 2025-12-24 13:02:41
description:
  How it Works

  This workflow automatically monitors your Google Ads campaigns every day, analyzing performance with AI-powered scoring to identify scaling opportunities and catch issues before they drain your budget. Each morning at 9 AM, it fetches all active campaign data including clicks, impressions, conversions, costs, and conversion rates from your Google Ads account.

  The AI analysis engine evaluates four critical dimensions: CTR (click-through rate) to measure ad relevance, conversion rate to assess landing page effectiveness, cost per conversion to evaluate profitability, and traffic volume to identify scale-readiness. Each campaign receives a performance score (0-100 points) and is automatically categorized as Excellent (75+), Good (55-74), Fair (35-54), or Underperforming (0-34).

  High-performing campaigns trigger instant Slack alerts to your PPC team with detailed scaling recommendations and projected ROI improvements, while underperforming campaigns generate urgent alerts with specific optimization actions. Every campaign is logged to your Google Sheets dashboard with daily metrics, and the system generates personalized email reports—action-oriented scaling plans for top performers and troubleshooting guides for campaigns needing attention.

  The entire analysis takes minutes, providing your team with daily intelligence reports that would otherwise require hours of manual spreadsheet work and data analysis.

  Who is this for?

  PPC managers and paid media specialists drowning in campaign data and manual reporting
  Marketing agencies managing multiple client accounts needing automated performance monitoring
  E-commerce brands running high-spend campaigns who can't afford budget waste
  Growth teams looking to scale winners faster and pause losers immediately
  Anyone spending $5K+ monthly on Google Ads who needs data-driven optimization decisions

  Setup Steps

  Setup time:** Approx. 15-25 minutes (credential configuration, dashboard setup, alert customization)
  Requirements:**
      Google Ads account with active campaigns
      Google account with a tracking spreadsheet
      Slack workspace
      SMTP email provider (Gmail, SendGrid, etc.)

  Create a Google Sheets dashboard with two tabs: "Daily Performance" and "Campaign Log" with appropriate column headers.
  Set up these nodes:
      Schedule Daily Check: Pre-configured to run at 9 AM daily (adjust timing if needed).
      Fetch Google Ads Data: Connect your Google Ads account and authorize API access.
      AI Performance Analysis: Review scoring thresholds (CTR, conversion rate, cost benchmarks).
      Route by Performance: Automatically splits campaigns into high-performers vs. issues.
      Update Campaign Dashboard: Connect Google Sheets and select your "Daily Performance" tab.
      Log All Campaigns: Select your "Campaign Log" tab for historical tracking.
      Slack Alerts: Connect workspace and configure separate channels for scaling opportunities and performance issues.
      Generate Action Plan: Customize email templates with your brand voice and action items.
      Email Performance Report: Configure SMTP and set recipient email addresses.

  Credentials must be entered into their respective nodes for successful execution.

  Customization Guidance

  Scoring Weights:** Adjust point values for CTR (30), conversion rate (35), cost efficiency (25), and volume (10) in the AI Performance Analysis node based on your business priorities.
  Performance Thresholds:** Modify the 75-point Excellent threshold and 55-point Good threshold to match your campaign quality distribution and industry benchmarks.
  Benchmark Values:** Update CTR benchmarks (5% excellent, 3% good, 1.5% average) and conversion rate targets (10%, 5%, 2%) for your industry.
  Alert Channels:** Create separate Slack channels for different alert types or route critical alerts to Microsoft Teams, Discord, or SMS via Twilio.
  Email Recipients:** Configure different recipient lists for scaling alerts (executives, growth team) vs. optimization alerts (campaign managers).
  Schedule Frequency:** Change from daily to hourly monitoring for high-spend campaigns, or weekly for smaller accounts.
  Additional Platforms:** Duplicate the workflow structure for Facebook Ads, Microsoft Ads, or LinkedIn Ads with platform-specific nodes.
  Budget Controls:** Add nodes to automatically pause campaigns exceeding cost thresholds or adjust bids based on performance scores.

  Once configured, this workflow will continuously monitor your ad spend, identify opportunities worth thousands in additional revenue, and alert you to issues before they waste your budget—transforming manual reporting into automated intelligence.

  Built by Daniel Shashko  
  Connect on LinkedIn

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.googleAds","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.slack","n8n-nodes-base.code","n8n-nodes-base.emailSend","n8n-nodes-base.slack","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 7764 characters]


name: Create a Personalized Daily Newsletter with Google Gemini AI and RSS Feeds
author_name: Dixit Ram
author_username: dixitram
categories: []
created_at: 2025-10-26T08:56:29.207Z
updated_at: 2025-10-26T08:56:29.207Z
url: https://n8n.io/workflows/10196
scraped_at: 2025-12-24 13:02:41
description:
  Who's it for

  This workflow is for anyone who wants to stay informed without the overwhelm. Whether you're tracking industry news, following your favorite blogs, monitoring competitors, or just keeping up with topics you care about—this automated newsletter keeps you in the loop effortlessly.

  What it does

  This automated workflow fetches content from your favorite RSS feeds, filters it based on your interests using Google Gemini AI, and sends you a beautifully formatted HTML newsletter at your preferred time. The AI selects the top 10-15 items from each category based on keywords you define, delivering only what matters to you.

  How it works

  Schedule Trigger: Runs daily at your chosen time (default: 9:00 AM)
  RSS Feeds: Fetches content from your favorite news sources and websites
  Processing: Splits URLs, loops through feeds in batches to avoid rate limits
  Merge & Convert: Combines all RSS items into a single CSV file
  AI Curation: Google Gemini analyzes the content and selects relevant items based on your keywords
  Email Delivery: Sends a personalized HTML newsletter with summaries and images

  Requirements

  Google Gemini API** credentials (for AI curation)
  SMTP credentials** (for sending emails)
  Active n8n instance (self-hosted or cloud)

  How to set up

  Add your Google Gemini API credentials in both Gemini nodes
  Configure your SMTP settings in the "Send email" node
  Update the email addresses (from and to) in the email node
  Add your favorite RSS feed URLs in the "Set" nodes
  Customize the AI keywords in "Analyze document" to match your interests
  Set your preferred schedule time in the trigger node

  How to customize

  Add your RSS feeds**: Replace the example URLs in both "Set" nodes with RSS feeds from your favorite sources (blogs, news sites, podcasts, YouTube channels, etc.)
  Define your interests**: Modify the keywords in the "Analyze document" AI prompt to filter content that matters to you
  Adjust categories**: Change the two sections to match your needs (e.g., "Industry News" and "Competitor Updates" or "Learning Resources" and "Tools")
  Change email format**: Update the HTML template in the AI prompt to customize the newsletter design
  Modify delivery time**: Update the schedule trigger to run at your preferred time

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.splitOut","n8n-nodes-base.splitOut","n8n-nodes-base.splitInBatches","n8n-nodes-base.splitInBatches","n8n-nodes-base.rssFeedRead","n8n-nodes-base.rssFeedRead","n8n-nodes-base.stickyNote","n8n-nodes-base.merge","n8n-nodes-base.convertToFile","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.googleGemini","@n8n/n8n-nodes-langchain.googleGemini","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.emailSend","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 6572 characters]


name: Discord Setup Guidelines 📜 - Get All Channels & Categories Of A Discord Server
author_name: EoCi - Mr.Eo
author_username: eocimreo
categories: []
created_at: 2025-10-26T13:58:02.452Z
updated_at: 2025-10-26T13:58:02.452Z
url: https://n8n.io/workflows/10198
scraped_at: 2025-12-24 13:02:43
description:
  🌟 Test Your n8n Discord Connection!
  Trying to connect n8n to your Discord server but not sure where to start? 🤔 Setting up a Discord Bot and its credentials can be confusing. This workflow provides the perfect starting point, guiding you through the connection and running a test to fetch all channels from your server, confirming everything works!

  🎯 What This Does
  This workflow is a "getting started" template designed to solve one primary problem: creating and verifying your first Discord connection in n8n.

  Its main benefit is demystifying the Discord Bot setup process. It proves your connection is successful by connecting to your server and fetching a complete list of all channels and categories. It's the perfect first step for any n8n user, community manager, or developer who wants to build Discord automations but needs a clear, working starting point.

  🔄 How It Works
  Manual Trigger: You start the workflow by clicking 'Execute workflow'.

  Set Server ID: A 'Set' node is pre-configured to hold your specific Discord Server ID.

  Get Channels List: The Discord node uses your credentials and the Server ID to connect to Discord and retrieve a list of all channels and categories on that server.

  Separate Channels & Categories: An 'IF' node automatically sorts the list, sending channels down one path and categories down another.

  Process & Merge: Two 'Set' nodes clean up the data from each path, and a 'Merge' node combines them back into one organized list.

  Next Step!: The workflow finishes at a 'NoOp' node. You can click the 'Merge' node to see the final output a full list of your server's channels.

  Nodes Used
  When clicking ‘Execute workflow’ (Manual Trigger)
  Set - Server ID (Set)
  Get channels list (Discord)
  Separate Category & Channel (IF)
  Get Channels (Set)
  Get Server's Categories (Set)
  Merge (Merge)
  Next Step ! (NoOp)

  Setup Requirements 📜
  Credentials: Discord Bot Token (created via the Discord Developer Portal).
  Accounts: A Discord account.
  Specifics:
  A Discord Server you own or have admin permissions for.
  Developer Mode enabled in your Discord client (to copy your Server ID).
  A Server ID from your server to test with.
  Estimated Setup Time: &lt; 10 minutes.
  Set up steps
  Part 1:** Create Your Discord Bot & Get Token
  	Go to the Discord Developer Portal: Navigate to discord.com/developers/applications and log in.
  	Create New Application: Click the New Application button in the top right. Give it a name (e.g., "n8n Bot") and click Create.
  	Access Your Bot: On the left-hand menu, click the Bot tab, then Add Bot.
  	Get Your Bot Token: Under the bot's username, find the Token section. Click Reset Token (and confirm) to reveal your bot's token.
  	Copy the Token: This is your secret credential. Copy this token and keep it safe.
  Part 2:** Invite Your Bot to Your Server
  Go to URL Generator: Back in the Discord Developer Portal, go to the OAuth2 tab and then URL Generator.
  	Select Scopes: In the Scopes box, check the bot checkbox.
  	Set Permissions: A new Bot Permissions box will appear. Check the View Channels permission. This is all that's needed for this workflow.
  	Copy Invite URL: Scroll down and copy the Generated URL.
  	Invite Bot: Paste this URL into a new browser tab. Select the server you want to add the bot to, click Continue, and then Authorize.
  Part 3:** Add Credentials to n8n
  	Open Credentials: In n8n, go to Credentials &gt; Create Credential.
  	Select Credential Type: Search for and select Discord Bot API.
  	Paste Your Token: Give your credential a 'Name' (e.g., "My Discord Bot"). Paste the Bot Token you copied from Part 1 into the Bot Token field.
  	Save: Click Save to store your new credentials.
  	Link Credential: Back in the workflow, click the Get channels list node. In the 'Credentials' parameter, select the credential you just created.
  Part 4:** Configure and Test the Workflow
  Enable Developer Mode: In your Discord desktop app, go to User Settings (the gear icon) &gt; App Settings &gt; Advanced and turn on Developer Mode.
  	Copy Server ID: Go to your Discord server, right-click on the server icon (on the left), and click Copy Server ID.
  	Configure n8n Node: Back in your n8n workflow, click the Set - Server ID node.
  	Paste Server ID: In the 'Value' field for server_id, replace the placeholder value with the Server ID you just copied.
  	Execute Workflow: Click Execute workflow in the top right corner.

  If it succeeds, all nodes will turn green. Click the Merge node and select the 'Output' tab to see a complete JSON list of all channels and categories from your server. Congratulations, you're connected!

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.merge","n8n-nodes-base.if","n8n-nodes-base.discord","n8n-nodes-base.noOp","n8n-nodes-base.manualTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 6892 characters]


name: Predict Customer Churn with AI Analysis of HubSpot and Google Sheets Data
author_name: PollupAI
author_username: Pollup
categories: []
created_at: 2025-10-26T14:06:09.510Z
updated_at: 2025-10-26T14:06:09.510Z
url: https://n8n.io/workflows/10199
scraped_at: 2025-12-24 13:02:41
description:
  Who it’s for
  Built for Customer Success and Account Management teams focused on proactive retention. This workflow helps you automatically identify at-risk customers – before they churn – by combining CRM, usage, and sentiment data into one actionable alert.

  What it does
  This end-to-end workflow continuously monitors customer health by consolidating data from HubSpot and Google Sheets.
  Here’s how it works:
  Fetch deals from HubSpot.
  Collect context — linked support tickets and feature usage from a Google Sheet.
  Run sentiment analysis on the tickets to generate a customer health score.
  Evaluate risk — an AI agent reviews deal age, sentiment score, and usage trends against predefined thresholds.
  Send alerts — if churn risk is detected, it automatically sends a clear, data-driven email to the responsible team member with next-step recommendations.

  How to set it up
  To get started, configure your credentials and parameters in the following nodes:

  Credentials:
      HubSpot: Connect your account (HubSpot: Get All Deals).
      LLM Model: Add credentials for your preferred provider (Config: Set LLM for Agent & Chains).
      Google Sheets: Connect your account (Tool: Get Feature Usage from Sheets).
      Email: Set up your SMTP credentials (Email: Send Churn Alert).
  Tool URLs:
      In Tool: Calculate Sentiment Score, enter the Webhook URL from the Trigger: Receive Tickets for Scoring node within this same workflow.
      In Tool: Get HubSpot Data, enter the Endpoint URL for your MCP HubSpot data workflow. (Note: This tool *does call an external workflow)*.
  Google Sheet:
      In Tool: Get Feature Usage from Sheets, enter the Document ID for your own Google Sheet.
  Email Details:
      In Email: Send Churn Alert, change the From and To email addresses.

  Requirements
  HubSpot account with Deals API access
  LLM provider account (e.g. OpenAI)
  Google Sheets tracking customer feature usage
  n8n with LangChain community nodes enabled
  A separate n8n workflow set up to act as an MCP endpoint for fetching HubSpot data (called by Tool: Get HubSpot Data).

  How to customize it
  Tailor this workflow to match your business logic:
  Scoring logic:** Adjust the JavaScript in the Code: Convert Sentiment to Score node to redefine how customer scores are calculated.
  Alert thresholds:** Update the prompt in the AI Chain: Analyze for Churn Risk node to fine-tune when alerts trigger (e.g. deal age, score cutoff, or usage drop).
  Data sources:** Swap HubSpot or Google Sheets for your CRM or database of choice — like Salesforce or Airtable.

  ✅ Outcome: A proactive customer health monitoring system that surfaces risks before it’s too late — keeping your team focused on prevention, not firefighting.

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.manualTrigger","n8n-nodes-base.hubspot","n8n-nodes-base.splitInBatches","n8n-nodes-base.set","n8n-nodes-base.webhook","n8n-nodes-base.code","n8n-nodes-base.splitOut","@n8n/n8n-nodes-langchain.sentimentAnalysis","n8n-nodes-base.merge","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.respondToWebhook","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.mcpClientTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.googleSheetsTool","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.markdown","n8n-nodes-base.emailSend"]

workflow_json_compressed:
  [encoded data, 7680 characters]


name: Generate Funny AI Videos with Sora 2 and Auto-Publish to TikTok
author_name: Davide
author_username: n3witalia
categories: []
created_at: 2025-10-27T09:50:39.013Z
updated_at: 2025-10-27T09:50:39.013Z
url: https://n8n.io/workflows/10212
scraped_at: 2025-12-24 13:02:41
description:
  This automation creates a fully integrated pipeline to generate AI-powered videos, store them, and publish them on TikTok — all automatically.
  It connects OpenAI Sora 2, and Postiz (for TikTok publishing) to streamline content creation.

  Key Benefits

  ✅ Full Automation – From text prompt to TikTok upload, everything happens automatically with no manual intervention once set up.
  ✅ Centralized Control – Google Sheets acts as a simple dashboard to manage prompts, durations, and generated results.
  ✅ AI-Powered Creativity – Uses OpenAI Sora 2 for realistic video generation and GPT-5 for optimized titles.
  ✅ Social Media Integration – Seamlessly posts videos to TikTok via Postiz, ready for your audience.
  ✅ Scalable & Customizable – Can easily be extended to other platforms like YouTube, Instagram, or LinkedIn.
  ✅ Time-Saving – Eliminates repetitive steps like manual video uploads or caption writing.

  How it works

  This workflow automates the end-to-end process of generating AI videos and publishing them to TikTok. It is triggered either manually or on a recurring schedule.

  Trigger & Data Fetch: The workflow starts by checking a specified Form for new entries. It looks for rows where a video has been requested (a "PROMPT" is filled) but not yet generated (the "VIDEO" column is empty).

  AI Video Generation: For each new prompt found, the workflow sends a request to the Fal.ai Sora 2 model to generate a video. It then enters a polling loop, repeatedly checking the status of the generation request every 60 seconds until the video is "COMPLETED".

  Post-Processing & Upload: Once the video is ready, the workflow performs several actions in parallel:
      Fetch Video & Store: It retrieves the final video URL, downloads the video file
      Generate Title: It uses the OpenAI GPT-4o-mini model to analyze the original prompt and generate an optimized, engaging title for the video.
      Publish to TikTok: The video file is uploaded to Postiz, a social media scheduling tool, which then automatically publishes it to a connected TikTok channel, using the AI-generated title as the post's caption.

  Set up steps

  To make this workflow functional, you need to complete the following configuration steps:

  Prepare the Google Sheet:
      Create a Form with at least "PROMPT", "DURATION", and "VIDEO" fields.

  Configure Fal.ai for Video Generation:
      Create an account at Fal.ai and obtain your API key.
      In both the "Create Video" and "Get status" HTTP Request nodes, set up the "Header Auth" credential.
      Set the Name to Authorization and the Value to Key YOUR_API_KEY.

  Set up TikTok Publishing via Postiz:
      Create an account on Postiz and connect your TikTok account to get a Channel ID.
      Obtain your Postiz API key.
      In the "Upload Video to Postiz" and "TikTok" (Postiz) nodes, configure the API credentials.
      In the "TikTok" node, replace the placeholder "XXX" in the integrationId field with your actual TikTok Channel ID from Postiz.

  (Optional) Configure AI Title Generation:
      The "Generate title" node uses OpenAI. Ensure you have valid OpenAI API credentials configured in n8n for this node to work.

  Need help customizing?  
  Contact me for consulting and support or add me on Linkedin. 
  Header 2

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-postiz.postiz","n8n-nodes-base.httpRequest","n8n-nodes-base.formTrigger"]

workflow_json_compressed:
  [encoded data, 4516 characters]


name: Add Project Tasks to Google Sheets with GPT-4.1-mini Chat Assistant
author_name: Robert Breen
author_username: rbreen
categories: []
created_at: 2025-10-27T23:06:52.236Z
updated_at: 2025-10-27T23:06:52.236Z
url: https://n8n.io/workflows/10230
scraped_at: 2025-12-24 13:02:41
description:
  Let your team create, track, and manage project tasks through natural conversation.  
  This workflow uses an AI Project Manager Agent that chats with users, gathers the task details it needs, and automatically adds them to a Google Sheet.

  ✅ What this template does
  Lets you chat naturally with an AI to add new project tasks  
  Automatically detects if the user wants to create or update an item (updates coming soon)  
  Collects Task, Description, and Status fields — allows “don’t know” responses  
  Appends new entries directly into your connected Google Sheets  
  Provides real-time confirmation when the task is added  

  &gt; Trigger: n8n Chat Trigger  
  &gt; Integrations: OpenAI GPT-4.1-mini + Google Sheets (OAuth2)

  🧠 How it works
  The Chat Trigger starts a chat with the user.  
  The AI Project Manager Agent asks guiding questions to gather the task name, description, and status.  
  When all fields are complete (all Info = Yes), the data is passed to the Google Sheets node.  
  The task is automatically added to your project tracker sheet.  
  The AI confirms completion in chat.

  ⚙️ Setup instructions

  1. Connect OpenAI
  Go to OpenAI Platform → copy your API key.  
  In n8n, create New Credentials → OpenAI API and paste your key.  
  Ensure your account has active billing under OpenAI Billing.

  2. Connect Google Sheets (OAuth2)
  In n8n → Credentials → New → Google Sheets (OAuth2)  
  Sign in with your Google account and grant access.  
  Select your spreadsheet and tab (e.g., “Tasks”) when prompted.  
     Example sheet: https://docs.google.com/spreadsheets/d/1pbK-B-Q9p8fVjxJIsjEVrAfRgqEPCeYw8rZojZPAb84/edit

  3. Test your chat
  Click Execute Workflow, then start chatting:  
  &gt; “Add a task for reviewing the project report tomorrow.”  
  The agent will ask questions if needed, then add the record to your sheet.

  🧩 Customization ideas
  Add a Date Added or Assigned To column to the Google Sheet  
  Integrate with Slack or Outlook to message assigned users  
  Extend the agent to support task updates and deletes  
  Replace Google Sheets with Airtable or Notion if preferred  

  🪄 Requirements
  n8n version ≥ 1.100  
  OpenAI API key  
  Google Sheets account  

  📬 Contact  
  Need help customizing this (e.g., adding deadlines, linking to Notion, or Slack notifications)?  

  📧 robert@ynteractive.com  
  🔗 Robert Breen  
  🌐 ynteractive.com  

nodes_used:
  ["@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleSheets","@n8n/n8n-nodes-langchain.chat","n8n-nodes-base.if","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.chat"]

workflow_json_compressed:
  [encoded data, 4784 characters]


name: Send Rapiwa WhatsApp Apology & Reorder Link When Shopify Order is Cancelled
author_name: Rapiwa
author_username: rapiwa
categories: []
created_at: 2025-10-28T05:08:54.996Z
updated_at: 2025-10-28T05:08:54.996Z
url: https://n8n.io/workflows/10237
scraped_at: 2025-12-24 13:02:46
description:
  Who Is This For?
  This n8n workflow listens for order cancellations in Shopify, extracts relevant customer and order data, checks if the customer’s phone number is registered on WhatsApp via the Rapiwa API, and sends a personalised apology message with a re-order link. It also logs successful and unsuccessful attempts in Google Sheets for tracking.

  What This Workflow Does
  Listens for cancelled orders in your Shopify store  
  Extracts customer details and order information  
  Generates a personalised apology message including a reorder link  
  Sends the message to customers via WhatsApp using a messaging API (e.g., Twilio or Rapiwa)  
  Logs the communication results for tracking purposes  

  Key Features
  Real-Time Cancellation Detection:** Automatically triggers when an order is cancelled  
  Personalised Messaging:** Includes customer name, order details, and a direct reorder link  
  WhatsApp Integration:** Sends messages via WhatsApp for higher engagement  
  Error Handling:** Logs successful and failed message deliveries  
  Reorder Link:** Provides a convenient link for customers to reorder with one click  

  Requirements
  n8n instance with nodes: Shopify Trigger, HTTP Request (for WhatsApp API), Code, Google Sheets (optional)  
  Shopify store with API access  
  WhatsApp messaging provider account with API access  
  Valid customer phone numbers stored in Shopify orders  

  How to Use — Step-by-Step Setup
  Credentials Setup  
     Shopify API: Configure Shopify API credentials in n8n to listen for order cancellations  
     WhatsApp API: Set up WhatsApp messaging credentials (e.g., Twilio, Rapiwa, or any supported provider)  
     Google Sheets (Optional): Configure Google Sheets OAuth2 if you want to log communications  

  Configure Trigger  
     Set the workflow to trigger on Shopify order cancellation events  

  Customize Message Content  
     Modify the apology message template to include your store branding and tone  
     Ensure the reorder link dynamically includes the customer's cancelled order info  

  Set Up WhatsApp Node  
     Connect your WhatsApp API credentials  
     Ensure the phone numbers are formatted correctly for WhatsApp delivery  

  Google Sheet Required Columns
  You’ll need two Google Sheets (or two tabs in one spreadsheet):
  A Google Sheet formatted like this ➤ sample
  The workflow uses a Google Sheet with the following columns to track coupon distribution:

  | Name       | Number    | Email  | Address       | Price   | Title      | Re-order Link        | Validity | Status |
  | -------------- | ------------- | --------------------------------------------------- | ----------------- | ----------- | -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------ | ---------- |
  | Abdul Mannan         | 8801322827799 | contact@spagreen.net | Dhaka, Bangladesh | BDT 1955.00 | Pakistani Lawn | Link 🔗 | unverified   | not sent   |
  | Abdul Mannan         | 8801322827799 | contact@spagreen.net | Dhaka, Bangladesh | BDT 1955.00 | Pakistani Lawn | Link 🔗 | verified     | sent       |

  Important Notes
  Phone Number Validation:** Ensure customer phone numbers are WhatsApp-enabled and formatted properly  
  API Rate Limits:** Respect your WhatsApp provider’s API limits to avoid throttling  
  Data Privacy:** Always comply with privacy laws when messaging customers  
  Error Handling:** Monitor logs regularly to handle failed message deliveries  
  Testing:** Test thoroughly with dummy data before activating the workflow live  

  Useful Links
  Dashboard:** https://app.rapiwa.com
  Official Website:** https://rapiwa.com
  Documentation:** https://docs.rapiwa.com

  Support & Help
  WhatsApp**: Chat on WhatsApp
  Discord**: SpaGreen Community
  Facebook Group**: SpaGreen Support
  Website**: https://spagreen.net
  Developer Portfolio**: Codecanyon SpaGreen

nodes_used:
  ["n8n-nodes-base.code","n8n-nodes-base.splitInBatches","n8n-nodes-base.shopifyTrigger","n8n-nodes-base.if","n8n-nodes-base.wait","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-rapiwa.rapiwa","n8n-nodes-rapiwa.rapiwa"]

workflow_json_compressed:
  [encoded data, 7116 characters]


name: Automate Job Searching & Resume Customization with AI, LinkedIn & Google Sheets
author_name: Jordan Hoyle
author_username: jordanhoyle
categories: []
created_at: 2025-10-28T18:42:23.524Z
updated_at: 2025-10-28T18:42:23.524Z
url: https://n8n.io/workflows/10256
scraped_at: 2025-12-24 13:02:42
description:
  🤖 AI-Powered Job Matcher & Resume Customizer

  Description

  This advanced workflow automates the entire job search and preparation process, moving beyond simple notifications to provide AI-driven career intelligence.

  It connects to LinkedIn to scrape fresh job postings, filters against jobs you've already seen, and then uses powerful LLMs (Mistral Large/Small) to perform a detailed resume-to-job match, generate tailored cover letters, and provide concrete resume improvement suggestions. All data is logged into a Google Sheet for comprehensive tracking, and a clean, single Daily Digest Email summarizes the top 5 matches found each day.

  ✨ Key Features

  Automated Scheduling:** Runs daily to find new job postings.
  Multi-Keyword Search:** Uses your main job title and three alternate titles generated by an AI Agent for maximum search coverage.
  LinkedIn Web Scraping:** Pulls new job URLs, details, location, and salary data from LinkedIn Search results.
  Duplicate Prevention:* Uses the *Compare Datasets** node to ensure only new, unseen jobs are processed against your master Google Sheet.
  Intelligent Matching (LLM):** The workflow performs a detailed job-to-resume comparison, generating:
      A Match Score (0-100) with evidence for alignment in skills, experience, and domain.
      A Tailored Cover Letter specific to the job title and company.
      Actionable Resume Improvement points (e.g., [ADD], [QUANTIFY]) to optimize your resume for the specific role.
  Centralized Tracking:* Saves all job data, match scores, cover letters, and resume suggestions to a *Google Sheet**.
  Professional Daily Digest:* Sends a single, clean *HTML email** summarizing the top 5 highest-scoring job matches for easy review.

  🛠️ Prerequisites

  n8n Credentials:
      Google Drive: To download your resume (PDF/DOCX file URL).
      Google Sheets: To connect to your job tracking sheet.
      Gmail: To send the daily digest email.
      Mistral Cloud: For the LLM processing (Resume Breakdown, Job Matching, and Resume Analysis).
  External Files:
      A Job Tracking Google Sheet (used as a master database).
      Your current Resume file (PDF recommended, hosted on Google Drive).
  Setup Notes:
      Update the file links (Download Resume node) and Google Sheet details (Get row(s)/Append nodes).
      Set your personal email address in the Send Digest Email node.
      Review the LLM prompts to tailor the AI agent's persona and output fields to your exact needs.

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatMistralCloud","n8n-nodes-base.html","n8n-nodes-base.splitOut","n8n-nodes-base.splitInBatches","n8n-nodes-base.gmail","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.merge","@n8n/n8n-nodes-langchain.lmChatMistralCloud","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.extractFromFile","n8n-nodes-base.googleDrive","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.compareDatasets","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.html","n8n-nodes-base.splitInBatches","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.googleSheets","n8n-nodes-base.sort","n8n-nodes-base.limit","n8n-nodes-base.aggregate","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  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


name: Google Calendar Events with Gemini AI Follow-up Suggestions via WhatsApp & Email
author_name: Rapiwa
author_username: rapiwa
categories: []
created_at: 2025-10-29T11:58:04.970Z
updated_at: 2025-10-29T11:58:04.970Z
url: https://n8n.io/workflows/10270
scraped_at: 2025-12-24 13:02:44
description:
  Who Is This For?
  This n8n automation workflow is designed for sales teams, client managers, consultants, or anyone who regularly schedules and follows up on meetings — and wants to save time doing it.
  If you often find yourself juggling between Google Sheets, Google Calendar, email, and WhatsApp just to manage your meetings, confirmations, and follow-ups — this workflow is for you.

  What This Workflow Does
  This workflow is structured into two main, independently scheduled branches:
  1. Create Event (Schedule Meetings)
  Trigger:** Starts automatically on a schedule (e.g., every minute).
  Data Source:* Fetches new meeting data from a *Google Sheet**.
  Event Creation:* Creates a new event in *Google Calendar** using the data.
  Confirmation:* Sends a confirmation message via *WhatsApp (Rapiwa)* and *Email (Gmail)**.
  Status Update:* Updates the source *Google Sheet** to mark the meeting as 'sent'.

  2. Reminder Event (Schedule Follow-ups)
  Trigger:** Starts automatically on a schedule (e.g., every minute).
  Past Events:* Retrieves recent past events from *Google Calendar**.
  Deduplication:** Uses a "Mark as Seen" node to prevent processing the same event multiple times.
  Filtering:** Filters for specific events that require a follow-up ("Only Follow Ups" node).
  AI Follow-up:* An *AI Meeting Agent (using Gemini/LLM)* uses the details of the past meeting and the Calendar's *Availability** tool to find and suggest open slots for a future meeting.
  Communication:* Sends a message with the suggested slots via *WhatsApp (Rapiwa)* and *Email (Gmail)**.

  Key Features
  Scheduled Automation:** Both event creation and follow-up scheduling run on a recurring schedule.
  Data Synchronization:* Reads meeting details from and updates a *Google Sheet**.
  Google Calendar Integration:** Creates events and checks calendar availability.
  Multi-Channel Communication:* Sends confirmations/follow-ups via *WhatsApp (Rapiwa)* and *Email (Gmail)**.
  AI-Powered Follow-up:* Uses an *AI Agent (Gemini)** to intelligently find and format available slots for the next meeting, considering the details of the past meeting (day, time, duration).
  Idempotency:** The "Mark as Seen" node prevents duplicate follow-up attempts for the same event.

  Requirements
  n8n instance with nodes: Schedule Trigger, Google Sheets, Split In Batches, Date & Time, Code, Google Calendar, Rapiwa, Gmail, Filter, Agent (LangChain), LLM Chat (Google Gemini), Structured Output Parser (LangChain), Set, Remove Duplicates, Wait.
  Google Calendar** with an available calendar for event creation and availability checks.
  Google Sheets** for storing meeting details.
  Rapiwa** (WhatsApp API) account credentials.
  Gmail** account credentials.
  Google Gemini (PaLM) API** credentials for the AI agent.

  How to Use — Step-by-Step Setup
  Credentials Setup
      Google Sheets OAuth2: Configure to allow the workflow to read from and write to your Sheet.
      Google Calendar OAuth2: Configure to allow event creation and availability checks.
      Rapiwa API: Set up credentials for sending WhatsApp messages.
      Gmail OAuth2: Set up credentials for sending email confirmations/follow-ups.
      Google Gemini(PaLM) API: Set up credentials for the AI agent functionality.

  Configure "Create Event" Branch
      Get in sheet: Update the Document ID and Sheet Name to point to your meeting data spreadsheet. The node is set to filter by a status column.
      Create an event: Verify the correct Calendar ID is selected. The end time is dynamically generated by the previous Code node.
      Rapiwa / Send a message1: Update the recipient number/email address and customize the message templates.
      Update status in sheet: Ensure the correct Document ID, Sheet Name, and matching column (row\_number) are configured to update the status to "sent".

  Configure "Reminder Event" Branch
      Get Past Events: Verify the correct Calendar ID is selected.
      Only Follow Ups: Customize the filter condition if only a subset of past meetings needs follow-up (e.g., if you have a "Follow-up Status" column to check).
      Meeting Agent: Review the System Message to ensure the AI's logic for finding slots matches your business rules (e.g., preferred working hours, look-ahead period).
      Generate Message: Customize the message template, which formats the AI-suggested slots.
      Rapiwa1 / Send a message: Update the recipient number/email address for the follow-up messages.

  Google Sheet Required Columns
  The workflow expects a Google Sheet with meeting data to have at least the following columns:
  A Google Sheet formatted like this ➤ Sample Sheet

  | title                                   | description                                                                                                                                                                                                                                                  | location          | color_number | start time         | end time           | reminder status | status  |
  | :-------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------- | :----------- | :----------------- | :----------------- | :-------------- | :------ |
  | 2025 Personal Planner & Events Calendar | Stay organized and never miss an important date! This calendar helps........ | Dhaka, Bangladesh | 4            | 10/28/2025 3:50:00 | 10/29/2025 5:30:00 | sent            | checked |
  | 2026 Personal Planner & Events Calendar | Stay organized and never miss an important date! This calendar helps........ | Dhaka, Bangladesh | 2            | 10/29/2025 3:50:00 | 10/30/2025 5:30:00 | sent            | checked |

  Useful Links
  Dashboard:** https://app.rapiwa.com
  Official Website:** https://rapiwa.com
  Documentation:** https://docs.rapiwa.com

  Support & Help
  WhatsApp**: Chat on WhatsApp
  Discord**: SpaGreen Community
  Facebook Group**: SpaGreen Support
  Website**: https://spagreen.net
  Developer Portfolio**: Codecanyon SpaGreen

nodes_used:
  ["n8n-nodes-base.splitInBatches","n8n-nodes-base.googleCalendar","n8n-nodes-base.dateTime","n8n-nodes-base.code","n8n-nodes-base.googleCalendar","n8n-nodes-base.removeDuplicates","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-rapiwa.rapiwa","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.filter","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.set","n8n-nodes-base.splitInBatches","n8n-nodes-base.wait","n8n-nodes-base.wait","n8n-nodes-rapiwa.rapiwa","n8n-nodes-base.gmail","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi"]

workflow_json_compressed:
  [encoded data, 10748 characters]


name: Synchronize Events & Attendees Between KlickTipp and Google Calendar
author_name: KlickTipp
author_username: KlickTipp
categories: []
created_at: 2025-10-29T18:44:31.766Z
updated_at: 2025-10-29T18:44:31.766Z
url: https://n8n.io/workflows/10295
scraped_at: 2025-12-24 13:02:46
description:
  Community Node Disclaimer: This workflow uses KlickTipp community nodes.

  Introduction
  This workflow creates a complete two-way synchronization between KlickTipp and Google Calendar.  
  When a contact in KlickTipp is tagged, an event is automatically created in Google Calendar.  
  If event status changes or if attendees respond, their RSVP status and event status are reflected in KlickTipp — keeping your contact database, campaigns, and event insights always up to date.

  Perfect for marketers, coaches, or event organizers who want to automatically send event invites and instantly capture participation status without manual updates.

  How it works
  Google Calendar → KlickTipp:
  This template keeps your KlickTipp list in sync with Google Calendar across the full event lifecycle.  
  For every incoming event, the workflow follows these steps:

  Watch Google Calendar events
     Listens for:
       Event Created
       Event Updated
       Event Cancelled

  Iterate through attendees
     Each attendee is handled as a separate item.
     This ensures accurate contact updates and tagging even for large events or webinars.

  Filter attendees (optional)
     Attendees from internal or excluded email domains can be filtered out before any processing.

  Check if the attendee already exists in KlickTipp
     If the contact exists → update the contact.
     If the contact does not exist → subscribe the contact (with Single or Double Opt-In, depending on action).

  Transfer event data to KlickTipp
     Event details (summary, description, location, start and end time) are written into KlickTipp custom fields.
     Contacts always reflect the most recent event information.

  Route by attendee response status
     Attendees are routed based on their responseStatus:
       needsAction → contact was added to an event
       accepted → event confirmed
       declined → event declined
       tentative → event considered

  Apply tags in KlickTipp
     Based on event type and attendee status, the workflow applies the corresponding tags:
       Event created / updated
       Event canceled
       Event confirmed
       Event declined
       Event considered

  KlickTipp → Google Calendar:
  Watches for a tag like “Send an event invitation via Google Calendar”.
  Creates an event in Google Calendar using mapped KlickTipp fields.

  Setup Instructions
  KlickTipp Preparation
        Prepare custom fields
         Google Calendar | event summary, data type: "Single line"
         Google Calendar | event description, data type: "Single line"
         Google Calendar | event location, data type: "Single line"
         Google Calendar | event start datetime, data type: "Datetime"
         Google Calendar | event end datetime, data type: "Datetime" 
        Prepare tags:
         Google Calendar | event created/updated
         Google Calendar | event canceled
         Google Calendar | event declined
         Google Calendar | event confirmed  
         Google Calendar | event considered 
         Send an event invitation via Google Calendar
        Prepare outbound:
         Activation tag: Send an event invitation via Google Calendar
         Activation URL: webhook URL from trigger

  Credential Configuration
       Connect your Google Calendar account using Client ID and Client Secret from the Google Cloud.
       Authenticate your KlickTipp connection with username/password credentials (API access required).

  Customization
  Recommended poll frequency: every 1–5 minutes for near real-time updates.
  Adjust to your local timezone if necessary.  
  Each trigger works independently, allowing partial deployments if only certain event types are needed.  
  Ensure End &gt; Start in your data. If you prefer a fixed duration, compute End from Start + minutes in a Date & Time node.  
  If you want a Meet link, enable “Add Google Meet video conferencing” in the Calendar node instead of pasting a Calendar URL into Location.

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-klicktipp.klicktipp","n8n-nodes-base.stickyNote","n8n-nodes-base.googleCalendarTrigger","n8n-nodes-base.googleCalendarTrigger","n8n-nodes-klicktipp.klicktipp","n8n-nodes-klicktipp.klicktipp","n8n-nodes-klicktipp.klicktipp","n8n-nodes-base.splitOut","n8n-nodes-base.switch","n8n-nodes-base.splitOut","n8n-nodes-base.stickyNote","n8n-nodes-base.googleCalendarTrigger","n8n-nodes-klicktipp.klicktippTrigger","n8n-nodes-base.googleCalendar","n8n-nodes-base.switch","n8n-nodes-base.stickyNote","n8n-nodes-klicktipp.klicktipp","n8n-nodes-klicktipp.klicktipp","n8n-nodes-base.stickyNote","n8n-nodes-klicktipp.klicktipp","n8n-nodes-klicktipp.klicktipp","n8n-nodes-klicktipp.klicktipp","n8n-nodes-klicktipp.klicktipp","n8n-nodes-klicktipp.klicktipp","n8n-nodes-klicktipp.klicktipp","n8n-nodes-klicktipp.klicktipp","n8n-nodes-klicktipp.klicktipp","n8n-nodes-klicktipp.klicktipp","n8n-nodes-klicktipp.klicktipp","n8n-nodes-base.filter","n8n-nodes-base.filter","n8n-nodes-base.filter","n8n-nodes-base.splitOut","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 7192 characters]


name: Auto-Rename Workflow Nodes with AI (Gemini/Claude) for Better Readability (beta)
author_name: Dr. Christoph Schorsch
author_username: upfastai
categories: []
created_at: 2025-10-30T09:35:45.850Z
updated_at: 2025-10-30T09:35:45.850Z
url: https://n8n.io/workflows/10317
scraped_at: 2025-12-24 13:02:46
description:
  Rename Workflow Nodes with AI for Clarity

  This workflow automates the tedious process of renaming nodes in your n8n workflows. Instead of manually editing each node, it uses an AI language model to analyze its function and assign a concise, descriptive new name. This ensures your workflows are clean, readable, and easy to maintain.

  Who's it for?

  This template is perfect for n8n developers and power users who build complex workflows. If you often find yourself struggling to understand the purpose of different nodes at a glance or spend too much time manually renaming them for documentation, this tool will save you significant time and effort.

  How it works / What it does

  The workflow operates in a simple, automated sequence:

  Configure Suffix: A "Set" node at the beginning allows you to easily define the suffix that will be appended to the new workflow's name (e.g., "- new node names").
  Fetch Workflow: It then fetches the JSON data of a specified n8n workflow using its ID.
  AI-Powered Renaming: The workflow's JSON is sent to an AI model (like Google Gemini or Anthropic Claude), which has been prompted to act as an n8n expert. The AI analyzes the type and parameters of each node to understand its function.
  Generate New Names: Based on this analysis, the AI proposes new, meaningful names and returns them in a structured JSON format.
  Update and Recreate: A Code Node processes these suggestions, updates all node names, and correctly rebuilds the connections and expressions.
  Create & Activate New Workflow: Finally, it creates a new workflow with the updated name, deactivates the original to avoid confusion, and activates the new version.

nodes_used:
  ["n8n-nodes-base.manualTrigger","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.code","n8n-nodes-base.n8n","n8n-nodes-base.n8n","n8n-nodes-base.n8n","n8n-nodes-base.n8n","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.lmChatOpenRouter","n8n-nodes-base.stickyNote","n8n-nodes-base.set"]

workflow_json_compressed:
  [encoded data, 5040 characters]


