# templates

name: Build an Intelligent Q&A Bot with Lookio Knowledge Base and GPT
author_name: Guillaume Duvernay
author_username: duv
categories: []
created_at: 2025-09-20T19:53:32.637Z
updated_at: 2025-09-20T19:53:32.637Z
url: https://n8n.io/workflows/8787
scraped_at: 2025-12-24 13:02:45
description:
  Build a powerful AI chatbot that provides precise answers from your own company's knowledge base. This template provides a smart AI agent that connects to Lookio, a platform where you can easily upload your documents (from Notion, Jira, Slack, etc.) to create a dedicated knowledge source.

  What makes this agent "smart" is its efficiency. It's configured to handle simple greetings and small talk on its own, only using its powerful (and paid) knowledge retrieval tool when a user asks a genuine question. This cost-saving logic makes it perfect for building production-ready internal helpdesks, customer support bots, or any application where you need accurate, source-based answers.

  Who is this for?

  Customer support teams:** Build internal bots that help agents find answers instantly from your support documentation and knowledge bases.
  Product & engineering teams:** Create a chatbot that can answer technical questions based on your product documentation or internal wikis.
  HR departments:** Deploy an internal assistant that can answer employee questions based on company handbooks, policies, and procedures.
  Any business with a knowledge base:** Provide an interactive, conversational way for employees or customers to access information locked away in your documents.

  What problem does this solve?

  Provides accurate, grounded answers:** Ensures the AI agent's responses are based on your trusted, private documents, not the open internet, which prevents factual errors and "hallucinations."
  Makes your knowledge accessible:** Transforms your static documents and knowledge bases into an interactive, 24/7 conversational resource.
  Optimizes for cost and efficiency:** The agent is intelligent enough to handle simple small talk without making unnecessary API calls to your knowledge base, saving you credits and money.
  Simplifies RAG setup:** Provides a ready-to-use template for a common RAG (Retrieval-Augmented Generation) pattern, with the complexities of document management and retrieval handled by the Lookio platform.

  How it works

  First, build your knowledge base in Lookio: The process starts on the Lookio platform. You upload your documents (from Notion, Jira, PDFs, etc.) and create an "assistant" which becomes your secure, queryable knowledge base.
  A user asks a question: The n8n workflow begins when a user sends a message via the Chat Trigger.
  The agent makes a decision: The AI Knowledge Agent, guided by its system prompt, analyzes the user's message. If it's a simple greeting like "hi," it will respond directly. If it's a substantive question that requires specific knowledge, it decides to use its "Query knowledge base" tool.
  Query the Lookio knowledge base: The agent passes the user's question to the HTTP Request Tool. This tool securely calls the Lookio API with your specific Assistant ID and API key.
  Deliver the fact-based answer: Lookio searches your documents, synthesizes a precise answer, and sends it back to the workflow. The n8n agent then presents this answer to the user in the chat interface.

  Architectural Approaches to RAG in n8n with Lookio

  From a workflow perspective, integrating RAG natively in n8n involves orchestrating multiple nodes for data handling, embedding, and vector searches. This method provides high visibility and control over each step. 

  An alternative architectural pattern is to use an external RAG service like Lookio, which consolidates these steps into a single HTTP Request node. This simplifies the workflow's structure by abstracting the multi-stage RAG process into one API endpoint.

  Setup

  Set up your Lookio assistant (Prerequisite): First, go to Lookio, sign up (you get 50 free credits), create an assistant with your documents, and from your settings, copy your API Key and Assistant ID.
  Configure the Lookio tool: In the Query knowledge base (HTTP Request Tool) node:
      Replace the &lt;your-assistant-id&gt; placeholder with your actual Assistant ID.
      Replace the &lt;your-lookio-api-key&gt; placeholder with your actual API Key.
  Connect your AI model: In the OpenAI Chat Model node, connect your AI provider credentials.
  Activate the workflow. Your smart knowledge base agent is now live and ready to chat!

  Taking it further

  Adjust retrieval quality:* In the *Query knowledge base** node, you can change the query_mode from flash (fastest) to deep for higher quality but slightly slower answers, depending on your needs.
  Add more tools:** Enhance your agent by giving it other tools, like a web search for when the internal knowledge base doesn't have an answer, or a calculator for performing computations.
  Deploy it anywhere:* Swap the *Chat Trigger* for a *Slack* or *Discord** trigger to deploy your agent right where your team works.

nodes_used:
  ["@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.httpRequestTool","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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


name: Jira Project Management Automation with Google Gemini & MCP Server
author_name: Rohit Dabra
author_username: rohitdabra
categories: []
created_at: 2025-09-22T16:26:50.376Z
updated_at: 2025-09-22T16:26:50.376Z
url: https://n8n.io/workflows/8838
scraped_at: 2025-12-24 13:02:45
description:
  Jira MCP Server Integration with n8n

  Overview

  Transform your Jira project management with the power of AI and automation! This n8n workflow template demonstrates how to create a seamless integration between chat interfaces, AI processing, and Jira Software using MCP (Model Context Protocol) server architecture.

  What This Workflow Does

  Chat-Driven Automation**: Trigger Jira operations through simple chat messages
  AI-Powered Issue Creation**: Automatically generate detailed Jira issues with descriptions and acceptance criteria
  Complete Jira Management**: Get issue status, changelogs, comments, and perform full CRUD operations
  Memory Integration**: Maintain context across conversations for smarter automations
  Zero Manual Entry**: Eliminate repetitive data entry and human errors

  Key Features

  ✅ Natural Language Processing: Use Google Gemini to understand and process chat requests  
  ✅ MCP Server Integration: Secure, efficient communication with Jira APIs  
  ✅ Comprehensive Jira Operations: Create, read, update, delete issues and comments  
  ✅ Smart Memory: Context-aware conversations for better automation  
  ✅ Multi-Action Workflow: Handle multiple Jira operations from a single trigger  

  Demo Video

  🎥 Watch the Complete Demo: Automate Jira Issue Creation with n8n & AI | MCP Server Integration

  Prerequisites

  Before setting up this workflow, ensure you have:

  n8n instance** (cloud or self-hosted)
  Jira Software** account with appropriate permissions
  Google Gemini API** credentials
  MCP Server** configured and accessible
  Basic understanding of n8n workflows

  Setup Guide

  Step 1: Import the Workflow

  Copy the workflow JSON from this template
  In your n8n instance, click Import &gt; From Text
  Paste the JSON and click Import

  Step 2: Configure Google Gemini

  Open the Google Gemini Chat Model node
  Add your Google Gemini API credentials
  Configure the model parameters:
     Model: gemini-pro (recommended)
     Temperature: 0.7 for balanced creativity
     Max tokens: As per your requirements

  Step 3: Set Up MCP Server Connection

  Configure the MCP Client node:
     Server URL: Your MCP server endpoint
     Authentication: Add required credentials
     Timeout: Set appropriate timeout values

  Ensure your MCP server supports Jira operations:
     Issue creation and retrieval
     Comment management
     Status updates
     Changelog access

  Step 4: Configure Jira Integration

  Set up Jira credentials in n8n:
     Go to Credentials &gt; Add Credential
     Select Jira Software API
     Add your Jira instance URL, email, and API token

  Configure each Jira node:
     Get Issue Status: Set project key and filters
     Create Issue: Define issue type and required fields
     Manage Comments: Set permissions and content rules

  Step 5: Memory Configuration

  Configure the Simple Memory node:
     Set memory key for conversation context
     Define memory retention duration
     Configure memory scope (user/session level)

  Step 6: Chat Trigger Setup

  Configure the When Chat Message Received trigger:
     Set up webhook URL or chat platform integration
     Define message filters if needed
     Test the trigger with sample messages

  Usage Examples

  Creating a Jira Issue

  Chat Input:
  Can you create an issue in Jira for Login Page with detailed description and acceptance criteria?

  Expected Output:
  New Jira issue created with structured description
  Automatically generated acceptance criteria
  Proper labeling and categorization

  Getting Issue Status

  Chat Input:
  What's the status of issue PROJ-123?

  Expected Output:
  Current issue status
  Last updated information
  Assigned user details

  Managing Comments

  Chat Input:
  Add a comment to issue PROJ-123: "Ready for testing in staging environment"

  Expected Output:
  Comment added to specified issue
  Notification sent to relevant team members

  Customization Options

  Extending Jira Operations

  Add more Jira operations (transitions, watchers, attachments)
  Implement custom field handling
  Create multi-project workflows

  AI Enhancement

  Fine-tune Gemini prompts for better issue descriptions
  Add custom validation rules
  Implement approval workflows

  Integration Expansion

  Connect to Slack, Discord, or Teams
  Add email notifications
  Integrate with time tracking tools

  Troubleshooting

  Common Issues

  MCP Server Connection Failed
  Verify server URL and credentials
  Check network connectivity
  Ensure MCP server is running and accessible

  Jira API Errors
  Validate Jira credentials and permissions
  Check project access rights
  Verify issue type and field configurations

  AI Response Issues
  Review Gemini API quotas and limits
  Adjust prompt engineering for better results
  Check model parameters and settings

  Performance Tips

  Optimize memory usage for long conversations
  Implement rate limiting for API calls
  Use error handling and retry mechanisms
  Monitor workflow execution times

  Best Practices

  Security: Store all credentials securely using n8n's credential system
  Testing: Test each node individually before running the complete workflow
  Monitoring: Set up alerts for workflow failures and API limits
  Documentation: Keep track of custom configurations and modifications
  Backup: Regular backup of workflow configurations and credentials

  Happy Automating! 🚀

  This workflow template is designed to boost productivity and eliminate manual Jira management tasks. Customize it according to your team's specific needs and processes.

nodes_used:
  ["@n8n/n8n-nodes-langchain.mcpTrigger","n8n-nodes-base.jiraTool","n8n-nodes-base.jiraTool","n8n-nodes-base.jiraTool","n8n-nodes-base.jiraTool","n8n-nodes-base.jiraTool","n8n-nodes-base.jiraTool","n8n-nodes-base.jiraTool","n8n-nodes-base.jiraTool","n8n-nodes-base.jiraTool","n8n-nodes-base.jiraTool","n8n-nodes-base.jiraTool","@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.mcpClientTool","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.jiraTool","n8n-nodes-base.jiraTool","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4244 characters]


name: Transform Product Photos into Studio-Quality Visuals with Nano Banana & Telegram
author_name: SuS
author_username: sulieman-said
categories: []
created_at: 2025-09-22T22:53:36.260Z
updated_at: 2025-09-22T22:53:36.260Z
url: https://n8n.io/workflows/8843
scraped_at: 2025-12-24 13:02:44
description:
  Turn a single product photo into scroll-stopping, studio-quality visuals in minutes.  
  Perfect for Shopify / WooCommerce / Amazon / Etsy sellers, agencies, and UGC creators who want consistent, on-brand images without costly photoshoots or endless editing.

  Why you’ll love it
  Sell more, faster:** Professional, consistent visuals boost trust and conversions.
  Save time & money:** No studio, no photographer, no retouching marathon.
  Multiple looks instantly:* Get up to *3 variants** per product (great for A/B testing).
  On-brand results:* Subtle *brand color grading** for a polished, consistent look.
  Zero friction delivery:* Images are sent straight to your *Telegram** for instant review.

  Perfect for
  D2C brands, marketplace sellers, and dropshippers  
  Agencies producing UGC for clients  
  Creators who need ad-ready product images today  
  Teams that want reliable results without learning complex tools

  What’s included
  n8n workflow (template)** that automates: form input → prompt creation → image rendering → delivery
  Built-in guidance** (sticky notes) to keep you moving fast
  Prompt logic** tuned for product realism (camera, lighting, materials, subtle brand grading)

  Step-by-Step — How it works

  Open the form  
     Enter:
     Product Name & Product Description (material, finish, color, USP)  
     Product Image (required)  
     Optional: Background Image, or describe it (Background Type + Background Description)  
     Choose Camera Angle, Lighting Style, Aperture (Depth of Field)  
     Set Aspect Ratio, Variants (1–3), and your TG_Chat ID (Telegram target)

  Click “Submit”  
     The workflow automatically:
     Uploads your images  
     Writes photography-accurate prompts (focal length, aperture, lighting, surface/shadows)  
     Renders each variant into clean PNG results

  Receive your images  
     Finished images land in your Telegram chat/group for instant feedback and use

  That’s it. No manual editing, no waiting, no hassle.

  Real problems solved
  Inconsistent brand look?** Get uniform, polished visuals across your store and ads.  
  No time for shoots?** Generate studio/lifestyle shots from one upload.  
  Need options fast?** Produce multiple variants (A/B/C) in a single run.  
  Limited budget?** Cut studio and retouching costs to nearly zero.

  Customize it to your stack
  Swap Telegram for email, Slack, Google Drive, Dropbox, or S3
  Save prompts & URLs to Notion/Airtable for tracking
  Add an approval step before delivery
  Map aspect ratios to fixed pixel sizes for ad platforms

  Requirements
  n8n** (self-hosted or cloud)  
  Access to OpenAI and Kie.ai (API creds)  
  A Telegram bot added to your target chat (for delivery)

  You control which assets and metadata are sent to external APIs. Always ensure you have rights to the images you upload.

  FAQs

  Do I need a background image?  
  No. If you skip it, the workflow builds a realistic scene from your background description.

  How many images do I get?  
  Up to 3 variants per run (you choose 1–3).

  Are the results on-brand?  
  Yes—subtle grading honors your brand colors without over-saturation.

  Can I change the delivery channel?  
  Absolutely. Replace Telegram with your preferred destination (email, storage, chat).

  Use cases
  PDP images, marketplace listings, social ads, story posts, influencer kits, quick mockups for pitch decks and client approvals.

  Ready to level up your product visuals?
  Add to cart, upload your first product image, and get studio-quality results—today.

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.splitOut","n8n-nodes-base.splitInBatches","n8n-nodes-base.merge","n8n-nodes-base.telegram","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.httpRequest","n8n-nodes-base.formTrigger"]

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


name: PDF RAG Agent with Telegram Chat & Auto-Ingestion from Google Drive
author_name: Meelioo
author_username: mookielian
categories: []
created_at: 2025-09-23T10:13:36.936Z
updated_at: 2025-09-23T10:13:36.936Z
url: https://n8n.io/workflows/8860
scraped_at: 2025-12-24 13:02:45
description:
  How it works

  This workflow creates an intelligent document assistant called "Mookie" that can answer questions based on your uploaded documents. Here's how it operates:

  Document Ingestion:** The system can automatically load PDF files from Google Drive or accept PDFs uploaded directly through Telegram, then processes and stores them in a PostgreSQL vector database using Mistral embeddings
  Smart Retrieval:** When users ask questions via Telegram or a web chat interface, the AI agent searches through the stored documents to find relevant information using vector similarity matching
  Contextual Responses:** Using GPT-4 and the retrieved document context, Mookie provides accurate answers based solely on the ingested documents, avoiding hallucination by refusing to answer questions not covered in the stored materials
  Memory & Conversation:** The system maintains conversation history for each user, allowing for natural follow-up questions and contextual discussions

  Set up steps

  Estimated setup time: 30-45 minutes
  You'll need to configure several external services and credentials:

  Set up a PostgreSQL database with PGVector extension for document storage
  Create accounts and API keys for Azure OpenAI (GPT-4), Mistral Cloud (embeddings), and Google Drive access
  	Connect your own LLM's if you don't have these credentials.
  Configure a Telegram bot and obtain API credentials for chat functionality
  Update webhook URLs throughout the workflow to match your n8n instance
  Test the document ingestion pipeline with sample PDFs
  Verify the chat interfaces (both Telegram and web) are responding correctly

  &gt;The workflow includes approval mechanisms for PDF ingestion and handles both automated bulk processing from Google Drive and real-time document uploads through Telegram. Read the sticky notes provided in the template code for clear instructions.

nodes_used:
  ["@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.lmChatAzureOpenAi","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.embeddingsMistralCloud","@n8n/n8n-nodes-langchain.vectorStorePGVector","n8n-nodes-base.splitInBatches","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.manualTrigger","n8n-nodes-base.webhook","@n8n/n8n-nodes-langchain.textSplitterTokenSplitter","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.vectorStorePGVector","@n8n/n8n-nodes-langchain.embeddingsMistralCloud","n8n-nodes-base.telegramTrigger","@n8n/n8n-nodes-langchain.lmChatAzureOpenAi","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.vectorStorePGVector","@n8n/n8n-nodes-langchain.embeddingsMistralCloud","n8n-nodes-base.telegram","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.telegram","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.chatTrigger","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.httpRequest","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 7680 characters]


name: Product Review Analysis with BrowserAct & Gemini-Powered Recommendations
author_name: Madame AI Team | Kai
author_username: madame-ai
categories: []
created_at: 2025-09-23T11:08:47.001Z
updated_at: 2025-09-23T11:08:47.001Z
url: https://n8n.io/workflows/8862
scraped_at: 2025-12-24 13:02:44
description:
  Product Review Analysis with BrowserAct & Gemini-Powered Recommendations.

  This n8n template demonstrates how to perform product review sentiment analysis and generate improvement recommendations using an AI Agent.

  This workflow is perfect for e-commerce store owners, product managers, or marketing teams who want to automate the process of collecting feedback and turning it into actionable insights.

  How it works
  The workflow is triggered manually.
  An HTTP Request node initiates a web scraping task with the BrowserAct API to collect product reviews.
  A series of If and Wait nodes are used to check the status of the scraping task. If the task is not yet complete, the workflow pauses and retries until it receives the full dataset.
  An AI Agent node, powered by Google Gemini, then processes the scraped review summaries. It analyzes the sentiment of each review and generates actionable improvement recommendations.
  Finally, the workflow sends these detailed recommendations via a Telegram message and an Email to the relevant stakeholders.

  Requirements
  BrowserAct** API account for web scraping
  BrowserAct* "Product Review Sentiment Analysis*" Template
  Gemini** account for the AI Agent
  Telegram* and *SMTP** credentials for sending messages

  Need Help ?
  How to Find Your BrowseAct API Key & Workflow ID
  How to Connect n8n to Browseract
  How to Use & Customize BrowserAct Templates
  Workflow Guidance and Showcase

  How to INSTANTLY Get Product Improvement Ideas from Amazon Reviews | BrowserAct + n8n + Gemini

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.wait","n8n-nodes-base.if","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.emailSendTool","n8n-nodes-base.telegramTool","n8n-nodes-base.emailSend","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.telegram","n8n-nodes-base.manualTrigger","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","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, 5800 characters]


name: Indeed Job Matching to Telegram with BrowserAct, Gemini & Telegram
author_name: Madame AI Team | Kai
author_username: madame-ai
categories: []
created_at: 2025-09-23T12:22:44.828Z
updated_at: 2025-09-23T12:22:44.828Z
url: https://n8n.io/workflows/8864
scraped_at: 2025-12-24 13:02:45
description:
  Analyze job market data with AI to find matching jobs

  This n8n template helps you stay on top of the job market by matching scraped job offers with your resume using an AI Agent.

  This workflow is perfect for job seekers, recruiters, or market analysts who need to find specific job opportunities without manually sifting through countless listings.

  Steps to Take
  Create BrowserAct Workflow:* Set up the *Job Market Intelligence** template in your BrowserAct account.
  Add BrowserAct Token:* Connect your BrowserAct account credentials to the *HTTP Request** node.
  Update Workflow ID:* Change the workflow_id value in the *HTTP Request** node to match the one from your BrowserAct workflow.
  Connect Gemini:* Add your Google Gemini credentials and update your *resume* inside the prompt in the *AI Agent** node.
  Configure Telegram:* Connect your Telegram account and add your Channel ID to the *Send a text message** node.

  How it works
  The workflow is triggered manually by clicking "Execute workflow," but you can easily set it to run on a schedule.
  It uses an HTTP Request node to start a web scraping task via the BrowserAct API to collect the latest job offers.
  A series of If and Wait nodes monitor the scraping job, ensuring the full data is ready before proceeding.
  An AI Agent node, powered by Google Gemini, processes the job listings and filters them to find the best matches for your resume.
  A Code node then transforms the AI's output into a clean, readable format.
  Finally, the filtered job offers are sent directly to you via Telegram.

  Requirements
  BrowserAct** API account
  BrowserAct* *“Job Market Intelligence”** Template
  Gemini** account
  Telegram** credentials

  Need Help ?
  How to Find Your BrowseAct API Key & Workflow ID
  How to Connect n8n to Browseract
  How to Use & Customize BrowserAct Templates

  Workflow Guidance and Showcase

  Never Manually Search for a Job Again (AI Automation Tutorial)

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.wait","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.outputParserStructured","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/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 6936 characters]


name: Automate Google Maps Lead Generation with Perplexity AI and Email Verification
author_name: Antxon Pous
author_username: verificaremails
categories: []
created_at: 2025-09-24T16:54:28.812Z
updated_at: 2025-09-24T16:54:28.812Z
url: https://n8n.io/workflows/8904
scraped_at: 2025-12-24 13:02:41
description:
  Overview ✨

  This template finds businesses on Google Maps → writes to Google Sheets → enriches + **verifies email contact so your outreach stays clean and deliverable. It includes Sticky Notes  to explain the flow and setup.

  What it does 🔎➡️📄➡️✅

  Search & save: Fetch places and append rows (Name, Address, Website, Rating, Phone) to your sheet.
  Enrich: Ask an LLM (Perplexity) for Email + a short company Background.
  Verify emails: For Email Verification we use VerificarEmails  to validate every email address before writing back (fewer bounces, less blocking).

  &gt; ℹ️ VerificarEmails node: install the community node @verificaremails/n8n-nodes-verificaremails (Settings → Community Nodes) and use it until it’s approved as a core node. ✨
  Youtube Video

  Requirements 🔐

  Use n8n Credentials for: Google Sheets, Perplexity (Bearer), and VerificarEmails.
  Keep prompts short and temperature: 0 to lower cost.
  Create a Google Sheet with the following headers: UUID, Name, Address, Website, Rating	Email, Valid, Email, Phone, Valid Phone, Summary

  How to run ▶️

  Set your search params (query, locale, pages).
  Run the flow: it saves results → enriches → verifies emails → updates the sheet.
  If the read/update step doesn’t run, ensure the finalization (Done) path and the correct sheet/tab are selected.

  Why verify? ✉️🧹

  Bad emails cause bounces, throttling, and blocks. Verifying first protects sender reputation and improves deliverability.
  Beyond emails, VerificarEmails also offers **phone, names. Check Email Validation API documentation to better understand verification results.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.set","n8n-nodes-base.splitInBatches","n8n-nodes-base.httpRequest","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.splitInBatches","n8n-nodes-base.code","n8n-nodes-base.filter","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.googleSheets","n8n-nodes-base.if","@verificaremails/n8n-nodes-verificaremails.verificaremails","n8n-nodes-base.googleSheetsTrigger"]

workflow_json_compressed:
  [encoded data, 6052 characters]


name: Automated Sprint Reports from Jira to Stakeholders via Gmail
author_name: Yassin Zehar
author_username: yassinzehar
categories: []
created_at: 2025-09-25T18:03:07.898Z
updated_at: 2025-09-25T18:03:07.898Z
url: https://n8n.io/workflows/8932
scraped_at: 2025-12-24 13:02:45
description:
  Description

  Automated workflow that generates a Sprint Report from Jira and delivers it by Gmail.

  The flow fetches sprint issues from Jira, validates and normalizes the data, calculates metrics (tickets, story points, blockers, completion rate), generates an HTML report, and sends it by email.

  Context

  This template helps teams keep stakeholders updated automatically of the current sprint.
  Instead of manually compiling Jira data, the report is generated and sent on schedule (e.g., every Friday at 17:00).

  It’s production-friendly, reusable, and works across Jira projects.

  Target Users

  Scrum Masters and Agile Coaches who need sprint reports for retrospectives.

  Product Owners who want a weekly overview of sprint progress.

  Project Managers tracking Jira delivery KPIs.

  Engineering teams wanting automated status reporting without extra overhead.

  Technical Requirements

  Jira Cloud project + API email + API token + permission to read issues.

  Gmail credential for notifications.

  Workflow Steps



  Trigger – Schedule (e.g., Friday at 17:00).

  Edit Fields – Configure Jira base URL, project key, email recipients.

  Get Many Issues – Fetch sprint issues with JQL (project = &lt;KEY&gt; AND sprint in openSprints()).

  Validation & Normalization – Clean/validate fields (status, assignee, priority, story points, sprint info).

  Metrics Calculation – Aggregate KPIs (done, in progress, blockers, story points, completion %).

  HTML Report Generation – Build a styled email-friendly HTML summary + detailed table.

  Send Gmail – Deliver report to stakeholders.

  Key Features

  Automated Sprint Reports: No manual copy-paste.

  Metrics overview: Tickets done vs total, blockers, story points.

  Detailed table: Issue key, summary, status, assignee, priority, SP.

  Email delivery: HTML report with Jira links sent to stakeholders.

  Fully customizable: Adjust fields, KPIs, and recipients easily.

  Expected Output

  📊 HTML Sprint Report with KPIs and issue table.
  ✅ Email delivered to stakeholders via Gmail.
  🔗 Jira links embedded for easy navigation.

  How it works

  ⏰ Trigger – Runs on schedule (e.g., every Friday at 17:00).
  🧾 Fetch Issues – JQL filters sprint tickets.
  📊 Metrics – Done vs total, SP progress, blockers.
  💻 Generate HTML – Clean, styled table and summary.
  ✉️ Notify – Send Gmail with full sprint report to stakeholders.

  Tutorial video:
  Watch the Youtube Tutorial video

  About me :
  I’m Yassin a Project & Product Manager  Scaling tech products with data-driven project management.
  📬 Feel free to connect with me on Linkedin

nodes_used:
  ["n8n-nodes-base.gmail","n8n-nodes-base.jira","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code"]

workflow_json_compressed:
  [encoded data, 5064 characters]


name: Generate Comprehensive Website Audit Report with GPT-4o-mini & Claude Sonnet 4.5
author_name: Sensonar.com
author_username: sebastian
categories: []
created_at: 2025-09-25T21:33:32.382Z
updated_at: 2025-09-25T21:33:32.382Z
url: https://n8n.io/workflows/8934
scraped_at: 2025-12-24 13:02:44
description:
  🌐 Webpage Audit AI Agent – Automate Your Website Review

  This workflow contains a virtual digital consultant team to professionally analyze Landing Page, generate Audit Report and sent it via Gmail.

  At the center is the Editor-in-Chief AI Agent, who acts as the lead strategist.  
  When you submit a website URL, it is scraped and then sent to to a team of specialist AI Agents (each powered by GPT-4o-mini for speed) then after finishing their sub-porcess deliver outcome to the final Editor (Claude Sonnet for premium quality) which is responsible for generating professional analysis.

  The result: a consulting-style email audit report that combines technical accuracy with business clarity — delivered straight to your inbox.

  🟢 Section 1 – Entry & Leadership

  Nodes:

  🌍 Webhook node → Entry point where the website URL, email and language is entered. 
  📝 Editor-in-Chief Agent → Acts like the consulting team leader. Interprets the request and merges results.  
  💡 Think Tool → Helps structure the analysis, ensuring that findings are presented in a business-friendly way.  
  🧠 CRO/SEO/Tech/Semantic AI Agents → Ensures both efficiency (GPT-4o-mini for scanning large content quickly) and focus on specific task.  

  ✅ Beginner view: Think of this as submitting your website to a digital auditors. They decide what needs to be reviewed from each perspective, delegate to the right experts, and then together - as an AI Agents team - craft the final report.

  📊 Section 2 – Specialist Audit AI Agents

  Each specialist focuses on one critical layer of your website:

  🔧 Technical SEO Agent → Analyzes code structure, page speed, mobile responsiveness, metadata, and accessibility.  
  📝 Content SEO Agent → Reviews keyword strategy, text quality, readability, and semantic richness.  
  🎯 CRO & UX Agent → Checks calls-to-action, user flows, conversion points, and usability.  
  🤖 Semantic Agent → Checks if AI Agents aligns with semantic flows, marketing problems and risks.  
  📈 Analytics Agent → Validates tracking, funnels, and key performance indicators (optional).  

  ✅ Beginner view: This is like hiring a team of experts — SEO, content, UX, and analytics — all working in parallel on your website.

  📋 Section 3 – Flow of Execution

  You submit your website URL.  
  Then it is distributed to the team of AI Agents.  
  Each Agent runs its analysis in parallel.  
  Findings are sent to the Editor-in-Chief.
  The Editor compiles everything into a consulting-style newsletter report.  
  The final report is emailed to you automatically.  

  ✅ Beginner view: It’s like sending your site to a consulting firm, and within minutes you get a polished audit back in your inbox.

  📊 Summary Table

  | Section               | Key Roles                       | Models                     | Purpose                      | Beginner Benefit                          |
  |-----------------------|---------------------------------|----------------------------|------------------------------|-------------------------------------------|
  | 🟢 Entry & Leadership | Editor-in-Chief, Think Tool     | Anthropic Claude Sonnet 4| Organize and refine analysis | Works like a consulting team leader        |
  | 📊 Specialists        | SEO, Content, CRO, Semantic, Analytics    | GPT-4o-mini                | Detailed audits of each area | Each Agent = a specialized consultant      |
  | 📋 Execution Flow     | All connected                   | n8n workflow               | Collaboration and reporting  | Output = clear, professional audit email   |

  🌟 Why This Workflow Rocks

  Full digital consulting team in one workflow**  
  Parallel execution → speed without losing depth**  
  Strategic + tactical insights → both “what” and “how”**  
  Cost-optimized** ($0.40–$0.80 per run) → cheaper than a single human consultant review  
  Action-oriented output** → not just issues, but recommendations and next steps  
  Scalable** → easily extend with more audit dimensions (security, branding, accessibility, etc.)  

  👉 Example Use Case

  “Analyze my e-commerce site for SEO, CRO, technical and semantic issues.”

  Technical SEO Agent → Reports missing alt text, metadata, and slow mobile speed.  
  Content SEO Agent → Flags weak product descriptions, suggests keyword improvements.  
  CRO Agent → Finds unclear CTAs and checkout friction points. 
  Semantic Agent → Finds everything to improve searching by AI Agents.
  Editor-in-Chief Agent → Combines everything into a consulting-style email with prioritized fixes and estimated business impact.  

  ✅ Delivered directly to your inbox in under 5 minutes.

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.markdown","n8n-nodes-base.gmail","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatAnthropic","n8n-nodes-base.stickyNote","n8n-nodes-base.respondToWebhook","n8n-nodes-base.webhook","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.set","n8n-nodes-base.merge","n8n-nodes-base.aggregate"]

workflow_json_compressed:
  [encoded data, 9016 characters]


name: AI Call Summary to HubSpot + Follow-Up Task
author_name: Miha
author_username: miha
categories: []
created_at: 2025-09-26T15:43:32.501Z
updated_at: 2025-09-26T15:43:32.501Z
url: https://n8n.io/workflows/8966
scraped_at: 2025-12-24 13:02:43
description:
  This n8n template turns raw call transcripts into clean HubSpot call logs and a single, actionable follow-up task—automatically. Paste a transcript and the contact’s email; the workflow finds the contact, summarizes the conversation in 120–160 words, proposes the next best action, and (optionally) updates missing contact fields.

  Perfect for reps and founders who want accurate CRM hygiene without the manual busywork.

  How it works

  A form trigger collects two inputs:

    Contact email
    Plain-text call transcript
  The workflow looks up the HubSpot contact by email to pull known properties.
  An AI agent reads the transcript (plus known fields) to:

    Extract participants, role, problem/opportunity, requirements, blockers, timeline, and metrics.
    Write a 120–160 word recap a teammate can skim.
    Generate one concrete follow-up task (title + body).
    Suggest updates for missing contact properties (city, country, job title, job function).
  The recap is logged to HubSpot as a completed Call engagement.
  The follow-up is created in HubSpot as a Task with subject and body.
  (Optional) The contact record is updated using AI-suggested values if the transcript clearly mentions them.

  How to use

  Connect HubSpot (OAuth2) on all HubSpot nodes.
  Connect OpenAI on the AI nodes.
  Open Form: Capture Transcript, submit the email + transcript.
  (Optional) In AI: Summarize Call & Draft Task, tweak prompt rules (word count, date normalization).
  (Optional) In Update Contact from Transcript, review the mapped fields before enabling in production.
  Activate the workflow and paste transcripts after each call.

  Requirements

  HubSpot** (OAuth2) for contact search, call logging, and tasks
  OpenAI** for summarization and task drafting

  Notes & customization ideas

  Swap the form for a Google Drive or S3 watcher to ingest saved transcripts.
  Add a speech-to-text step if you store audio recordings.
  Extend Update Contact to include additional fields (timezone, department, seniority).
  Post the summary to Slack or email the AE for quick handoffs.
  Gate updates with a confidence check, or route low-confidence changes for manual approval.

nodes_used:
  ["n8n-nodes-base.hubspot","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.formTrigger","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.hubspot","n8n-nodes-base.hubspot","n8n-nodes-base.hubspotTool","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4432 characters]


name: AI Email Reply Based on HubSpot Data + Slack Approval
author_name: Miha
author_username: miha
categories: []
created_at: 2025-09-26T15:48:45.383Z
updated_at: 2025-09-26T15:48:45.383Z
url: https://n8n.io/workflows/8967
scraped_at: 2025-12-24 13:02:43
description:
  This n8n template drafts customer-ready email replies using Google Gemini, enriched with HubSpot context (contact, deals, companies, tickets). Each draft is routed to Slack for one-click approval before it’s sent from Gmail—so you move fast without losing control.

  Ideal for support and sales teams that want speedy, personalized responses while keeping humans in the loop.

  How it works

  Gmail Trigger** watches for new inbound emails.
  Sender filter** excludes internal domains (e.g., n8n.io) to avoid auto-replying to teammates.
  HubSpot contact lookup* finds the sender and fetches associated *deals/companies/tickets** via association + batch read.
  CRM context is normalized** into clean, LLM-friendly fields (no IDs or sensitive noise).
  Gemini (Google AI Studio)** generates a concise, friendly reply using:

    Sender name, subject, and message snippet
    Safe, relevant HubSpot context (e.g., top 1–2 deals or an open ticket)
    Style constraints (≤ \~150 words, single CTA, optional clarifying question)
  Slack approval* posts the draft to a channel; if *approved, n8n **replies via Gmail in the original thread.

  How to use

  Gmail: Connect the same account for the trigger and reply nodes.
  HubSpot: Connect OAuth on the search + HTTP request nodes.
  Gemini: Add your Google AI Studio API key to the Google Gemini Chat Model node.
  Slack: Connect and select the channel for draft approvals.
  (Optional) Filter: Adjust the Allowed Sender filter before going live.
  (Optional) Prompt: Edit “Draft Reply (AI Agent)” tone/length or how much CRM detail to include.
  Activate the workflow. New emails will produce Slack-approved replies automatically.

  Requirements

  Gmail** (trigger + send)
  HubSpot** (OAuth2) for contact + associations
  Slack** for approval step
  Google Gemini** (Google AI Studio API key)

  Notes & customization

  Safety rails:** The prompt avoids exposing IDs/raw JSON and caps CRM details to what’s useful.
  Auto-send mode:** Skip Slack if you want fully automated replies for specific senders/labels.
  Richer context:** Extend the batch read to pull more properties (e.g., next step, renewal date).
  Triage:** Branch on subject/labels to route billing vs. technical requests to different prompts.
  QA queue:* If the model asks a clarifying question, keep it to *one**—the node enforces that.

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.gmail","n8n-nodes-base.gmailTrigger","n8n-nodes-base.filter","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.hubspot","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.slack","n8n-nodes-base.if","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, 7700 characters]


name: Email Outreach Drafter Based on HubSpot Data
author_name: Miha
author_username: miha
categories: []
created_at: 2025-09-26T15:55:13.793Z
updated_at: 2025-09-26T15:55:13.793Z
url: https://n8n.io/workflows/8968
scraped_at: 2025-12-24 13:02:44
description:
  This n8n template turns a small, targeted HubSpot list into tailored outreach. It scans each contact’s recent Gmail conversations, builds a lightweight persona with AI (tone, goals, pain points, decision style), then drafts a concise sales email aligned to your offer—saved to Gmail as a reviewable draft.

  Perfect for SDRs and founders who want personalization at scale without writing from scratch.

  This template was originally created by Jim Le.

  How it works

  Manual trigger** starts a controlled run.
  HubSpot search** pulls a focused list of contacts (e.g., hs_buying_role = DECISION_MAKER).
  Batch loop** processes contacts one by one.
  Gmail fetch** grabs up to 20 recent threads from each contact.
  AI persona extraction** (Information Extractor + Gemini) analyzes messages to capture:

    decision-making style, communication preferences, goals/motivations
    pain points, work style, personality traits, buying behavior, values, market awareness
  Variables node* sets core fields (first name, last name, email) and the *offer** you want to pitch.
  AI email generation* (Gemini) mirrors the contact’s tone and priorities; outputs *subject* + *HTML body**.
  Gmail draft** is created for the contact so a rep can skim, tweak, and send.

  How to use

  Connect HubSpot on the “Get Contacts” node and refine the filter to your segment.
  Connect Gmail on both read and draft nodes (same account recommended).
  Add Gemini key to both Gemini nodes.
  In Variables, update product_to_sell with your offer and confirm the contact field mappings.
  (Optional) Tweak the persona attributes or the email prompt for tone/length/CTA.
  Click Test workflow. Review drafts in Gmail, edit if needed, then send.

  Requirements

  HubSpot** (OAuth2) for contact targeting
  Gmail** (read + draft)
  Google Gemini** (API key) for persona + copy generation

  Notes & customization

  Tighter targeting:** Change the HubSpot filter (e.g., industry, territory, lifecycle stage) to keep the list small and measurable.
  Richer inputs:** Increase Gmail limit or include received/sent filters to capture more context (mind rate limits).
  Brand voice:** Add a short style guide to the email generator’s system prompt (e.g., sentence length, jargon rules, sign-off).
  Offer variants:** Replace product_to_sell per segment, or branch by industry to load different value props.
  Compliance & privacy:** Limit stored outputs to essentials; avoid copying sensitive content from threads verbatim.
  Auto-send option:** Swap the draft step for “send email” if you want hands-off delivery for known segments.

nodes_used:
  ["n8n-nodes-base.noOp","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.splitInBatches","n8n-nodes-base.hubspot","@n8n/n8n-nodes-langchain.informationExtractor","@n8n/n8n-nodes-langchain.informationExtractor","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.set","n8n-nodes-base.manualTrigger"]

workflow_json_compressed:
  [encoded data, 6348 characters]


name: HubSpot Contact AI Enrichment
author_name: Miha
author_username: miha
categories: []
created_at: 2025-09-26T15:58:10.491Z
updated_at: 2025-09-26T15:58:10.491Z
url: https://n8n.io/workflows/8969
scraped_at: 2025-12-24 13:02:43
description:
  This n8n template auto-enriches brand-new HubSpot contacts with company details. Each day it finds contacts created in the last 24 hours (skipping free email domains), researches the company from the contact’s email domain, and writes back clean fields—no manual lookup needed.

  Perfect for GTM teams that want better segmentation and faster personalization from day one.

  How it works

  A daily schedule trigger starts the workflow.
  HubSpot: Get recently created/updated contacts** pulls the newest records.
  A filter keeps only contacts:

    created within the last 24 hours
    whose email domain doesn’t contain gmail.com (adjust as needed).
  An AI research agent (Gemini + SerpAPI):

    extracts the company domain from the contact’s email
    searches the web and returns structured JSON:

      company_name, industry, headquarters_city, headquarters_country, employee_count, website, linkedin, description
  HubSpot: Add company info** updates the contact with the enriched fields.

  How to use

  Connect HubSpot on both HubSpot nodes (OAuth2).
  Connect SerpAPI (paste your API key).
  Connect Google Gemini (Google AI Studio API key).
  (Optional) Edit the agent prompt to fetch more/different fields.
  (Optional) Tweak the filter to include/exclude other domains.
  Activate the workflow to run daily.

  Requirements

  HubSpot** (OAuth2) for reading/updating contacts
  SerpAPI** for web search results
  Google Gemini** for company profiling and structured output

  Notes & customization

  Free domains:** Add more exclusions (e.g., yahoo.com, outlook.com) to reduce false positives.
  Confidence gating:** Require website + LinkedIn before writing to HubSpot, or route low-confidence results for manual review.
  Field mapping:** Extend the update step with additional properties (e.g., industry tags, HQ timezone).
  Frequency:** Switch the trigger to hourly for faster enrichment on high-volume inbound.
  Data hygiene:** Normalize employee count ranges and country names to your CRM picklists.

nodes_used:
  ["n8n-nodes-base.hubspot","@n8n/n8n-nodes-langchain.toolSerpApi","n8n-nodes-base.filter","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.hubspot","n8n-nodes-base.scheduleTrigger"]

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


name: Weekly HubSpot Lead Report to Slack
author_name: Miha
author_username: miha
categories: []
created_at: 2025-09-26T15:59:48.711Z
updated_at: 2025-09-26T15:59:48.711Z
url: https://n8n.io/workflows/8970
scraped_at: 2025-12-24 13:02:43
description:
  This n8n template posts a quick weekly snapshot to Slack so your team sees last week’s funnel movement at a glance. It counts how many contacts entered the Lead stage in the past week—and optionally reports closed-won deals from the same period.

  Perfect for GTM standups and Monday pipeline reviews.

  How it works

  A weekly schedule (e.g., Mondays 07:00) kicks things off.
  HubSpot → Get all contacts** pulls contacts with hs_v2_date_entered_lead.
  A filter keeps only those whose lead date is within the last 7 days.
  Summarize** counts the resulting leads.
  Slack* posts: “Last week we generated *X** leads.”
  (Optional branch) Deals:

    HubSpot → Get all deals with hs_is_closed_won and hs_closed_won_date.
    Filter to closed-won last week.
    Summarize to report count and (if mapped) total amount.

  How to use

  Connect HubSpot on the contacts and (optional) deals nodes.
  Connect Slack and pick the destination channel.
  In Schedule the report, set your preferred day/time.
  (Optional) For the Deals branch, include the amount property on “Get all deals” and set Summarize → sum over amount.
  Activate the workflow.

  Requirements

  HubSpot** (OAuth2)
  Slack** (OAuth2)

  Notes & customization

  Time windows:** Adjust the filter to different periods (e.g., last 14 or 30 days).
  More stages:** Duplicate the contacts branch for MQL/SQL or custom lifecycle events.
  Richer Slack message:** Add emojis, trend vs. prior week, or a tiny leaderboard by owner.
  Segments:** Split by country/industry using HubSpot lists or additional filters.

nodes_used:
  ["n8n-nodes-base.hubspot","n8n-nodes-base.filter","n8n-nodes-base.summarize","n8n-nodes-base.stickyNote","n8n-nodes-base.slack","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.hubspot","n8n-nodes-base.filter","n8n-nodes-base.summarize","n8n-nodes-base.stickyNote"]

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


name: Chat with Your HubSpot Data
author_name: Miha
author_username: miha
categories: []
created_at: 2025-09-26T16:03:26.575Z
updated_at: 2025-09-26T16:03:26.575Z
url: https://n8n.io/workflows/8971
scraped_at: 2025-12-24 13:02:44
description:
  This n8n template gives you a chat-style assistant that can search your HubSpot CRM on demand. Ask natural-language questions like “show me leads in Germany” or “what deals close next month,” and the agent translates your request into precise HubSpot searches—then answers in plain English.

  Great for founders, AEs, and ops folks who want quick answers without clicking through the CRM.

  How it works

  Chat trigger** starts a session from your n8n chat UI or embed.
  AI Agent (Gemini 2.5 Pro)** interprets the message and:

    Chooses the right HubSpot search (contacts or deals).
    Fills filter property, operator (EQ, NEQ, GT, GTE, LT, LTE, BETWEEN, IN, NOT\_IN), and value(s).
    Requests specific properties (email, name, lifecycle stage, owner, activity timestamps, etc.).
  HubSpot tools** execute live queries:

    Contacts: flexible property filter + free-text query.
    Deals: filters by owner and core deal fields (stage, amount, pipeline, close date).
  Memory buffer** keeps the last turns so you can say “now only show closed won over 10k” and the agent understands context.

  How to use

  Connect credentials

     HubSpot OAuth on both HubSpot Tool nodes.
     Google Gemini API key on the Gemini Chat Model.
  Open the chat (the “When chat message received” node).
  Ask questions like:

     “Find contacts named Hans created after Sept 1.”
     “Deals owned by me in Proposal with amount &gt; 10,000.”
     “Contacts with lead status = New and no email reply in the last 14 days.”
  Refine with follow-ups:

     “Sort by most recently contacted.”
     “Only Germany.”
     “Show top 5 with emails.”

  Requirements

  HubSpot** (OAuth2)
  Google Gemini** (API key)

  Notes & customization

  Property/operator control:** The contact search node lets the agent set both the property (e.g., email, lifecyclestage, hs_lead_status) and the operator (EQ, IN, BETWEEN in epoch ms for dates, etc.).
  Owner filtering for deals:** Uses hs_all_owner_ids; swap or extend to filter by pipeline/stage ranges.
  Guardrails:** Add allowlists for searchable properties or cap result counts to avoid noisy answers.
  Display format:** Have the agent return concise tables (name, email, stage, last activity, CTA).
  Handoffs:** Add Slack/Email actions—e.g., “post this list to #sales” or “export to CSV.”
  Telemetry:** Log queries for later dashboards (common searches, coverage gaps).

  Troubleshooting

  No results?** Loosen operators (use IN lists, broaden dates) or include a free-text query.
  Date filters:** Provide epoch ms for GT/GTE/LT/LTE/BETWEEN on time fields (the agent handles this; keep system time in UTC).
  Too chatty?** Reduce memory window or ask the agent to summarize to bullet points.

nodes_used:
  ["@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.hubspotTool","n8n-nodes-base.hubspotTool","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi"]

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


name: Import E.ON W1000 Energy Meter Data to Home Assistant with Spook Integration
author_name: András Farkas
author_username: netesfiu
categories: []
created_at: 2025-09-27T13:32:01.805Z
updated_at: 2025-09-27T13:32:01.805Z
url: https://n8n.io/workflows/9010
scraped_at: 2025-12-24 13:02:46
description:
  UPDATES:
  2025-12-03 fix JS code in calculate hourly sum node

  E.ON W1000 → n8n → Home Assistant (Spook) “Integration”

  This workflow processes emails from the E.ON portal containing 15-minute +A -A (import/export) data and daily 1.8.0  2.8.0 meter readings.  
  It extracts the required columns from the attached XLSX file, groups the 15-minute values by hour, then:

  updates the Spook/Recorder statistics under the IDs sensor.grid_energy_import and sensor.grid_energy_export, and  
  sets the current meter readings for the entities input_number.grid_import_meter and input_number.grid_export_meter.

  &gt; You may need to modify the workflow if there are changes in how E.ON sends scheduled exports. If the exported data format changes, please report it on Github!

  Requirements

  n8n (cloud or self-hosted)
    HACS addon available here: Rbillon59/home-assistant-addons
    Official n8n Docker Compose template
    Simplified n8n Docker Compose template available on Github
  (For Gmail) Gmail API authentication (OAuth2) read-only email access to the account receiving the messages  
    Setup guide available here
  (For IMAP) IMAP provider credentials
  Home Assistant access via Long-Lived Access Token or API key  
    Setup guide available here
  Spook integration  
    Documentation and installation guide available here

  E.ON Portal Setup

  Create a scheduled export on the E.ON portal with the following parameters:  
     Under the Remote Meter Reading menu, click on the + new scheduled export setting button.  
       Specify POD identifier(s): choose one of the PODs you want to query.  
       Specify meter variables: select the following:
         +A Active Power Consumption
         -A Active Power Feed-In
         DP_1-1:1.8.0*0 Active Power Consumption Daily Reading
         DP_1-1:2.8.0*0 Active Power Feed-In Daily Reading
       Export sending frequency: daily  
       Days of historical data to include: recommended 7 days to backfill missed data.  
       Email subject: by default, use [EON-W1000]. If processing multiple PODs with the workflow, give each a unique identifier.

  Home Assistant Preparation

  Create the following input_number entities in configuration.yaml or via Helpers:



  input_number:
    grid_import_meter:
      name: grid_import_meter
      mode: box
      initial: 0
      min: 0
      max: 9999999999
      step: 0.001
      unit_of_measurement: kWh
    grid_export_meter:
      name: grid_export_meter
      mode: box
      initial: 0
      min: 0
      max: 9999999999
      step: 0.001
      unit_of_measurement: kWh
  &gt; If you name the entities differently, make sure to reflect these changes in the workflow.

  Create the following template_sensor entities in configuration.yaml or via Helpers:


  input_number:
    grid_import_meter:
      name: grid_import_meter
      mode: box
      initial: 0
      min: 0
      max: 9999999999
      step: 0.001
      unit_of_measurement: kWh
    grid_export_meter:
      name: grid_export_meter
      mode: box
      initial: 0
      min: 0
      max: 9999999999
      step: 0.001
      unit_of_measurement: kWh
  &gt;If you name the entities differently, make sure to reflect these changes in the workflow.

  create the following template_sensor entities in config.yaml or via Helpers:

    

  template:
    sensor:
        name: "grid_energy_import"
          state: "{{ states('input_number.grid_import_meter') | float(0) }}"
          unit_of_measurement: "kWh"
          device_class: energy
          state_class: total_increasing
        name: "grid_energy_export"
          state: "{{ states('input_number.grid_export_meter') | float(0) }}"
          unit_of_measurement: "kWh"
          device_class: energy
          state_class: total_increasing
  &gt; If you name the entities differently, make sure to reflect these changes in the workflow.

  n8n import and authentication

  importing the workflow

     In n8n → Workflows → Import from File/Clipboard → paste the JSON.
     Select the downloaded JSON and paste it into a new workflow using Ctrl+V.
  Set up n8n Credentials
     The credentials must be configured in the Home Assistant and Gmail nodes. The setup process is described in the Requirements section.

nodes_used:
  ["n8n-nodes-base.extractFromFile","n8n-nodes-base.renameKeys","n8n-nodes-base.gmail","n8n-nodes-base.aggregate","n8n-nodes-base.gmail","n8n-nodes-base.renameKeys","n8n-nodes-base.renameKeys","n8n-nodes-base.splitOut","n8n-nodes-base.splitOut","n8n-nodes-base.splitOut","n8n-nodes-base.splitOut","n8n-nodes-base.merge","n8n-nodes-base.renameKeys","n8n-nodes-base.merge","n8n-nodes-base.merge","n8n-nodes-base.code","n8n-nodes-base.homeAssistant","n8n-nodes-base.homeAssistant","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.aggregate","n8n-nodes-base.aggregate","n8n-nodes-base.homeAssistant","n8n-nodes-base.homeAssistant","n8n-nodes-base.gmailTrigger","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.if","n8n-nodes-base.noOp","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.emailReadImap","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.dateTime","n8n-nodes-base.dateTime","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, 10228 characters]


name: Manage Shopify Store via Conversational OpenAI Assistant with SmartCommerce
author_name: Rohit Dabra
author_username: rohitdabra
categories: []
created_at: 2025-09-27T15:01:31.229Z
updated_at: 2025-09-27T15:01:31.229Z
url: https://n8n.io/workflows/9014
scraped_at: 2025-12-24 13:02:44
description:
  Shopify MCP AI Agent Workflow for n8n

  Overview

  This n8n workflow showcases a full-featured AI-powered assistant connected to a Shopify store through a custom MCP (Multi-Channel Commerce Platform) Server toolkit. It empowers users to automate comprehensive Shopify store management by leveraging AI to interact conversationally with their data and operations. The workflow can create, fetch, search, update, and delete Shopify products and orders, all triggered via simple chat messages, making day-to-day store operations frictionless and highly efficient.

  Core capabilities include:

  Product and order management (CRUD) via chat commands.

  Smart retrieval: AI proactively fetches details instead of asking repeated questions.

  Contextual memory: AI uses n8n memory to provide context-aware, fluent responses.

  End-to-end automation: Connects Shopify, OpenAI, and n8n’s automation logic for seamless workflows.

  This solution is ideal for Shopify merchants, agencies, and developers aiming to reduce manual overhead and enable conversational, AI-powered commerce automation in their operations.

  🎬 Watch Demo Video on YouTube 

  Step-by-Step Setup Guide

  Follow these steps to import and configure the Shopify MCP AI Agent workflow in n8n:

  1. Import the Workflow File

  Download the workflow file from this Creator Hub listing.

  In your n8n instance, go to Workflows &gt; Import from File and upload the JSON.

  2. Prepare Shopify Access

  Log in to your Shopify admin.

  Create a Custom App or use an existing app and retrieve the Admin API Access Token.

  Storefront access: Ensure your app has relevant permissions for Products, Orders, Discounts, and Store Settings.

  3. Set Up Credentials in n8n

  In n8n, navigate to Credentials and add a new Shopify API credential using your Access Token.

  Name it something memorable (e.g., Shopify Access Token account) to match the credential used in the workflow nodes.

  4. Configure the MCP Server Connection

  Make sure your MCP Server is running and accessible with API endpoints for product/order management.

  Update any relevant connection endpoints in the workflow if you run your MCP Server locally or in a different location.

  5. Connect OpenAI or Other LLM Provider

  Provide your API key for OpenAI GPT or a compatible model.

  Link the credential to the OpenAI Chat Model node (replace with other providers if required).

  6. (Optional) Customize for Your Needs

  Tweak node logic, add new triggers, or extend memory features as required.

  Add, remove, or restrain the AI’s capabilities to fit your operational needs.

  Configure chat triggers for more personalized workflows.

  7. Testing

  Use the “When chat message received” trigger or send http requests to the workflow’s endpoint.

  Example: “Create an order for Jane Doe, 3 Black T-shirts” or “Show today’s fulfilled orders”.

  The workflow and AI Agent will handle context, fetch/store data, and reply accordingly.

  8. Ready to Automate!

  Begin leveraging conversational automation to manage your Shopify store.

  For additional tips, consult the workflow’s internal documentation and n8n’s official guides.

  Additional Notes

  This template includes all core Shopify product and order operations.

  The AI agent auto-resolves context, making routine admin tasks simple and quick.

  Extend or fork the workflow to suit niche scenarios—discounts, analytics, and more.

  Visual thumbnail and schematic are included for easy reference.

nodes_used:
  ["@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.mcpClientTool","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.mcpTrigger","n8n-nodes-base.shopifyTool","n8n-nodes-base.shopifyTool","n8n-nodes-base.shopifyTool","n8n-nodes-base.shopifyTool","n8n-nodes-base.shopifyTool","n8n-nodes-base.shopifyTool","n8n-nodes-base.shopifyTool","n8n-nodes-base.shopifyTool","n8n-nodes-base.shopifyTool","n8n-nodes-base.shopifyTool","n8n-nodes-base.shopifyTool","n8n-nodes-base.shopifyTool","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 6624 characters]


name: Generate Stock Trading Signals with Gemini 2.5 Pro & TwelveData via Telegram Bot
author_name: Malik Hashir
author_username: malikx
categories: []
created_at: 2025-09-27T18:06:06.375Z
updated_at: 2025-09-27T18:06:06.375Z
url: https://n8n.io/workflows/9015
scraped_at: 2025-12-24 13:02:45
description:
  Purpose and Audience
  This n8n workflow template creates an intelligent stock technical analysis system that delivers professional-grade trading signals directly to your Telegram. Designed for retail traders, investors, and financial professionals who want to combine technical analysis with AI-powered insights for better market timing decisions.

  Who Is It For
  Retail Traders: Looking to enhance their technical analysis with AI-driven insights
  Swing Traders: Need reliable signals for entry and exit timing
  Investment Professionals: Want automated technical screening for multiple stocks
  Financial Enthusiasts: Interested in combining traditional TA with modern AI tools
  Portfolio Managers: Seeking systematic approach to market timing

  How It Works
  The workflow operates as a comprehensive technical analysis engine:
  Data Collection: Fetches real-time stock prices and 90-day historical data from TwelveData API
  Technical Calculation: Computes key indicators including EMAs, RSI, ATR, and support/resistance levels
  AI Analysis: Uses Google Gemini 2.5 Pro to analyze confluence of indicators and generate single, high-probability signals
  Signal Generation: Produces clear BUY/SELL/NEUTRAL recommendations with specific entry, stop-loss, and take-profit levels
  Delivery: Sends formatted analysis and interactive charts via Telegram bot
  Risk Management: Includes built-in risk parameters and confidence scoring

  Setup Requirements
  Create Telegram bot via BotFather
  Set up Google Gemini credentials
  Configure additional nodes as you see in the sticky notes
  Deploy and test with stock symbols (e.g., "AAPL", "TSLA")

  Note: Complete setup guide is provided with the workflow file.

  Technical Indicators Used in Strategy
  Core Indicators (1-Day Timeframe):
  EMA 50 & EMA 200: Trend direction and momentum confirmation
  RSI (14-period): Momentum oscillator for overbought/oversold conditions
  ATR (14-period): Volatility measurement for risk sizing
  Support/Resistance: Dynamic levels calculated from 90-day price history.
  Fibonacci Retracements: Additional confluence levels.

  Important Disclaimers
  ⚠️ Analysis timeframe is set to 1-day by default - suitable for swing trading, not day trading
  ⚠️ Not a get-rich-quick system - This tool provides technical analysis, not financial advice
  ⚠️ Use with fundamental analysis - Technical signals work best when combined with fundamental research for timing entries and exits
  ⚠️ Not recommended for isolated use - Always consider fundamentals, market conditions, news, and risk management

  Key Features
  Single, clear signal per analysis (no conflicting recommendations; either buy or sell)
  Built-in confidence scoring system
  Automated chart generation and delivery
  Support for any US stock ticker
  Professional-grade risk management parameters

  Use Case Examples
  Pre-market Analysis: Send "AAPL" stock ticker as a message to your telegram bot and get comprehensive technical analysis with 1 Day candlesticks chart
  Swing Trading: Use signals to time entries on already-researched stocks
  Portfolio Review: Analyze multiple positions for exit timing
  Educational Tool: Learn technical analysis through AI explanations

  This template transforms complex technical analysis into accessible, actionable trading insights while maintaining professional risk management standards.

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.merge","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.telegramTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.wait","n8n-nodes-base.wait","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","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: Automated Economic Calendar PDF Reports to Telegram via RapidAPI
author_name: Malik Hashir
author_username: malikx
categories: []
created_at: 2025-09-27T21:54:26.736Z
updated_at: 2025-09-27T21:54:26.736Z
url: https://n8n.io/workflows/9025
scraped_at: 2025-12-24 13:02:46
description:
  Stay ahead of the markets with this fully automated n8n workflow that delivers AI-generated economic calendar events PDF updates directly to your Telegram or Discord.

  Powered by the Economic Events Calendar API via RapidAPI, this workflow is perfect for traders, investors, and financial community managers who want timely notifications about high- and medium-impact global economic events—no coding required.

  Key Features
  Automated PDF Generation: Receive medium and high impact upcoming economic calendar events schedule (for up to 7 days in future) straight to Telegram/Discord.
  Flexible Scheduling: Default update interval is every 7 days, adjustable to any custom frequency.
  Customizable Date Range: Easily set the window for economic event coverage (e.g., today to 7 days ahead).
  No Coding Needed: Simple setup—just plug in your API keys and Telegram credentials.

  Who Is This For?
  Retail and professional traders
  Financial influencers and Telegram group admins
  Community managers seeking hands-off, real-time macroeconomic alerts

  Why Choose This Workflow?
  Save Time: No more manual economic calendar checks. Get upcoming full week high and medium impact news events straight to your telegram in neatly formatted PDF.
  Stay Informed: Instantly know about key market-moving events.
  Easy Integration: Works out-of-the-box with n8n and Telegram.

  Get started today and never miss a critical economic event again!

  PDF View:

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

workflow_json_compressed:
  H4sIAAAAAAAAE6WXyW4bRxCGX2XAQ05so/dFN8NLIgSxDS+5BD5UV1dLhMkZhhzHYQK9e2oI21KUlrjkNmz2dH1T699/z1Y0wuzi79mi347QI12W2cUs+Oq8RUqkqk2ewKNxxlTlXHFaBTAKgs0qe50JjEQTgtXJBoBQKODsZj7rh0Lb2cVvfPR0JElltXJaVExVWItO5OKiwGhTrkkq8nrGb8GKePe7cYGfdt2rYaRpddytp9U+9mJ/rMiwpSfb/aZpD29ZD9vFuBh6tiiss3bug/7Iy7DhE0fabKePxKEfqR/5qIlwOvVX/mf/lrqZfyWNVdaSsxKE2QorZRHR1CJStBqVhQjuDunzHT8sEJbLXfeOxm03XlP3HPZMbWzkx3vATic/VzLG+8T3KfV3SsiWyDkvcgTD/qxaZEL2bJLVEEdJW3nHn3hN5fOSuhd/0GbXhY4Rd9uHPft1+/vN4uqKNvdpvdFH0aont7wOVAZfQHD4k7Bec/wzagGktbNZS23sHV4au6dvLrufadfVYdO9hfWiTAs/7H37CDmN95MhheN8a57Y77QZdKlKojA6BWFNTgJUCCJoqRRarTXGW9ofp7h/WOOwWvRX3Sv68jDf9Tiu39Lvn2n7H057pFftHa/mBAW5+oROKkxZEAQ46YRJAN5H7aiUZlX506vKBS/n0ZxZVVCzsVElUarm+LNzRbIyiayNNs7zamjXfziDVGk5D9GeR6qVRQBpRKyRSaVHrjHL5ZVchuo98NIt6cvFkk/vfqGy+Lzi9PxpcXXdXa7WgOPjmdBoA+yPU9sAoldS1iwC+cIJkEBEDEkg92cC6zwlcwv7bOi5/rm0lsvucqTVtrvsx6F73VP3dLOB3SmwJuh4ImzimWIKkMgeGRaTF5FMEq4qHyQAOIO3sC/KYmSHflgXrvjuPa3Wy8fa6sOVZZS0J1cW4wRMkIS3EriJGBTJF8VNy1GV2VTce+TbFBi+9MsBSvfm+cvuLa2HzXgGKJeAPBkUZXHWySxi0VP7TwxKqYhcOUImW+vlnRbwenMF/eKv/YiCfWuduupB57biz8l1YvxVjs4AKE7WkIVVnt1pkhHaKgqyVk5k1ewBZ0gAxc0q2TNbgDfF5pBRWB0jV5UHkarSQqagpEaDpbRB1emkLJ38/yDNRvnEOip55XiscoONVlnhg7GE0qiiTZPUnE6qpwkV3NmyKhiFLABSzp4lGjkRY/TCy5hIBxOj9k1SezqpSj6eT5p1LVFpFOSnNM2ZBSDyFJC+WE+2uqTvlP476kv3gg/m6Y/dM1jyb9hMQqtnVTD1A+6w72lJVwzy4KeMtxv+5XLOv29F9oXy9TB82gt04w0HQ2VmYiE9PYqYqxIOyXkEC8VM+uRodabRS58QhCROc4uaBATgk6ODqHzVLIqbwXFnpFG0cZ68PC84yWjr+DNZPTjmw8BzmoA7dFSyuojA6qxJGs8oTa386aS8m//vCadj9tsb+pBXV7CYrPAFaWI5SUrsX53zna3Qn7MLefPxI2O0ZlDLzJkJ27T5wIxumX10RDYPf+DS0jz88C2s7bMH32t77thbSdPYgdnbsnhIAzXtHFR5LUvHCoOmxYOZ27J4vBhtZ8ehYLRsPnZTa1i5ufkHF0UzJyERAAA=


name: AI Sales Assistant with GPT & Claude: Qualify Leads, Book Meetings
author_name: Hassan
author_username: sycorda
categories: []
created_at: 2025-09-27T22:06:33.630Z
updated_at: 2025-09-27T22:06:33.630Z
url: https://n8n.io/workflows/9026
scraped_at: 2025-12-24 13:02:41
description:
  Lead Qualification & Meeting Booking System

  This workflow creates a sophisticated AI-powered sales assistant that automatically qualifies website visitors, schedules meetings, and manages the entire lead-to-booking pipeline without human intervention. The system acts as "Hassan," a friendly sales representative who engages prospects through natural conversation and converts interest into booked appointments with remarkable efficiency.

  Benefits:

  Complete Sales Automation - Engages website visitors 24/7, qualifies leads through intelligent conversation, and books meetings automatically without any manual oversight

  AI-Powered Lead Qualification - Uses advanced conversational AI with SPIN Selling and Challenger Sale methodologies to identify high-value prospects and overcome objections naturally

  Smart Calendar Integration - Automatically checks availability, prevents double-bookings, and sends professional confirmation emails with meeting details

  Intelligent Data Management - Tracks all interactions, prevents duplicate outreach, and maintains comprehensive conversation summaries for follow-up optimization

  Scalable Conversion System - Processes unlimited website visitors simultaneously while maintaining personalized, human-like interactions for maximum conversion rates

  Revenue-Focused Approach - Specifically designed to identify prospects interested in AI automation services and guide them toward high-value consulting calls

  How It Works:

  Website Visitor Engagement:
  Captures incoming chat messages from website visitors in real-time
  Initiates conversations using a trained AI persona that feels authentically human
  Gradually qualifies interest in AI automation services through strategic questioning

  Intelligent Lead Processing:
  Collects essential contact information (name, email, company) within first few exchanges
  Cross-references visitor history to provide personalized follow-up experiences
  Updates comprehensive database with conversation summaries and lead scoring

  Advanced Qualification System:
  Uses proven sales methodologies (SPIN, Challenger) to overcome objections naturally
  Identifies pain points, budget indicators, and timeline requirements through conversation
  Accesses company knowledge base to answer specific questions about services and pricing

  Automated Meeting Booking:
  Seamlessly transitions qualified prospects to calendar booking when interest is confirmed
  Checks real-time calendar availability to prevent conflicts and optimize scheduling
  Creates calendar events with proper attendee management and meeting details

  Professional Follow-Up Automation:
  Sends branded confirmation emails with meeting links and company information
  Maintains conversation context across multiple touchpoints for consistency
  Provides detailed handoff information to sales team for optimal meeting preparation

  Required Database Setup:

  Before running this workflow, create a Google Sheets database with these exact column headers:

  Essential Columns:
  Name** - Prospect's full name (collected during qualification)
  Email** - Primary email address (used for matching and updates) 
  Summary** - Detailed conversation summary with key insights
  Date** - Timestamp of interaction for tracking and follow-up

  Setup Instructions:
  Create a new Google Sheet with these column headers in the first row
  Name the sheet "Web Chat Bot Convo Summary"
  Connect your Google Sheets OAuth credentials in n8n
  Update the document ID in the workflow nodes

  The merge logic uses the Email column to prevent duplicate entries and update existing records with new conversation data.

  Business Use Cases:

  Service-Based Businesses - Automatically qualify and book high-value consultation calls without hiring additional sales staff

  Digital Agencies - Scale lead generation for AI automation services while maintaining personalized prospect experiences

  Consultants & Coaches - Convert website traffic into booked discovery calls with intelligent qualification and objection handling

  B2B SaaS Companies - Identify enterprise prospects and schedule product demos through natural conversation flow

  Revenue Potential:

  This system can generate $10,000-$50,000+ monthly by converting website visitors into qualified meetings. A single automated booking for AI automation services typically ranges from $3,000-$15,000 in project value, making the ROI calculation extremely attractive.

  Conversion Metrics:
  Typically converts 15-25% of engaged website visitors into qualified meetings
  Saves 20+ hours weekly of manual lead qualification and follow-up
  Eliminates scheduling back-and-forth and missed appointment opportunities

  Difficulty Level: Advanced
  Estimated Build Time: 3-4 hours  
  Monthly Operating Cost: ~$50-100 (AI API usage + integrations)

  Set Up Steps:

  Configure AI Services:
  Add OpenAI API credentials for conversational AI and Claude Sonnet for specialized tasks
  Set up appropriate rate limiting and cost controls for sustainable operation
  Customize the AI persona and conversation flow for your specific business

  Database Configuration:
  Create Google Sheets database with provided column structure  
  Connect Google Sheets OAuth credentials for seamless data management
  Configure the merge logic for duplicate prevention and record updates

  Calendar Integration Setup:
  Connect Google Calendar OAuth with proper permissions for event creation
  Configure calendar checking logic to prevent double-bookings
  Set up meeting link generation and attendee management

  Email Automation:
  Connect Gmail OAuth for sending confirmation emails
  Customize the branded email template with your company information
  Test email delivery and formatting across different clients

  Conversation Optimization:
  Customize AI prompts for your specific industry and service offerings
  Adjust qualification questions to identify your ideal customer profile  
  Set up objection handling responses that align with your sales methodology

  Advanced Configuration:
  Configure memory management for consistent multi-session conversations
  Set up proper error handling and fallback responses
  Implement conversation logging and analytics for optimization

  Testing & Launch:
  Test the complete flow with sample conversations and edge cases
  Verify calendar integration, email delivery, and data logging
  Deploy with monitoring to track performance and optimize conversion rates

  Advanced Customization:

  Multi-Language Support** - Adapt conversations for international prospects
  Industry-Specific Qualification** - Customize questioning for different market segments  
  Integration Expansion** - Connect to CRM systems, Slack notifications, or other business tools
  Advanced Analytics** - Track conversion funnels, conversation quality, and ROI metrics
  A/B Testing Framework** - Test different conversation approaches and optimize for higher conversion

  This system transforms your website from a passive information source into an active sales machine that works around the clock to generate qualified meetings and drive revenue growth.

nodes_used:
  ["@n8n/n8n-nodes-langchain.chatTrigger","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.gmailTool","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.googleDocsTool","n8n-nodes-base.googleSheetsTool","n8n-nodes-base.googleCalendarTool","@n8n/n8n-nodes-langchain.agentTool","@n8n/n8n-nodes-langchain.lmChatOpenRouter","n8n-nodes-base.code","n8n-nodes-base.googleSheetsTool","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.lmChatOpenRouter","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 10016 characters]


name: Automate Shopify Abandoned Cart WhatsApp Reminders with Product Links via Rapiwa
author_name: SpaGreen Creative
author_username: spagreen
categories: []
created_at: 2025-09-28T05:00:04.423Z
updated_at: 2025-09-28T05:00:04.423Z
url: https://n8n.io/workflows/9031
scraped_at: 2025-12-24 13:02:43
description:
  Automate Shopify Abandoned Cart WhatsApp Reminders with Product Links via Rapiwa

  Who’s it for
  This n8n workflow automatically identifies customers who have abandoned their carts on your Shopify store, cleans and verifies their WhatsApp numbers, and sends them personalized reminders via the Rapiwa API. It also logs each interaction—whether the number was valid or not—into a connected Google Sheet. Designed for marketers, small business owners, freelancers, and support teams, this solution makes it easy to run bulk WhatsApp campaigns using just a Google Sheet and your own WhatsApp number—no need for the official WhatsApp Business API. It’s a budget-friendly, scalable, and easy-to-manage alternative for anyone looking to automate WhatsApp follow-ups without the tech hassle.

  How it Works / What It Does
  Reads rows from a Google Sheet where the Status column is marked as "pending".
  Cleans each phone number (removes special characters, spaces, etc.).
  Verifies whether the number is a WhatsApp user using the Rapiwa API.
  If valid:
    Sends the message via Rapiwa.
    Updates Status = sent and Verification = verified.
  If invalid:
    Skips sending.
    Updates Status = not sent and Verification = unverified.
  Waits a configurable delay between sends to avoid rate limits.
  Processes rows in small batches and repeats on schedule (default every 5 minutes).

  How to Set Up
  Duplicate the sample Google Sheet format and populate it with contacts and messages.
  Fill required columns such as WhatsApp No, Name, Message, Image URL, and set Status = pending.
  Connect Google Sheets in n8n and grant the required OAuth scopes.
  Create an HTTP Bearer credential in n8n and paste your Rapiwa API key.
  Configure the workflow nodes (Trigger, Google Sheets, Limit, SplitInBatches, Code, HTTP Request, If, Update Google Sheets, Wait).
  Enable the workflow in n8n.

  Requirements
  Google Sheets API credentials (OAuth2) configured in n8n
  Google Sheet matching the template (WhatsApp No, Name, Message, Status, Verification)
  Rapiwa account and Bearer token
  n8n instance with HTTP Request and Google Sheets nodes enabled

  How to Customize the Workflow
  Add or increase delay between messages using the Wait node (e.g., 5–10 seconds).
  Change message content or include media by editing the HTTP Request body.
  Personalize messages using sheet columns (Name, product details, coupon codes).
  Add error handling nodes to retry failed sends or log errors.
  Adjust the Limit node to control how many rows are processed per run.

  Workflow Highlights
  Triggered every 5 minutes using the Schedule Trigger node.
  Filters sheet rows where Status = pending.
  Cleans numbers and verifies WhatsApp existence before sending.
  Sends messages via Rapiwa (unofficial API).
  Updates Google Sheet rows with Status = sent/not sent and Verification = verified/unverified.
  Uses a Wait node to prevent rapid-fire sending.

  Setup in n8n

  1. Connect Google Sheets
  Add a Google Sheets node.
  Authenticate with your Google account.
  Select the document and worksheet.
  Use a filter or query to fetch rows with Status = pending.

  2. Loop Through Rows
  Use SplitInBatches to process rows in small chunks (e.g., 5 rows per batch).
  Add a Code node to clean phone numbers (remove non-digits).
  Add a Wait node to pause between individual sends (recommended 5 seconds).

  3. Send Message via HTTP Node
  Configure an HTTP Request node to POST to:
    https://app.rapiwa.com/api/send-message
  Use Bearer Token authentication with your Rapiwa API key.
  Example JSON body:
  {
    "number": "{{ $json['WhatsApp No'] }}",
    "message": "{{ $json['Message'] }}"
  }
  After the send, update the row in Google Sheets with the result.

  Sample Google Sheet Structure
   A Google Sheet formatted like this ➤ sample

  | name | number | order id | item name | coupon | item link | total price | validity | status |
  | -------------- | ------------- | -------------- | --------------------------------- | ------ | -------------------------------------------------------------------------------- | ------------ | ---------- | -------- |
  | Abdul Mannan | 8801400620056 | 39248398811454 | S25 Ultra 5XXXXX Price Cell Phone | | Product Link | 11500.00 BDT | unverified | not sent |
  | Abdul Mannan | 8801400620055 | 39248402153790 | S25 Ultra 5XXXXX Price Cell Phone | | Product Link | 11500.00 BDT | verified | sent |
  | Abdul Mannan | 8801400620055 | 39248403431742 | S25 Ultra 5XXXXX Price Cell Phone | | Product Link | 11500.00 BDT | verified | sent |

  Tips
  Ensure numbers are in proper format (e.g., 8801XXXXXXXXX — no +, no spaces).
  Use public image URLs if sending media.
  Store Rapiwa API key securely in n8n credentials.
  Test with a small batch before scaling up.
  Mark processed rows as "sent" to avoid duplicates.
  Increase Wait time or reduce batch size if you encounter rate limiting.

  Important Notes
  Avoid Duplicates: The Google Sheet serves as a ledger. Sent messages won’t be repeated in the next cycle.
  Rate Limit Awareness: Use Wait nodes to space out requests and avoid getting banned.
  Add Delay for Safety: If needed, increase wait times or limit message batches.
  Extendable: You can add product images, links, or even abandon cart discounts dynamically.

  Future Enhancements (Ideas)
  Add delay between batches (e.g., 60 messages/hour)
  Auto-update Shopify checkout status (via GraphQL API)
  Use more advanced templates or media (via Rapiwa)
  Add error handling to log failed API calls
  Use Telegram/Slack node to notify when process ends
  Useful Links
  Dashboard:** https://app.rapiwa.com
  Official Website:** https://rapiwa.com
  Documentation:** https://docs.rapiwa.com

  Support
  WhatsApp Support: Chat Now  
  Discord: Join SpaGreen Community  
  Facebook Group: SpaGreen Support  
  Website: https://spagreen.net  
  Developer Portfolio: Codecanyon SpaGreen

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

workflow_json_compressed:
  [encoded data, 8144 characters]


name: AI Resume Screening with GPT-4o & Error Handling | Google Sheets & Drive Flow
author_name: David Olusola
author_username: dae221
categories: []
created_at: 2025-09-28T13:41:49.656Z
updated_at: 2025-09-28T13:41:49.656Z
url: https://n8n.io/workflows/9048
scraped_at: 2025-12-24 13:02:42
description:
  GPT-4o Resume Screener with Error Handling - Google Sheets & Drive Pipeline

  How it works

  Enterprise-grade resume screening automation built for production environments. This workflow combines intelligent AI analysis with comprehensive error handling to ensure reliable processing of candidate applications. Every potential failure point is monitored with automatic recovery and notification systems.

  Core workflow steps:
  Intelligent Email Processing - Monitors Gmail with attachment validation and file type detection
  Robust File Handling - Multi-format support with upload verification and extraction validation
  Quality-Controlled AI Analysis - GPT-4o evaluation with output validation and fallback mechanisms
  Verified Data Extraction - Contact and qualification extraction with data integrity checks
  Dual Logging System - Success tracking in main dashboard, error logging in separate audit trail

  Error Recovery Features:
  Upload failure detection with retry mechanisms
  Text extraction validation with quality thresholds
  AI processing timeout protection and fallback responses
  Data validation before final logging
  Comprehensive error notification and tracking system

  Set up steps

  Total setup time: 25-35 minutes

  Core Credentials Setup (8 minutes)
  Gmail OAuth2 with attachment permissions
  Google Drive API with folder creation rights
  Google Sheets API with read/write access
  OpenAI API key with GPT-4o model access

  Primary Configuration (12 minutes)
  Configure monitoring systems - Set up Gmail trigger with error detection
  Establish file processing pipeline - Create Drive folders for resumes and configure upload validation
  Deploy dual spreadsheet system - Set up main tracking sheet and error logging sheet
  Initialize AI processing - Configure GPT-4o with structured output parsing and timeout settings
  Customize job requirements - Update role specifications and scoring criteria

  Error Handling Setup (10 minutes)
  Configure error notifications - Set administrator email for failure alerts
  Set up error logging spreadsheet - Create audit trail for failed processing attempts
  Customize timeout settings - Adjust processing limits based on expected file sizes
  Test error pathways - Validate notification system with sample failures

  Advanced Customization (5 minutes)
  Modify validation thresholds for resume quality
  Adjust AI prompt for industry-specific requirements
  Configure custom error messages and escalation rules
  Set up automated retry logic for transient failures

  Production-Ready Features:
  Comprehensive logging for compliance and auditing
  Graceful degradation when services are temporarily unavailable
  Detailed error context for troubleshooting
  Scalable architecture for high-volume processing

  Template Features

  Enterprise Error Management
  Multi-layer validation at every processing stage
  Automatic error categorization and routing
  Administrative alerts with detailed context
  Separate error logging for audit compliance
  Timeout protection preventing workflow hangs

  Advanced File Processing
  Upload success verification before processing
  Text extraction quality validation
  Resume content quality thresholds
  Corrupted file detection and handling
  Format conversion error recovery

  Robust AI Integration
  GPT-4o processing with output validation
  Structured response parsing with error checking
  AI timeout protection and fallback responses
  Failed analysis logging with manual review triggers
  Retry logic for transient API failures

  Production Monitoring
  Real-time error notifications via email
  Comprehensive error logging dashboard
  Processing success/failure metrics
  Failed resume tracking for manual review
  Audit trail for compliance requirements

  Data Integrity Controls
  Pre-logging validation of all extracted data
  Missing information detection and flagging
  Contact information verification checks
  Score validation and boundary enforcement
  Duplicate detection and handling

  Designed for HR departments and recruiting agencies that need reliable, scalable resume processing with enterprise-level monitoring and error recovery capabilities.

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.gmailTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.googleDrive","n8n-nodes-base.if","n8n-nodes-base.switch","n8n-nodes-base.extractFromFile","n8n-nodes-base.httpRequest","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.extractFromFile","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.informationExtractor","n8n-nodes-base.if","n8n-nodes-base.googleSheets","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.merge","n8n-nodes-base.gmail","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleDrive"]

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


name: Aggregate Twitter/X Content to Telegram Channel with BrowserAct & Google Gemini
author_name: Madame AI Team | Kai
author_username: madame-ai
categories: []
created_at: 2025-09-28T18:31:43.616Z
updated_at: 2025-09-28T18:31:43.616Z
url: https://n8n.io/workflows/9055
scraped_at: 2025-12-24 13:02:44
description:
  Automate social media content aggregation to a Telegram channel

  This n8n template automatically aggregates and analyzes key updates from your social media platforms Home Page, delivering them as curated posts to a Telegram channel.

  This workflow is perfect for digital marketers, brand managers, or data analysts and Busy people, seeking to monitor real-time trends and competitor activity without manual effort.

  How it works
  The workflow is triggered automatically on a schedule to aggregate the latest social media posts.
  A series of If and Wait nodes monitor the data processing job until the full data is ready.
  An AI Agent, powered by Google Gemini, refines the content by summarizing posts and removing duplicates.
  An If node checks for an image in the post to decide if a photo or a text message should be sent.
  Finally, the curated posts are sent to your Telegram channel as rich media messages.

  How to use
  Set up BrowserAct Template: In your BrowserAct account, set up “Twitter/X Content Aggregation” template.
   
  Set up Credentials: Add your credentials for BrowserAct In Run Node , Google Gemini in Agent Node, and Telegram in Send Node.

  Add Workflow ID: Change the workflow_id value inside the HTTP Request inside the Run Node, to match the one from your BrowserAct workflow.

  Activate Workflow: To enable the automated schedule, simply activate the workflow.

  Requirements
  BrowserAct** API account
  BrowserAct* *“Twitter/X Content Aggregation”** Template
  Gemini** account
  Telegram** credentials

  customizing this workflow
  This workflow provides a powerful foundation for social media monitoring. You could:
  Replace the Telegram node with an email or Slack node to send notifications to a different platform.
  Add more detailed prompts to the AI Agent for more specific analysis or summarization.
  customize BrowserAct Workflow to reach your desire.
  Need Help ?
  How to Find Your BrowseAct API Key & Workflow ID
  How to Connect n8n to Browseract
  How to Use & Customize BrowserAct Templates
  Workflow Guidance and Showcase

  Automate Your Social Media: Get All X/Twitter Updates Directly in Telegram!

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.wait","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.scheduleTrigger","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, 6428 characters]


name: 📁 Extract and Clean PDF Data from Google Drive
author_name: EoCi - Mr.Eo
author_username: eocimreo
categories: []
created_at: 2025-09-28T22:59:45.724Z
updated_at: 2025-09-28T22:59:45.724Z
url: https://n8n.io/workflows/9061
scraped_at: 2025-12-24 13:02:41
description:
  🎯 What This Does
  Automatically finds PDF file in Google Drive and extracts information. Use it to pull out clean output. It then formats the output into a clean JSON object.

  🔄 How It Works
  1. Manual Trigger starts the process.
  2. 🔎Find File: "Google Drive" node finds the PDF file/files in a specified folder and downloads it/them.
  3. 📝Extract Raw Text: "Extract From File" node pulls the text content from the retrieval file/files.
  4. ✅Output Clean Data: "Code" node refines the extracted content and runs custom code for cleaning and final formatting.

  🚀Setup Guidelines
  Setup Requirements
  Google Drive Account**: A Google Drive with an empty folder or folder that contains PDF file/files that you want to process.
  API Keys**: Gemini, Google Drive.
  Set up steps
  Setup time: &lt; 5 minutes

  Add Credentials in n8n:
      Ensure your Google Drive OAuth2 and Google Gemini (PaLM) API credentials are created and connected. Go to Credentials &gt; New to add them if you haven't created yet.
          
  Configure the Search Node (Get PDF Files/File):
      Open the node and select your Google Drive credential.
      In the "Resource" field, choose File/Folder. In "Search Method" field, select "Search File/Folder Name", In "Search Query" type in *.pdf.
      Add on 2 filters, in "Folder" filter click on dropdown choose "From List" and connect to the created folder on your google drive. In "What to Search" filter, select file.
      Add on "Options" (optional): Click on "Add option", choose ("ID" and "Name")
  	
  Define Extraction Rules (Extract Files/File's Data):
      Select File Type: Open node and click on the dropdown below "Operation" section, choose "Extract From PDF". Next, in "Input Binary Field" section keep as default "data".
  	
  Clean & Format Data (Optional):
      Adjust the Get PDF Data Only node to keep only the fields you need and give them friendly names.
      Modify the Data Parser & Cleaner node if you need to perform custom transformation.
         
  Activate and Run:
      Save and Activate the workflow.
      Click "Execute Workflow" to run it manually and check the output.

  That’s it! Once configured, this workflow becomes your personal data assistant. Run it anytime you need to extract information quickly and accurately, saving you hours of manual work and ensuring your data is always ready to use.

nodes_used:
  ["n8n-nodes-base.noOp","n8n-nodes-base.manualTrigger","n8n-nodes-base.set","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.extractFromFile","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"]

workflow_json_compressed:
  [encoded data, 6256 characters]


name: WordPress Blog to Google Sheets Sync (Posts, Categories, Tags, Media)
author_name: Grigory Frolov
author_username: gregfrolov
categories: []
created_at: 2025-09-29T05:30:28.515Z
updated_at: 2025-09-29T05:30:28.515Z
url: https://n8n.io/workflows/9064
scraped_at: 2025-12-24 13:02:41
description:
  WordPress Blog to Google Sheets Sync  
  Posts • Categories • Tags • Media

  🧩 Overview
  This n8n workflow automatically syncs your WordPress website content — including posts, categories, tags, and media — into Google Sheets.

  It helps automate content reporting, SEO analysis, and data backups.  
  The workflow can run on schedule or on demand via a webhook.

  💡 Use cases
  Maintain a live database of blog posts in Google Sheets.  
  Create dashboards in Google Data Studio or Looker Studio.  
  Track new articles for newsletters or social media scheduling.  
  Backup all WordPress content and media outside of your CMS.

  ⚙️ Prerequisites

  Before importing the workflow, ensure you have:

  A WordPress website with the REST API enabled (default in WP 4.7+).  
  Authentication: either Application Passwords or Basic Auth credentials.  
  A Google Sheet with the following tabs:
     Posts
     Categories
     Tags
     Media
  The following credentials configured in n8n:
     HTTP Basic Auth (for WordPress)
     Google Sheets OAuth2

  🚀 Setup instructions

  Import the workflow into your n8n instance.  
  Replace all example WordPress API URLs with your domain, for example: https://yourdomain.com/wp-json/wp/v2/ 
  Connect your HTTP Basic Auth credentials (WordPress username + Application Password).  
  Connect your Google Sheets OAuth2 account.  
  Update the spreadsheet ID in each Google Sheets node with your own.  
  Adjust the Schedule Trigger (e.g. run daily at 2:00 AM).  
  Run once manually to verify data sync.

  🧠 Workflow structure

  | Section | Description |
  |----------|--------------|
  | Schedule / Webhook Trigger | Starts the workflow manually or automatically |
  | Variables & Loop Vars | Initialize pagination for REST API requests |
  | Get Posts → Split Out → Update Posts | Fetch and update all WordPress posts |
  | Get Categories → Update Categories | Sync WordPress categories |
  | Get Tags → Update Tags | Sync WordPress tags |
  | Get Media → Split Out → Update Media | Sync media library (images, videos, etc.) |
  | IF Loops | Handles pagination logic until all items are retrieved |

  ⚠️ Notes & Limitations

  Works with standard WordPress REST API endpoints only.  
  Custom post types require editing endpoint URLs.  
  The per_page value defaults to 10; increase for faster syncs.  
  For large sites, consider increasing n8n memory or adding execution logs.  
  Avoid running the workflow too frequently to prevent API rate limits.

  🎥 Video Tutorial

  A step-by-step setup guide is available here:
  👉 https://www.youtube.com/watch?v=czSMWyD6f-0

  Please subscribe to my YouTube channel to support me: 👉 https://www.youtube.com/@gregfrolovpersonal

  👨‍💻 Author

  Created by: Grigory Frolov  
  SEO & Automation Specialist — helping businesses integrate WordPress, AI, and data tools with n8n.

  🧾 License

  This workflow is provided under the MIT License.  
  Feel free to use, modify, and share improvements with the community.

nodes_used:
  ["n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.splitOut","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.httpRequest","n8n-nodes-base.splitOut","n8n-nodes-base.googleSheets","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.httpRequest","n8n-nodes-base.splitOut","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-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.webhook"]

workflow_json_compressed:
  [encoded data, 5484 characters]


name: End-to-End Ai Blog Research and Writer with Gemini AI, Supabase and Nano-Banana
author_name: Muhammad Asadullah
author_username: asadtech
categories: []
created_at: 2025-09-29T17:15:05.051Z
updated_at: 2025-09-29T17:15:05.051Z
url: https://n8n.io/workflows/9079
scraped_at: 2025-12-24 13:02:41
description:
  Blog Research and Writer n8n Workflow - Ai Blog Writer

  Fully automated blog creation system using n8n + AI Agents + Image Generation

  Example Blog

  Overview

  This workflow automates the entire blog creation pipeline—from topic research to final publication. Three specialized AI agents collaborate to produce publication-ready blog posts with custom images, all saved directly to your Supabase database.

  How It Works

  1. Research Agent (Topic Discovery)
  Triggers**: Runs on schedule (default: daily at 4 AM)
  Process**:
    Fetches existing blog titles from Supabase to avoid duplicates
    Uses Google Search + RSS feeds to identify trending topics in your niche
    Scrapes competitor content to find content gaps
    Generates detailed topic briefs with SEO keywords, search intent, and differentiation angles
  Output**: Comprehensive research document with SERP analysis and content strategy

  2. Writer Agent (Content Creation)
  Triggers**: Receives research from Agent 1
  Process**:
    Writes full blog article based on research brief
    Follows strict SEO and readability guidelines (no AI fluff, natural tone, actionable content)
    Structures content with proper HTML markup
    Includes key sections: hook, takeaways, frameworks, FAQs, CTAs
    Places image placeholders with mock URLs (https://db.com/image_1, etc.)
  Output**: Complete JSON object with title, slug, excerpt, tags, category, and full HTML content

  3. Image Prompt Writer (Visual Generation)
  Triggers**: Receives blog content from Agent 2
  Process**:
    Analyzes blog content to determine number and type of images needed
    Generates detailed 150-word prompts for each image (feature image + content images)
    Creates prompts optimized for Nano-Banana image model
    Names each image descriptively for SEO
  Output**: Structured prompts for 3-6 images per blog post

  4. Image Generation Pipeline
  Process**:
    Loops through each image prompt
    Generates images via Nano-Banana API (Wavespeed.ai)
    Downloads and converts images to PNG
    Uploads to Supabase storage bucket
    Generates permanent signed URLs
    Replaces mock URLs in HTML with real image URLs
  Output**: Blog HTML with all images embedded

  5. Publication
  Final blog post saved to Supabase blogs table as draft
  Ready for immediate publishing or review

  Key Features

  ✅ Duplicate Prevention: Checks existing blogs before researching new topics  
  ✅ SEO Optimized: Natural language, proper heading structure, keyword integration  
  ✅ Human-Like Writing: No robotic phrases, varied sentence structure, actionable advice  
  ✅ Custom Images: Generated specifically for each blog's content  
  ✅ Fully Structured: JSON output with all metadata (tags, category, excerpt, etc.)  
  ✅ Error Handling: Automatic retries with wait periods between agent calls  
  ✅ Tool Integration: Google Search, URL scraping, RSS feeds for research

  Setup Requirements

  1. API Keys Needed
  Google Gemini API**: For Gemini 2.5 Pro/Flash models (content generation/writing)
  Groq API (optional)**: For Kimi-K2-Instruct model (research/writing)
  Serper.dev API**: For Google Search (2,500 free searches/month)
  Wavespeed.ai API**: For Nano-Banana image generation
  Supabase Account**: For database and image storage

  2. Supabase Setup
  Create blogs table with fields:
    title, slug, excerpt, category, tags, featured_image, status, featured, content
  Create storage bucket for blog images
  Configure bucket as public or use signed URLs

  3. Workflow Configuration

  Update these placeholders:

  RSS Feed URLs**: Replace [your website's rss.xml] with your site's RSS feed
  Storage URLs**: Update Supabase storage paths in "Upload object" and "Generate presigned URL" nodes
  API Keys**: Add your credentials to all HTTP Request nodes
  Niche/Brand**: Customize Research Agent system prompt with your industry keywords
  Writing Style**: Adjust Writer Agent prompt for your brand voice

  Customization Options

  Change Image Provider
  Replace the "nano banana" node with:
  Gemini Imagen 3/4
  DALL-E 3
  Midjourney API
  Any Wavespeed.ai model

  Adjust Schedule
  Modify "Schedule Trigger" to run:
  Multiple times daily
  Specific days of week
  On-demand via webhook

  Alternative Research Tools
  Replace Serper.dev with:
  Perplexity API (included as alternative node)
  Custom web scraping
  Different search providers

  Output Format

  {
    "title": "Your SEO-Optimized Title",
    "slug": "your-seo-optimized-title",
    "excerpt": "Compelling 2-3 sentence summary with key benefits.",
    "category": "Your Category",
    "tags": ["tag1", "tag2", "tag3", "tag4"],
    "author_name": "Your Team Name",
    "featured": false,
    "status": "draft",
    "content": "...complete HTML with embedded images..."
  }

  Performance Notes

  Average runtime**: 15-25 minutes per blog post
  Cost per post**: ~$0.10-0.30 (depending on API usage)
  Image generation**: 10-15 seconds per image with Nano-Banana
  Retry logic**: Automatically handles API timeouts with 5-15 minute wait periods

  Best Practices

  Review Before Publishing: Workflow saves as "draft" status for human review
  Monitor API Limits: Track Serper.dev searches and image generation quotas
  Test Custom Prompts: Adjust Research/Writer prompts to match your brand
  Image Quality: Review generated images; regenerate if needed
  SEO Validation: Check slugs and meta descriptions before going live

  Workflow Architecture

  3 Main Phases:
  Research → Writer → Image Prompts (Sequential AI Agent chain)
  Image Generation → Upload → URL Replacement (Loop-based processing)
  Final Assembly → Database Insert (Single save operation)

  Error Handling:
  Wait nodes between agents prevent rate limiting
  Retry logic on agent failures (max 2 retries)
  Conditional checks ensure content quality before proceeding

  Result: Hands-free blog publishing that maintains quality while saving 3-5 hours per post.

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatGroq","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.rssFeedReadTool","n8n-nodes-base.supabase","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatGroq","n8n-nodes-base.rssFeedReadTool","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.if","n8n-nodes-base.wait","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.informationExtractor","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.splitInBatches","n8n-nodes-base.wait","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.googleGemini","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.wait","n8n-nodes-base.rssFeedReadTool","n8n-nodes-base.supabase","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.stickyNote","n8n-nodes-base.perplexityTool","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.editImage","@n8n/n8n-nodes-langchain.googleGemini","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.stickyNote"]

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


name: Automated Viral Content Engine for LinkedIn & X with AI Generation & Publishing
author_name: Diptamoy Barman
author_username: diptamoy-barman
categories: []
created_at: 2025-09-30T09:47:43.617Z
updated_at: 2025-09-30T09:47:43.617Z
url: https://n8n.io/workflows/9100
scraped_at: 2025-12-24 13:02:41
description:
  Social Media Spark (SMS) — Automated Viral Content Engine

  Automate your entire content workflow: discover viral ideas, generate posts in your tone, repurpose for X, and auto-publish — reducing 90% of manual effort.

  🚀 What it Does
  Scrapes competitors or niche profiles on LinkedIn to find high-performing posts.
  Classifies and saves evergreen content ideas for later use.
  Generates fresh posts in your own voice with matching images.
  Repurposes content for X (Twitter) in a platform-optimized style.
  Automatically publishes content to LinkedIn and X on your schedule.
  Allows on-demand commands via Telegram for research or instant content generation.

  🧩 Why Use It
  Save time:** no more manual scraping, idea collection, or formatting.
  Stay consistent:** maintain a daily content pipeline.
  Multi-platform leverage:** create once, adapt for LinkedIn and X.
  Creative control:** mix automation with optional human review.
  Scalable:** extend to more platforms, analytics, and workflows as you grow.

  🔧 Prerequisites & Setup
  Before importing or activating the workflow, prepare these:

  AI Provider (OpenAI / Gemini / OpenRouter)**  
    For classifying posts, generating new content, repurposing for X.

  Google Sheets**  
    Central database for competitors, ideas, generated posts, and posting status.

  Google Drive**  
    Stores generated images.

  Apify & Browseract**  
    Scrapes LinkedIn profiles, posts, and performs research tasks.

  LinkedIn API**  
    Needed for automated LinkedIn publishing.

  X (Twitter) API**  
    Requires OAuth 1.0a for image uploads and OAuth 2.0 for text posting.

  Telegram Bot**  
    Enables on-demand commands and notifications.  
    Set your Telegram User ID in the trigger node.

  &gt; 🔎 In each sub-workflow, look for nodes marked “Configure Me!” to replace example prompts, search keywords, sheet IDs, etc.

  ⚙️ How It Works (Simplified Flow)
  Scrape & Classify: Collect high-engagement posts → keep evergreen ones.  
  Generate Content: Rewrite ideas into new posts in your voice → create images.  
  Repurpose for X: Adapt LinkedIn posts for short-form, high-impact tweets.  
  Auto-Publish: Post daily on LinkedIn and X.  
  Control via Telegram: Manually trigger scraping, research, or post generation.

  💡 Best Practices & Tips
  Keep all API keys private — never share them in public repos or screenshots.
  Adjust cron schedules (e.g., scraping on weekends, posting on weekdays) to fit your content rhythm.
  Add Human-in-the-Loop review steps for brand-sensitive content.
  Extend to other platforms (Instagram, TikTok, YouTube Shorts) as needed.
  Experiment with prompt variations for different tones or creative styles.
  Add analytics logging (likes, comments, clicks) to measure content performance.

  🙋‍♂️ Who is This For
  Solo creators & founders** who want to post consistently but don’t have time for daily ideation.
  Small marketing teams** that need to keep up with trends without spending hours on research.
  Consultants & thought leaders** who want to amplify their personal brand on LinkedIn and X.
  Startups & bootstrapped businesses** that need a lean but reliable content engine.
  Content strategists** who want a data-driven, repeatable pipeline for finding and using what works.

  Or anyone who wants to boost social presence by 300%

  💡 Why SMS Stands Out
  Authentic voice:** Uses your own tone and style (defined in prompts and examples), so posts feel personal — not generic AI fluff.
  Data-driven:** Pulls from real, viral posts in your niche to inspire fresh content.
  Quality over quantity:** Focuses only on proven viral ideas instead of churning random posts.
  Consistent growth:** Keeps your posting regular, so you stay visible and relevant.
  Efficient workflow:** Minimizes manual work while letting you step in when needed (e.g., for approvals or special campaigns).

  &gt; ⚡ SMS combines real market data with your unique voice — so you post smarter, not just more often.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.set","n8n-nodes-base.googleSheets","n8n-nodes-base.filter","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.googleSheets","n8n-nodes-base.aggregate","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.textClassifier","@n8n/n8n-nodes-langchain.lmChatOpenRouter","n8n-nodes-base.googleSheets","n8n-nodes-base.removeDuplicates","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.aggregate","n8n-nodes-base.scheduleTrigger","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.filter","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.convertToFile","n8n-nodes-base.aggregate","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.telegram","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.lmChatOpenRouter","n8n-nodes-base.set","n8n-nodes-base.googleSheets","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.scheduleTrigger","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.splitInBatches","@n8n/n8n-nodes-langchain.toolWorkflow","n8n-nodes-base.googleDrive","n8n-nodes-base.set","n8n-nodes-base.extractFromFile","n8n-nodes-base.convertToFile","n8n-nodes-base.googleSheets","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.googleSheets","n8n-nodes-base.googleDrive","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.httpRequest","n8n-nodes-base.convertToFile","n8n-nodes-base.extractFromFile","n8n-nodes-base.set","n8n-nodes-base.googleDrive","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.telegram","@n8n/n8n-nodes-langchain.lmChatOpenRouter","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.telegram","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.googleSheets","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatOpenRouter","n8n-nodes-base.set","n8n-nodes-base.splitInBatches","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.aggregate","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatOpenRouter","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.stickyNote","n8n-nodes-base.telegram","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.linkedIn","n8n-nodes-base.googleDrive","n8n-nodes-base.googleSheets","n8n-nodes-base.telegram","n8n-nodes-base.googleSheets","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.twitter","n8n-nodes-base.googleSheets","n8n-nodes-base.googleDrive","n8n-nodes-base.if","n8n-nodes-base.twitter","n8n-nodes-base.googleSheets","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.wait","n8n-nodes-base.switch","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.telegramTrigger","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.executeWorkflow","n8n-nodes-base.switch","n8n-nodes-base.telegram","n8n-nodes-base.executeWorkflow","n8n-nodes-base.executeWorkflow","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.telegram","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.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 41068 characters]


name: AI-Powered Lead Research & Qualification using Relevance AI
author_name: Diptamoy Barman
author_username: diptamoy-barman
categories: []
created_at: 2025-09-30T10:03:36.370Z
updated_at: 2025-09-30T10:03:36.370Z
url: https://n8n.io/workflows/9101
scraped_at: 2025-12-24 13:02:43
description:
  Lead Qualification & Smart Outreach — Automated Scoring System

  Automate your lead intake, scoring, and outreach pipeline.  
  This workflow collects leads from forms, enriches and scores them using Relevance AI, routes them by quality, and triggers the right follow-up — all without manual busywork.

  🚀 What it Does
  Collects leads from your forms in real-time.
  Enriches each lead (individual + company) for better context.
  Scores leads automatically using Relevance AI templates.
  Routes leads into HOT / WARM / COLD tiers for prioritization.
  Drafts or sends personalized outreach emails for each tier.
  Logs all leads and outcomes into your CRM or Google Sheets.
  Notifies your team (e.g., via Slack) when a hot lead arrives.

  🧩 Why Use It
  Save time:** stop manually sorting through raw leads.
  Focus on the best opportunities:** route only top leads to your sales team.
  Personalized outreach:** automated but tailored by lead quality.
  Scalable & repeatable:** works for startups, agencies, or larger teams.
  Adaptable:** swap CRMs, forms, or email providers easily.

  🔧 Prerequisites & Setup
  Before importing or running the workflow, set up these connections:

  Relevance AI**  
    Clone the tools (Resources provided in the workflow) for lead scoring and company scoring, and copy your API key into the HTTP Request nodes.

  Form Intake**  
    Use n8n’s built-in form trigger or connect Typeform, Tally, HubSpot Forms, or any webhook-based intake.

  CRM or Database**  
    Start with Google Sheets (included in the sample workflow) or connect HubSpot, Salesforce, Pipedrive, Zoho, Airtable, Notion, or any SQL/NoSQL DB.

  Email Provider**  
    Use Gmail (included), or swap in Outlook, HubSpot Email, SendGrid, Mailgun, etc.

  Team Notifications (Optional)**  
    Configure Slack (or other tools) for instant alerts on hot leads.
  ⚙️ How It Works (Simplified Flow)
  Lead Intake: Collects leads from your form or CRM.
  Lead Enrichment: Uses Relevance AI to score:
     Individual Fit: role, expertise, influence.
     Company Fit: size, industry, market relevance.
  Scoring & Insights: Combines both into a final lead score with labels and notes.
  Routing: Splits leads into HOT / WARM / COLD tiers.
  Outreach:  
     HOT → drafts a review-ready email for your team.  
     WARM / COLD → auto-sends appropriate follow-up emails.
  Logging & Alerts: Saves structured data to your CRM or sheet and notifies your team of hot leads.

  🙋‍♂️ Who is This For
  Startups & SaaS teams** that need to prioritize a flood of inbound leads.
  Agencies & consultancies** qualifying prospects from ads or webinars.
  Small sales teams** that want to spend time only on the best leads.
  Freelancers or solopreneurs** who want a lightweight but effective qualification process.
  Automation newbies* who want a production-ready system to *sell for 1k-3k**

  💡 Why It Stands Out
  Real intelligence:** uses data-driven Relevance AI scoring rather than static rules.
  Action-oriented:** routes and triggers the right next step immediately.
  Personalized yet scalable:** adapts outreach to each lead tier.
  Flexible integrations:** works with most popular CRMs, forms, and email tools.

  🔥 Best Practices & Tips
  Adjust the weighting of individual vs. company scores in your Relevance AI template (default: 40% vs 60%).
  Tune Router thresholds (e.g., HOT ≥ 80, WARM 60-79, COLD &lt; 60) to match your sales goals.
  Add a human approval step for high-value deals.
  Expand with enrichment APIs (e.g., Clearbit, Apollo) for richer lead data.
  Keep all API keys private and out of screenshots or repos.

  🎉 With this workflow, 
  Sales teams can focus on building relationships — while the system qualifies and organizes leads automatically 
  OR 
  You can sell to sales teams for ~3k

  Note:
  Demo data is pinned in some nodes to help you understand what the data looks like.
  Make sure to unpin those nodes when using for production.

nodes_used:
  ["n8n-nodes-base.formTrigger","n8n-nodes-base.switch","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.lmChatOpenRouter","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.lmChatOpenRouter","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.gmail","n8n-nodes-base.googleSheets","n8n-nodes-base.slack","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.merge","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote","n8n-nodes-base.merge","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, 20304 characters]


name: Create Workflow Inventory Dashboard with n8n API and Google Sheets
author_name: PollupAI
author_username: Pollup
categories: []
created_at: 2025-09-30T13:02:41.894Z
updated_at: 2025-09-30T13:02:41.894Z
url: https://n8n.io/workflows/9113
scraped_at: 2025-12-24 13:02:45
description:
  This workflow provides a powerful way to automatically document and maintain an inventory of all your n8n workflows in a Google Sheet. By running on a schedule or manually, it fetches details about every workflow on your instance, processes the key information, and then populates a spreadsheet. This creates a centralized, up-to-date dashboard for auditing, monitoring, and understanding your automation landscape.

  Who is this for?

  This workflow is ideal for n8n administrators, developers, and teams who manage multiple workflows. If you need a clear and simple way to track all your automations, their components, and their statuses without manually checking each one, this template is for you. It's particularly useful for maintaining technical documentation, auditing node usage across your instance, and quickly finding specific workflows.

  What problem is this workflow solving?

  As the number of workflows on an n8n instance grows, it becomes challenging to keep track of them all. Questions like "Which workflows use the HubSpot node?", "Which workflows are inactive?", or "When was this workflow last updated?" become difficult to answer. This workflow solves that problem by creating a single source of truth in a Google Sheet. It automates the process of cataloging your workflows, saving you time and ensuring your documentation is always current.

  What this workflow does

  Triggers Execution: The workflow can be initiated either on a set schedule (via the Scheduled Start node) or manually (via the Manual Start node).
  Fetches All Workflows: The Get All Workflows node connects to your n8n instance via the API to retrieve a complete list of your workflows and their associated data.
  Processes Workflows Individually: The Loop Through Each Workflow node iterates through each retrieved workflow one by one so they can be processed individually.
  Extracts Key Information: The Extract Workflow Details node uses custom code to process the data for each workflow, extracting essential details like its name, ID, tags, and a unique list of all node types it contains.
  Updates Google Sheet: The Add/Update Row in Google Sheet node then takes this information and appends or updates a row in your designated spreadsheet, using the workflow ID as a unique key to prevent duplicates.
  Waits and Repeats: The Pause to Avoid Rate Limits node adds a short delay to prevent issues with API limits before the loop continues to the next workflow.

  Setup

  Configure Get All Workflows Node:
      Select the Get All Workflows node.
      In the 'Credentials' section, provide your n8n API credentials to allow the workflow to access your instance's data.

  Prepare Your Google Sheet:
      Create a new Google Sheet.
      Set up the following headers in the first row: id, title, link, tags, nodes, CreatedAt, UpdatedAt, Active, Archived.

  Configure Add/Update Row in Google Sheet Node:
      Select the Add/Update Row in Google Sheet node.
      Authenticate your Google account in the 'Credentials' section.
      In the 'Document ID' field, enter the ID of your Google Sheet. You can find this in the sheet's URL (e.g., .../spreadsheets/d/THIS_IS_THE_ID/edit).
      Select your sheet from the 'Sheet Name' dropdown.
      Under 'Columns', ensure the id field is set as the 'Matching Columns' value. This is crucial for updating existing rows correctly.

  Activate the Workflow:
      Choose your preferred trigger. You can enable the Schedule Trigger to run the sync automatically at regular intervals.
      Save and activate the workflow.

  How to customize this workflow to your needs

  Track Different Data**: You can modify the Extract Workflow Details node to extract other pieces of information from the workflow JSON. For example, you could parse the settings object or count the total number of nodes. Remember to add a corresponding column in your Google Sheet and map it in the Google Sheets node.
  Add Notifications**: Add a notification node (like Slack, Discord, or Email) after the Loop Through Each Workflow node (in the second output) to be alerted when the sync is complete or if an error occurs.
  Filter Workflows**: You can add an IF node after the Loop Through Each Workflow node to filter which workflows get added to the sheet. For instance, you could choose to only log active workflows ({{ $('Loop Through Each Workflow').item.json.active }} is true) or workflows containing a specific tag.
  Adjust Wait Time**: The Pause to Avoid Rate Limits node is set to pause between each entry. You can adjust this time or remove it entirely if you have a small number of workflows and are not concerned about hitting API rate limits.

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.manualTrigger","n8n-nodes-base.n8n","n8n-nodes-base.splitInBatches","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.wait","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: Automate AI Video Ad Generation with Google Veo 3, Gemini, and Airtable
author_name: Intuz
author_username: intuz
categories: []
created_at: 2025-10-01T12:10:15.366Z
updated_at: 2025-10-01T12:10:15.366Z
url: https://n8n.io/workflows/9152
scraped_at: 2025-12-24 13:02:41
description:
  This n8n template from Intuz provides a complete and automated solution for transforming a static product image and a creative idea into a dynamic, AI-generated video ad. 

  Using Google's state-of-the-art Veo 3 model, this workflow manages the entire creative process from concept to a final, downloadable video file.

  Who's this workflow for?
  E-commerce Brands & Marketers
  Advertising Agencies
  Social Media Content Creators
  Product Managers

  How it works
  1. Submit a Creative Brief: The workflow starts when a user submits a creative idea via a simple web form (e.g., "A Pepsi can exploding into a vibrant disco party").

  2. Upload a Product Image: The user is then prompted to upload a corresponding image (e.g., a high-quality photo of the Pepsi can).

  3. Log the Project in Airtable: The idea and the uploaded image are saved to an Airtable base, which acts as the central tracking system for all video generation projects.

  4. AI Creative Analysis: Google Gemini analyzes both the user's text prompt and the uploaded image. It acts as an "AI Creative Director," generating a detailed video brief that reinterprets the static image according to the user's creative vision.

  5. Generate Video with Veo 3: The detailed creative brief is sent to Google's Veo 3 AI video generation model. The workflow initiates a long-running task to create the video.

  6. Retrieve the Final Video: After a brief waiting period, the workflow polls the Veo 3 API to retrieve the finished video, converts it into a binary file, and makes it available for download directly from the n8n execution log.

  Key Requirements to Use This Template
  n8n Instance & Required Nodes:
  An active n8n account (Cloud or self-hosted).
  This workflow uses the official n8n LangChain integration (@n8n/n8n-nodes-langchain). 
  If you are using a self-hosted version of n8n, please ensure this package is installed.

  Google Cloud Account:
  A Google Cloud Project with the Vertex AI API enabled.
  You must have access to both the Gemini and Veo 3 models within your project.
  You will need a Gemini API Key and a Google OAuth2 Credential configured for the Vertex AI scope.

  Airtable Account:
  An Airtable base with a table set up to track the video projects. It should have columns for Image Prompt, Image (Attachment), Video (Attachment/URL), and Status.

  Setup Instructions
  1. Airtable Configuration (Crucial):
  In the Create a record, Get a record, and Update record nodes, connect your Airtable credentials and update the Base ID and Table ID to match your setup.
  In the Uploading Image in Airtable (HTTP Request) node, you must edit the URL and the "Authorization" header to include your Base ID, Table ID, and Personal Access Token.

  2. Google AI Configuration (Gemini & Veo):
  In the Analyze image (Google Gemini) node, select your Gemini API credentials.
  In both the Generate Video Veo 3 and Get the the Video (HTTP Request) nodes: 

  You must replace [Project ID] and [Location] in the URLs with your own Google Cloud Project ID and region (e.g., us-central1).
  Select your Google OAuth2 credentials for authentication.

  3. Customize Video Parameters (Optional):
  In the Parse Request (Code) node, you can modify the JavaScript code to change video generation settings like aspectRatio, durationSeconds, and resolution.

  4. Execute the Workflow:
  Activate the workflow. Open the Form URL from the Prompt your Idea node to start the process.

  Sample Videos

  Connect with us
  Website: https://www.intuz.com/services
  Email: getstarted@intuz.com
  LinkedIn: https://www.linkedin.com/company/intuz
  Get Started: https://n8n.partnerlinks.io/intuz

  For Custom Workflow Automation
  Click here- Get Started

nodes_used:
  ["n8n-nodes-base.airtable","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.airtable","@n8n/n8n-nodes-langchain.googleGemini","n8n-nodes-base.wait","n8n-nodes-base.airtable","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.convertToFile","n8n-nodes-base.code","n8n-nodes-base.formTrigger","n8n-nodes-base.form","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 6576 characters]


name: Promo Seeker: Auto-find Promo Codes with SerpAPI, Gemini & Telegram
author_name: Khairul Muhtadin
author_username: khmuhtadin
categories: []
created_at: 2025-10-02T00:48:31.170Z
updated_at: 2025-10-02T00:48:31.170Z
url: https://n8n.io/workflows/9172
scraped_at: 2025-12-24 13:02:44
description:
  Promo Seeker automatically finds, verifies, and delivers active promo codes to users via Telegram or email using SerpAPI + Gemini (OpenRouter). Saves hours of manual searching and deduplicates results into an n8n Data Table for fast reuse.

  Why Use This Workflow?

  Time Savings: Reduces manual promo hunting from 2 hours to 5 minutes per query.

  Cost Reduction: Cuts reliance on paid scraping tools or manual services — potential savings of $50–$200/month.

  Error Prevention: Cross-references sources and enforces a 30‑day recency filter to reduce expired-code hits by ~60% vs single-source checks.

  Scalability: Handles hundreds of queries per day with Data Table upserts and optional scheduling for continuous discovery.

  Ideal For

  Marketing / Growth Managers:** Quickly discover competitor or partner discounts to promote in campaigns.
  Customer Support / Operations:** Respond to user requests with verified promo codes via Telegram or email.
  Affiliate / Content Teams:** Aggregate and maintain a clean promo feed for newsletters or site widgets.

  How It Works

  Trigger: Incoming request via Webhook, Telegram message, Google Form submission, or scheduled run.
  Data Collection: The LangChain agent uses SerpAPI search results and Gemini (OpenRouter) to locate recent promo codes.
  Processing: Filter for recency (last 30 days), extract code, value, terms, and expiry.
  Intelligence Layer: Gemini 2.5 Pro (OpenRouter) + LangChain agent structure and verify results, outputting a standardized JSON.
  Output & Delivery: If a code exists in the Data Table, notify the requester via Telegram and Gmail; otherwise, return results and upsert them into the Data Table.
  Storage & Logging: Results stored/upserted in an n8n Data Table to prevent duplicates and enable fast lookups.

  Setup Guide

  Prerequisites

  | Requirement | Type | Purpose |
  |-------------|------|---------|
  | n8n instance | Essential | Execute the workflow — import JSON to your n8n instance |
  | SerpAPI account | Essential | Web search results for promo code discovery |
  | OpenRouter (Gemini) account | Essential | Language model (Gemini 2.5 Pro) for extraction and verification |
  | Telegram Bot (BotFather) | Essential | Receive queries and send promo notifications |
  | Gmail OAuth2 | Essential | Send rich email notifications |
  | n8n Data Tables | Essential | Store and deduplicate promo code records |

  Get your n8n instance here: n8n instance — import the JSON and begin configuration. (Repeat link for convenience) n8n instance

  Installation Steps

  Import the JSON workflow into your n8n instance.
  Configure credentials (use n8n's Credentials UI — do NOT paste keys into nodes):
     SerpAPI: paste your SerpAPI API Key from your SerpAPI dashboard.
     OpenRouter API: paste your OpenRouter API Key (for Gemini 2.5 Pro).
     Telegram API: create bot via @BotFather, then add Bot Token to Telegram credentials.
     Gmail OAuth2: use n8n's Gmail OAuth2 credential flow and authorize the account.
  Update environment-specific values:
     Webhook path: /v1/promo-seeker (configured in the Webhook node) or replace with your preferred path.
     Data Table ID: point to your own Data Table
     Form/webhook recipient fields (email/chatId mappings).
  Customize settings:
     Adjust the LangChain agent prompt (Promo Seeker Agent) for different recency windows or regional focus.
     Change max results/limit on the Data Table node (default limit = 3).
  Test execution:
     Trigger via Telegram or a POST to the webhook with sample payload:
            { "platform":"example.com", "email":"you@domain.com" }
          Confirm notifications arrive and Data Table rows are upserted.

  Technical Details

  Core Nodes

  | Node | Purpose | Key Configuration |
  |------|---------|-------------------|
  | SerpAPI | Fetch web search results | Provide credential; adjust search params in agent prompt |
  | Gemini 2.5Pro (OpenRouter) | Extract & verify promo details | Use OpenRouter credential; model google/gemini-2.5-pro |
  | Promo Seeker Agent (LangChain) | Orchestrates search + parsing | System prompt enforces 30‑day recency & result format |
  | Structured Output Parser | Validates agent output | JSON schema example for platform/code/value/terms/validUntil |
  | Data Table (Get row(s)) | Lookup existing promos | Filters by platform; limit = 3 |
  | If (Code Exist?) | Branching logic | Checks existence of platform field |
  | Data Table (Upsert row(s)) | Insert or update promo | Mapping from agent output to Data Table columns |
  | Telegram Trigger / Telegram | Receive queries & notify users | Webhook-based trigger; parse_mode = HTML for messages |
  | Gmail | Send rich HTML emails | Uses Gmail OAuth2 credential |
  | Webhook / Form Trigger | Alternate inputs | Webhook path /v1/promo-seeker and Form trigger for manual submissions |

  Workflow Logic

  On trigger, the Platform Set node normalizes the incoming query and receiver.
  Get row(s) checks Data Table for existing promos.
    If found: notify via Telegram and send Gmail (email template included).
    If not found: the Promo Seeker Agent runs SerpAPI searches, parses structured output, then Upsert row(s) saves results and notifications are sent.
  Structured Output Parser enforces correct JSON to avoid bad upserts.

  Customization Options

  Basic Adjustments
  Recency window: change the agent prompt to 7/14/30 days.
  Result limit: increase Data Table Get limit or change Upsert batch size.

  Advanced Enhancements
  Add Slack or Microsoft Teams notifications (moderate complexity).
  Add caching layer (Redis) to reduce repeated SerpAPI calls (advanced).
  Parallelize searches across multiple search engines (higher API usage & complexity).

  Performance & Optimization

  | Metric | Expected Performance | Optimization Tips |
  |--------|----------------------|-------------------|
  | Execution time | 8–30s per new search (depends on SerpAPI + LM response) | Reduce SerpAPI page depth; cache recent results |
  | API calls | 3–10 SerpAPI calls per complex query | Batch queries; use higher-quality search params |
  | Error handling | Agent retries on malformed output | Use retry nodes and set onError strategy for downstream nodes |

  Troubleshooting

  | Problem | Cause | Solution |
  |---------|-------|----------|
  | No results returned | Query too vague or rate-limited API | Improve query specificity; check SerpAPI quota |
  | Gmail send fails | OAuth scope not granted or token expired | Reconnect Gmail OAuth2 credential in n8n |
  | Telegram webhook not firing | Incorrect bot token or webhook setup | Recreate Telegram credential and check bot permissions |
  | Duplicate rows | Upsert mapping mismatch | Ensure promoCode mapping in Upsert matches structured output |
  | Agent returns malformed JSON | LM prompt too permissive | Tighten the agent system prompt and validate with Structured Output Parser |

  Created by: khaisa Studio
  Category: Marketing Automation

  Tags: promo-codes, coupons, serpapi, telegram, gmail, openrouter, data-tables

  Need custom workflows or help adapting this template? Contact us

nodes_used:
  ["@n8n/n8n-nodes-langchain.toolSerpApi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenRouter","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.set","n8n-nodes-base.noOp","n8n-nodes-base.telegramTrigger","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.dataTable","n8n-nodes-base.if","n8n-nodes-base.formTrigger","n8n-nodes-base.gmail","n8n-nodes-base.dataTable","n8n-nodes-base.telegram","n8n-nodes-base.webhook","n8n-nodes-base.respondToWebhook","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 7200 characters]


name: Auto-Update Knowledge Base with Drive, LlamaIndex & Azure OpenAI Embeddings
author_name: Khairul Muhtadin
author_username: khmuhtadin
categories: []
created_at: 2025-10-02T01:25:25.701Z
updated_at: 2025-10-02T01:25:25.701Z
url: https://n8n.io/workflows/9174
scraped_at: 2025-12-24 13:02:44
description:
  This Workflow auto-ingests Google Drive documents, parses them with LlamaIndex, and stores Azure OpenAI embeddings in an in-memory vector store—cutting manual update time from ~30 minutes to under 2 minutes per doc.

  Why Use This Workflow?
   
  Cost Reduction: Eliminates pays monthly fee on cloud just for store knowledge

  Ideal For

  Knowledge Managers / Documentation Teams:** Automatically keep product docs and SOPs in sync when source files change on Google Drive.
  Support Teams:** Ensure the searchable KB is always up-to-date after doc edits, speeding agent onboarding and resolution time.
  Developer / AI Teams:** Populate an in-memory vector store for experiments, rapid prototyping, or local RAG demos.

  How It Works

  Trigger: Google Drive Trigger watches a specific document or folder for updates.
  Data Collection: The updated file is downloaded from Google Drive.
  Processing: The file is uploaded to LlamaIndex cloud via an HTTP Request to create a parsing job.
  Intelligence Layer: Workflow polls LlamaIndex job status (Wait + Monitor loop). If parsing status equals SUCCESS, the result is retrieved as markdown.
  Output & Delivery: Parsed markdown is loaded into LangChain's Default Data Loader, passed to Azure OpenAI embeddings (deployment "3small"), then inserted into an in-memory vector store.
  Storage & Logging: Vector store holds embeddings in memory (good for prototyping). Optionally persist to an external vector DB for production.

  Setup Guide

  Prerequisites

  | Requirement | Type | Purpose |
  |-------------|------|---------|
  | n8n instance | Essential | Execute and import the workflow — use the n8n instance |
  | Google Drive OAuth2 | Essential | Watch and download documents from Google Drive |
  | LlamaIndex Cloud API | Essential | Parse and convert documents to structured markdown |
  | Azure OpenAI Account | Essential | Generate embeddings (deployment configured to model name "3small") |
  | Persistent Vector DB (e.g., Pinecone) | Optional | Persist embeddings for production-scale search |

  Installation Steps

  Import the workflow JSON into your n8n instance: open your n8n instance and import the file.
  Configure credentials:
     Azure OpenAI: Provide Endpoint, API Key and set deployment name.
     LlamaIndex API: Create an HTTP Header Auth credential in n8n. Header Name: Authorization. Header Value: Bearer YOUR_API_KEY.
     Google Drive OAuth2: Create OAuth 2.0 credentials in Google Cloud Console, enable Drive API, and configure the Google Drive OAuth2 credential in n8n.
  Update environment-specific values:
     Replace the workflow's Google Drive fileId with the GUID or folder ID you want to watch (do not commit public IDs).
  Customize settings:
     Polling interval (Wait node): adjust for faster or slower job status checks.
     Target file or folder: toggled on the Google Drive Trigger node.
     Embedding model: change Azure OpenAI deployment if needed.
  Test execution:
     Save changes and trigger a sample file update on Drive. Verify each node runs and the vector store receives embeddings.

  Technical Details

  Core Nodes

  | Node | Purpose | Key Configuration |
  |------|---------|-------------------|
  | Knowledge Base Updated Trigger (Google Drive Trigger) | Triggers on file/folder changes | Set trigger type to specific file or folder; configure OAuth2 credential |
  | Download Knowledge Document (Google Drive) | Downloads file binary | Operation: download; ensure OAuth2 credential is selected |
  | Parse Document via LlamaIndex (HTTP Request) | Uploads file to LlamaIndex parsing endpoint | POST multipart/form-data to /parsing/upload; use HTTP Header Auth credential |
  | Monitor Document Processing (HTTP Request) | Polls parsing job status | GET /parsing/job/{{jobId}}; check status field |
  | Check Parsing Completion (If) | Branches on job status | Condition: {{$json.status}} equals SUCCESS |
  | Retrieve Parsed Content (HTTP Request) | Fetches parsed markdown result | GET /parsing/job/{{jobId}}/result/markdown |
  | Default Data Loader (LangChain) | Loads parsed markdown into document format | Use as document source for embeddings |
  | Embeddings Azure OpenAI | Generates embeddings for documents | Credentials: Azure OpenAI; Model/Deployment: 3small |
  | Insert Data to Store (vectorStoreInMemory) | Stores documents + embeddings | Use memory store for prototyping; switch to DB for persistence |

  Workflow Logic

  On Drive change, the file binary is downloaded and sent to LlamaIndex.
  Workflow enters a monitor loop: Monitor Document Processing fetches job status, If node checks status. If not SUCCESS, Wait node delays before re-check.
  When parsing completes, the workflow retrieves markdown, loads documents, creates embeddings via Azure OpenAI, and inserts data into an in-memory vector store.

  Customization Options

  Basic Adjustments:
  Poll Delay: Set Wait node (default: every minute) to balance speed vs. API quota.
  Target Scope: Switch the trigger from a single file to a folder to auto-handle many docs.
  Embedding Model: Swap Azure deployment for a different model name as needed.

  Advanced Enhancements:
  Persistent Vector DB Integration: Replace vectorStoreInMemory with Pinecone or Milvus for production search.
  Notification: Add Slack or email nodes to notify when parsing completes or fails.
  Summarization: Add an LLM summarization step to generate chunk-level summaries.

  Scaling option:
  Batch uploads and chunking to reduce embedding calls; use a queue (Redis or n8n queue patterns) and horizontal workers for high throughput.

  Performance & Optimization

  | Metric | Expected Performance | Optimization Tips |
  |--------|----------------------|-------------------|
  | Execution time (per doc) | ~10s–2min (depends on file size & LlamaIndex processing) | Chunk large docs; run embeddings in batches |
  | API calls (per doc) | 3–8 (upload, poll(s), retrieve, embedding calls) | Increase poll interval; consolidate requests |
  | Error handling | Retries via Wait loop and If checks | Add exponential backoff, failure notifications, and retry limits |

  Troubleshooting

  | Problem | Cause | Solution |
  |---------|-------|----------|
  | Authentication errors | Invalid/missing credentials | Reconfigure n8n Credentials; do not paste API keys directly into nodes |
  | File not found | Incorrect fileId or permissions | Verify Drive fileId and OAuth scopes; share file with the service account if needed |
  | Parsing stuck in PENDING | LlamaIndex processing delay or rate limit | Increase Wait node interval, monitor LlamaIndex dashboard, add retry limits |
  | Embedding failures | Model/deployment mismatch or quota limits | Confirm Azure deployment name (3small) and subscription quotas |

  Created by: khmuhtadin  
  Category: Knowledge Management
  Tags: google-drive, llamaindex, azure-openai, embeddings, knowledge-base, vector-store

  Need custom workflows? Contact us

nodes_used:
  ["n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.vectorStoreInMemory","@n8n/n8n-nodes-langchain.embeddingsAzureOpenAi","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.googleDrive","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.stickyNote"]

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


name: Manage Odoo CRM with Natural Language using OpenAI and MCP Server
author_name: Rohit Dabra
author_username: rohitdabra
categories: []
created_at: 2025-10-02T10:50:34.874Z
updated_at: 2025-10-02T10:50:34.874Z
url: https://n8n.io/workflows/9187
scraped_at: 2025-12-24 13:02:43
description:
  Odoo CRM MCP Server Workflow

  📖 Overview

  This workflow connects an AI Agent with Odoo CRM using the Model Context Protocol (MCP).  
  It allows users to manage CRM data in Odoo through natural language chat commands.  
  The assistant interprets the user’s request, selects the appropriate Odoo action, and executes it seamlessly.  

  🔹 Key Features
  Contacts Management**: Create, update, delete, and retrieve contacts.  
  Opportunities Management**: Create, update, delete, and retrieve opportunities.  
  Notes Management**: Create, update, delete, and retrieve notes.  
  Conversational AI Agent**: Understands natural language and maps requests to Odoo actions.  
  Model Used**: OpenAI Chat Model.  

  This makes it easy for end-users to interact with Odoo CRM without needing technical commands—just plain language instructions.

  ▶️ Demo Video

  Watch the full demo here:  
  👉 YouTube Demo Video

  ⚙️ Setup Guide

  Follow these steps to set up and run the workflow:

  1. Prerequisites
  An Odoo instance configured with CRM enabled.  
  An n8n or automation platform account where MCP workflows are supported.  
  An OpenAI API key with access to GPT models.  
  MCP Server installed and running.  

  2. Import the Workflow
  Download the provided workflow JSON file.  
  In your automation platform (n8n, Langflow, or other MCP-enabled tool), choose Import Workflow.  
  Select the JSON file and confirm.  

  3. Configure MCP Server
  Go to your MCP Server Trigger node in the workflow.  
  Configure it to connect with your Odoo instance.  
     Set API endpoint.  
     Provide authentication credentials (API key).  
  Test the connection to ensure the MCP server can reach Odoo.  

  4. Configure the OpenAI Model
  Select the OpenAI Chat Model node in the workflow.  
  Enter your OpenAI API Key.  
  Choose the model (e.g., gpt-5 or gpt-5-mini).  

  5. AI Agent Setup
  The AI Agent node links the Chat Model, Memory, and MCP Client.  
  Ensure the MCP Client is mapped to the correct Odoo tools (Contacts, Opportunities, Notes).  
  The System Prompt defines assistant behavior—use the tailored system prompt provided earlier.  

  6. Activate and Test
  Turn the workflow ON (toggle Active).  
  Open chat and type:  
     "Create a contact named John Doe with email john@example.com."  
     "Show me all opportunities."  
     "Add a note to John Doe saying 'Follow-up scheduled for Friday'."  
  Verify the results in your Odoo CRM.  

  ✅ Next Steps
  Extend functionality with Tasks, Stages, Companies, and Communication Logs for a complete CRM experience.  
  Add confirmation prompts for destructive actions (delete contact/opportunity/note).  
  Customize the AI Agent’s system prompt for your organization’s workflows.  

nodes_used:
  ["@n8n/n8n-nodes-langchain.mcpTrigger","n8n-nodes-base.odooTool","n8n-nodes-base.odooTool","n8n-nodes-base.odooTool","n8n-nodes-base.odooTool","n8n-nodes-base.odooTool","n8n-nodes-base.odooTool","n8n-nodes-base.odooTool","n8n-nodes-base.odooTool","n8n-nodes-base.odooTool","n8n-nodes-base.odooTool","n8n-nodes-base.odooTool","n8n-nodes-base.odooTool","n8n-nodes-base.odooTool","n8n-nodes-base.odooTool","n8n-nodes-base.odooTool","@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.mcpClientTool","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5208 characters]


name: Generate blog posts from keywords to Webflow
author_name: Dahiana
author_username: mssporto
categories: []
created_at: 2025-10-02T11:52:17.395Z
updated_at: 2025-10-02T11:52:17.395Z
url: https://n8n.io/workflows/9191
scraped_at: 2025-12-24 13:02:44
description:
  Who's it for
  Content marketers and SEO specialists who need to generate multiple SEO-optimized articles targeting keyword variations. Ideal for affiliate sites, niche blogs, or service-based businesses creating location/product-specific landing pages.

  How it works
  This workflow automates bulk content creation from keyword list to Webflow draft:

  Loads keywords from Google Sheets with structured format (main keyword + slug)
  AI generates articles - Creates 600+ word content following SEO best practices
  Creates custom images - Calls a sub-workflow using Gemini 2.5 Flash to generate relevant featured images
  Quality validation - Ensures minimum word count; expands content if needed
  HTML conversion - Transforms markdown to Webflow-ready HTML
  Result tracking - Logs success/errors to separate Google Sheets



  The workflow includes automatic content expansion, error handling, and uses a separate sub-workflow as a tool for AI image generation.

  Important: The subworkflow should be created as an individual one. Then, in the Agent Tool node, you need to select it as the tool. DON'T try to run it inside the same workflow.

  Requirements
  OpenAI API key (for content generation)
  OpenRouter API key or similar (for Gemini image generation via sub-workflow) 
  Google Sheets with three tabs: keywords, content_created, webflow_error_logs
  Webflow site with CMS collection configured
  Google Drive folder for image storage
  Companion workflow**: "AI image generation for automatic content creation" (imported separately and called as a tool)

  How to set up

  1. Import both workflows separately:
  Main workflow: "Bulk SEO content generation and Webflow draft creation with AI images"
  Sub-workflow: "AI image generation for automatic content creation"

  2. Configure your Google Sheet with the recommended structure  
  Required sheets:
  keywords: id, main keyword, head terms, modifiers, slug, status
  content_created: id, slug, meta description, content, generatedAt, updated on
  webflow_error_logs: keyword, error, timestamp, status

  3. Add API credentials:
  OpenAI API  
  OpenRouter API with Gemini access or similar (for image generation)
  Webflow OAuth2 API (see Webflow setup instructions in sticky note)
  Google Sheets  
  Google Drive  

  4. Update workflow configuration:
  Google Sheets: Update document IDs in all Google Sheets nodes
  Webflow: Set your Site ID and Collection ID in Create/Update Post nodes
  Google Drive: Set folder ID in the image generation sub-workflow
  AI Image Tool: Verify the "AI Image Generation Tool1" node points to your imported sub-workflow

  5. Test with a single keyword:
   

  6. Schedule for production:
  Enable the Schedule Trigger (currently set to monthly)
  How to customize

  Content customization:
  Adjust article length in AI Agent prompt (currently 600-800 words)
  Modify article structure/sections in the system prompt
  Change content tone by editing the AI Agent system message
  Add/remove content sections in the prompt template

  Image customization:
  Change AI model in sub-workflow (currently Gemini 2.5 Flash)
  Modify image style/prompt in the AI Image Generation Tool parameters
  Update Google Drive destination folder

  Webflow customization:
  Add custom CMS fields by updating Create/Update Post nodes
  Modify field mappings to match your Webflow collection structure
  Change draft behavior or add auto-publish logic

  Workflow behavior:
  Adjust batch size in Loop Over Items node
  Modify quality threshold (currently 600 words minimum)
  Change error handling/retry logic
  Update scheduling frequency in Schedule Trigger

nodes_used:
  ["@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.stickyNote","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.splitInBatches","n8n-nodes-base.if","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.code","n8n-nodes-base.merge","n8n-nodes-base.markdown","n8n-nodes-base.webflow","n8n-nodes-base.if","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.wait","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.noOp","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.toolWorkflow","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.httpRequest","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, 13728 characters]


