by Vivekanand M
Self-learning feedback loop for AI customer support email drafts with Gmail, OpenAI and PostgreSQL Automatically compare AI-generated email drafts against what your support team actually sent, learn from the differences, and improve future drafts over time — without any model fine-tuning. What this workflow does This is the second workflow in a two-part customer support automation system. The first workflow generates AI draft replies for incoming support emails. This workflow closes the loop — it runs every 3 hours, checks which drafts were reviewed and sent, compares them against the original AI output, and stores the human-edited versions as training examples. The more this workflow runs, the smarter the first workflow becomes. When generating future drafts, the similarity search surfaces past human-approved responses — so the AI progressively learns what good answers look like for your specific support context. How it works Step 1 — Watermark and scheduling Every run starts by fetching the last_processed_sent_at timestamp from the previous completed run. Only Gmail Sent emails newer than this timestamp are fetched, so nothing gets processed twice. On the first-ever run it defaults to 7 days ago. Step 2 — Fetch and loop Sent emails are fetched from Gmail and processed one at a time. For each email, the full message body is retrieved via the Gmail API (the list endpoint only returns a preview snippet). The sent email's thread ID is matched against the ai_drafts table to find the corresponding AI draft. Step 3 — Match and skip logic Three things skip an email without processing: no matching AI draft found (the team sent something manually), the draft was already processed in a previous run, or the fetch returns no results. Only genuine unprocessed matches continue. Step 4 — AI comparison GPT-4o-mini compares the AI draft text against the human-sent text and returns a structured analysis: whether it was approved unchanged, the type of edit made (minor edits vs major rewrite), a plain English summary of what changed, and whether the edit implies missing or incorrect information in the knowledge base. Step 5 — Store the correction If the human made any edits, the pair (original email + human response) is embedded using OpenAI text-embedding-3-small and saved to the corrections table. This table is what the first workflow searches using vector cosine similarity when assembling future draft prompts. Step 6 — KB auto-update If the AI comparison flags that the human edit contained new information, the most relevant knowledge base entry for that category is fetched and rewritten by GPT-4o-mini to incorporate the new information. The previous answer is preserved in the previous_answer column for auditing. Step 7 — Run log Each run is logged to feedback_run_log with counts of emails checked, corrections saved, KB updates made and any errors. This log also serves as the watermark source for the next run. Setup steps Prerequisites Gmail account (same support inbox used by the main email workflow) OpenAI API key PostgreSQL database with pgvector extension and the full schema from Workflow 1 already applied The main email automation workflow (Workflow 1) must be active and generating drafts 1. Apply the DB migration Run the following against your existing database to add the columns this workflow needs: ALTER TABLE ai_drafts ADD COLUMN IF NOT EXISTS email_embedding vector(1536), ADD COLUMN IF NOT EXISTS feedback_processed_at TIMESTAMPTZ, ADD COLUMN IF NOT EXISTS was_approved_as_is BOOLEAN DEFAULT FALSE; ALTER TABLE corrections ADD COLUMN IF NOT EXISTS source TEXT DEFAULT 'feedback_loop', ADD COLUMN IF NOT EXISTS kb_updated BOOLEAN DEFAULT FALSE; ALTER TABLE kb_data ADD COLUMN IF NOT EXISTS updated_by TEXT DEFAULT 'manual', ADD COLUMN IF NOT EXISTS previous_answer TEXT; CREATE TABLE IF NOT EXISTS feedback_run_log ( id SERIAL PRIMARY KEY, run_started_at TIMESTAMPTZ DEFAULT NOW(), run_completed_at TIMESTAMPTZ, last_processed_sent_at TIMESTAMPTZ, emails_checked INTEGER DEFAULT 0, approved_as_is INTEGER DEFAULT 0, corrections_saved INTEGER DEFAULT 0, kb_updates INTEGER DEFAULT 0, errors INTEGER DEFAULT 0, status TEXT DEFAULT 'running' ); 2. Configure credentials | Node | Credential needed | |---|---| | Gmail - Fetch Sent Emails | Gmail OAuth2 | | Gmail - Fetch Full Message | Gmail OAuth2 (HTTP Request with OAuth) | | All DB nodes | PostgreSQL | | OpenAI Chat Model - Compare | OpenAI API | | AI - Rewrite KB Answer | OpenAI API | | Generate Embedding - Human Sent | OpenAI API | 3. Check node connections The splitInBatches loop node has two outputs — make sure they are connected correctly: Output 0 (loop)** → DB - Match Thread ID Output 1 (done)** → DB - Complete Run Log All branch dead-ends (approved as-is, no KB update, KB updated) should feed back into the loop node's input to advance to the next item. 4. Activate Toggle the workflow to active. It will run automatically on the 3-hour schedule. You can also trigger it manually to test. How it connects to Workflow 1 Once corrections start accumulating in the corrections table, Workflow 1's similarity search (which queries this table using vector cosine distance) will begin surfacing relevant past human-approved responses when assembling draft prompts. No changes to Workflow 1 are needed — it queries the same table this workflow writes to. Tech stack n8n** — workflow automation and scheduling Gmail API** — sent folder monitoring and full message fetch OpenAI GPT-4o-mini** — draft comparison and KB rewriting OpenAI text-embedding-3-small** — vector embedding for similarity search PostgreSQL + pgvector** — storing corrections and running cosine similarity queries Who this is for Teams already running an AI email draft workflow who want it to improve over time Support operations that want human edits to automatically become training data Anyone who wants a self-improving system without model fine-tuning or external ML infrastructure
by Akshay
Overview This project is an AI-powered hotel receptionist built using n8n, designed to handle guest queries automatically through WhatsApp. It integrates Google Gemini, Redis, MySQL, and Google Sheets via LangChain to create an intelligent conversational system that understands and answers booking-related questions in real time. A standout feature of this workflow is its AI model-switching system — it dynamically assigns users to different Gemini models, balancing traffic, improving performance, and reducing API costs. How It Works WhatsApp Trigger The workflow starts when a hotel guest sends a message through WhatsApp. The system captures the message text, contact details, and session information for further processing. Redis-Based Model Management The workflow checks Redis for a saved record of the user’s previously assigned AI model. If no record exists, a Model Decider node assigns a new model (e.g., Gemini 1 or Gemini 2). Redis then stores this model assignment for an hour, ensuring consistent routing and controlled traffic distribution. Model Selector The Model Selector routes each user’s request to the correct Gemini instance, enabling parallel execution across multiple AI models for faster response times and cost optimization. AI Agent Logic The LangChain AI Agent serves as the system’s reasoning core. It: Interprets guest questions such as: “Who checked in today?” “Show me tomorrow’s bookings.” “What’s the price for a deluxe suite for two nights?” Generates safe, read-only SQL SELECT queries. Fetches the requested data from the MySQL database. Combines this with dynamic pricing or promotions from Google Sheets, if available. Response Delivery Once the AI Agent formulates an answer, it sends a natural-sounding message back to the guest via WhatsApp, completing the interaction loop. Setup & Requirements Prerequisites Before deploying this workflow, ensure the following: n8n Instance** (local or hosted) WhatsApp Cloud API** with messaging permissions Google Gemini API Key** (for both models) Redis Database** for user session and model routing MySQL Database** for hotel booking and guest data Google Sheets Account** (optional, for pricing or offer data) Step-by-Step Setup Configure Credentials Add all API credentials in n8n → Settings → Credentials (WhatsApp, Redis, MySQL, Google). Prepare Databases MySQL Tables Example: bookings(id, guest_name, room_type, check_in, check_out) rooms(id, type, rate, status) Ensure the MySQL user has read-only permissions. Set Up Redis Create Redis keys for each user: llm-user:<whatsapp_id> = { "modelIndex": 0 } TTL: 3600 seconds (1 hour). Connect Google Sheets (Optional) Add your sheet under Google Sheets OAuth2. Use it to manage room rates, discounts, or seasonal offers dynamically. WhatsApp Webhook Configuration In Meta’s Developer Console, set the webhook URL to your n8n instance. Select message updates to trigger the workflow. Testing the Workflow Send messages like “Who booked today?” or a voice message. Confirm responses include real data from MySQL and contextual replies. Key Features Text & voice support** for guest interactions Automatic AI model-switching** using Redis Session memory** for context-aware conversations Read-only SQL query generation** for database safety Google Sheets integration** for live pricing and availability Scalable design** supporting multiple LLM instances Example Guest Queries | Guest Query | AI Response Example | |--------------|--------------------| | “Who checked in today?” | “Two guests have checked in today: Mr. Ahmed (Room 203) and Ms. Priya (Room 410).” | | “How much is a deluxe room for two nights?” | “A deluxe room costs $120 per night. The total for two nights is $240.” | | “Do you have any discounts this week?” | “Yes! We’re offering a 10% weekend discount on all deluxe and suite rooms.” | | “Show me tomorrow’s check-outs.” | “Three check-outs are scheduled tomorrow: Mr. Khan (101), Ms. Lee (207), and Mr. Singh (309).” | Customization Options 🧩 Model Assignment Logic You can modify the Model Decider node to: Assign models based on user load, region, or priority level. Increase or decrease TTL in Redis for longer model persistence. 🧠 AI Agent Prompt Adjust the system prompt to control tone and response behavior — for example: Add multilingual support. Include upselling or booking confirmation messages. 🗂️ Database Expansion Extend MySQL to include: Staff schedules Maintenance records Restaurant reservations Then link new queries in the AI Agent node for richer responses. Tech Stack n8n** – Workflow automation & orchestration Google Gemini (PaLM)** – LLM for reasoning & generation Redis** – Model assignment & session management MySQL** – Booking & guest data storage Google Sheets** – Dynamic pricing reference WhatsApp Cloud API** – Messaging interface Outcome This workflow demonstrates how AI automation can transform hotel operations by combining WhatsApp communication, database intelligence, and multi-model AI reasoning. It’s a production-ready foundation for scalable, cost-optimized, AI-driven hospitality solutions that deliver fast, accurate, and personalized guest interactions.
by Michael A Putra
Demo Personalized Email This n8n workflow is built for AI and automation agencies to promote their workflows through an interactive demo that prospects can try themselves. The featured system is a deep personalized email demo. 🔄 How It Works Prospect Interaction A prospect starts the demo via Telegram. The Telegram bot (created with BotFather) connects directly to your n8n instance. Demo Guidance The RAG agent and instructor guide the user step-by-step through the demo. Instructions and responses are dynamically generated based on user input. Workflow Execution When the user triggers an action (e.g., testing the email demo), n8n runs the workflow. The workflow collects website data using Crawl4AI or standard HTTP requests. Email Demo The system personalizes and sends a demo email through SparkPost, showing the automation’s capability. Logging and Control Each user interaction is logged in your database using their name and id. The workflow checks limits to prevent misuse or spam. Error Handling If a low-CPU scraping method fails, the workflow automatically escalates to a higher-CPU method. ⚙️ Requirements Before setting up, make sure you have the following: n8n — Automation platform to run the workflow Docker — Required to run Crawl4AI Crawl4AI — For intelligent website crawling Telegram Account — To create your Telegram bot via BotFather SparkPost Account — To send personalized demo emails A database (e.g., PostgreSQL, MySQL, or SQLite) — To store log data such as user name and ID 🚀 Features Telegram interface** using the BotFather API Instructor and RAG agent** to guide prospects through the demo Flow generation limits per user ID** to prevent abuse Low-cost yet powerful web scraping**, escalating from low- to high-CPU flows if earlier ones fail 💡 Development Ideas Replace the RAG logic with your own query-answering and guidance method Remove the flow limit if you’re confident the demo can’t be misused Swap the personalized email demo with any other workflow you want to showcase 🧠 Technical Notes Telegram bot** created with BotFather Website crawl process:** Extract sub-links via /sitemap.xml, sitemap_index.xml, or standard HTTP requests Fall back to Crawl4AI if normal requests fail Fetch sub-link content via HTTPS or Crawl4AI as backup SparkPost** used for sending demo emails ⚙️ Setup Instructions 1. Create a Telegram Bot Use BotFather on Telegram to create your bot and get the API token. This token will be used to connect your n8n workflow to Telegram. 2. Create a Log Data Table In your database, create a table to store user logs. The table must include at least the following columns: name — to store the user’s name or Telegram username. id — to store the user’s unique identifier. 3. Install Crawl4AI with Docker Follow the installation guide from the official repository: 👉 https://github.com/unclecode/crawl4ai Crawl4AI** will handle website crawling and content extraction in your workflow. 📦 Notes This setup is optimized for low cost, easy scalability, and real-time interaction with prospects. You can customize each component — Telegram bot behavior, RAG logic, scraping strategy, and email workflow — to fit your agency’s demo needs. 👉 You can try the live demo here: @email_demo_bot
by KPendic
This n8n flow demos basic dev-ops operation task, dns records management. AI agent with light and basic prompt functions like getter and setter for DNS records. In this special case, we are managing remote dns server, via API calls - that are handled on CloudFlare platform side. Use-cases for this flow can be standalone, or you can chain it in your pipe-line to get powerful infrastructure flows for your needs. How it works we created basic agent and gave it a prompt to know about one tool: cf_tool - sub-routine (to itself flow - or it can be separate dedicated one) prompt have defined arguments that are needed for passing them when calling agent, for each action specifically tool it self have basic if switch that is - based of a action call - calling specific CloudFlare API endpoint (and pass down the args from the tool) Requirements For storing and processing of data in this flow you will need: CloudFlare.com API key/token - for retrieving your data (https://dash.cloudflare.com/?to=/:account/api-tokens) OpenAPI credentials (or any other LLM provider) saved - for agent chat (Optional) PostGres table for chat history saving Official CloudFlare api Documentation For full details and specifications please use API documentation from: https://developers.cloudflare.com/api/ Linkedin post Let me know if you found this flow usefull on my Linkedin post > here. tags: #cloudflare, #dns, #domain
by Muhammadumar
This is the core AI agent used for isra36.com. Don't trust complex AI-generated SQL queries without double-checking them in a safe environment. That's where isra36 comes in. It automatically creates a test environment with the necessary data, generates code for your task, runs it to double-check for correctness, and handles errors if necessary. If you enable auto-fixing, isra36 will detect and fix issues on its own. If not, it will ask for your permission before making changes during debugging. In the end, you get thoroughly verified code along with full details about the environment it ran in. Setup It is an embedded chat for the website, but you can pin input data and run it on your own n8n instance. Input data sessionId: uuid\_v4. Required to handle ongoing conversations and to create table names (used as a prefix). threadId: string | nullable. If aiProvider is openai, conversation history is managed on OpenAI’s side. This is not needed in the first request—it will start a new conversation. For ongoing conversations, you must provide this value. You can get it from the OpenAIMainBrain node output after the first run. If you want to start a new conversation, just leave it as null. apiKey: string. Your API key for the selected aiProvider. aiProvider: string. Currently supported values: openai, openrouter. model: string. The AI model key (e.g., gpt-4.1, o3-mini, or any supported model key from OpenRouter). autoErrorFixing: boolean. If true, it will automatically fix errors encountered when running code in the environment. If false, it will ask for your permission before attempting a fix. chatInput: string. The user's prompt or message. currentDbSchemaWithData: string. A JSON representation of the database schema with sample data. Used to inform the AI about the current database structure during an ongoing conversation. Please use the '[]' value in the first request. Example string for filled db structure : '{"users":[{"id":1,"name":"John Doe","email":"john.d@example.com"},{"id":2,"name":"Jane Smith","email":"jane.s@example.com"}],"products":[{"product_id":101,"product_name":"Laptop","price":999.99}]}' Make sure to fill in your credentials: Your OpenAI or OpenRouter API key Access to a local PostgreSQL database for test execution You can view your generated tables using your preferred PostgreSQL GUI. We recommend DBeaver. Alternatively, you can activate the “Deactivated DB Visualization” nodes below. To use them, connect each to the most recent successful Set node and manually adjust the output. However, the easiest and most efficient method is to use a GUI. Workflow Explanation We store all input values in the localVariables node. Please use this node to get the necessary data. OpenAI has a built-in assistant that manages chat history on their side. For OpenRouter, we handle chat history locally. That’s why we use separate nodes like ifOpenAi and isOpenAi. Note that if logic can also be used inside nodes. The AutoErrorFixing loop will run only a limited number of times, as defined by the isMaxAutoErrorReached node. This prevents infinite loops. The Execute_AI_result node connects to the PostgreSQL test database used to execute queries. Guidance on customization This setup is built for PostgreSQL, but it can be adapted to any programming language, and the logic can be extended to any programming framework. To customize the logic for other programming languages: Change instruction parameter in localVariables node. Replace the Execute_AI_result PostgreSQL node with another executable node. For example, you can use the HTTP Request node. Update the GenerateErrorPrompt node's prompt parameter to generate code specific to your target language or framework. Any workflows built on top of this must credit the original author and be released under an open-source license.
by Cordexa Technologies
This template monitors Google Drive folder for new files, extracts text from PDFs, images, text files, CSVs, and Google Docs., reads images with meta/llama-3.2-11b-vision-instruct, structures the result with nvidia/llama-3.3-nemotron-super-49b-v1.5, logs everything to Google Sheets, and sends a Telegram notification when processing finishes. ✨ What This Template Does Watches a specific Google Drive folder for new files with Google Drive Trigger. 📂 Downloads each new file with Google Drive before processing. ⬇️ Routes PDFs, images, text files, CSVs, and Google Docs through the correct extraction branch. 🔀 Extracts image text with meta/llama-3.2-11b-vision-instruct 🖼️ Structures extracted content into JSON fields with nvidia/llama-3.3-nemotron-super-49b-v1.5 through NVIDIA NIM. 🤖 Appends the final result to Google Sheets in Extract_Log. 📊 Sends a Telegram notification when processing is complete. 📬 Key Benefits Turns a Drive folder into a reusable intake point for mixed file types. ⏱️ Creates a searchable audit trail in Google Sheets for every processed file. 📚 Sends a lightweight Telegram notification without requiring Telegram as the input channel. ✅ Keeps the extraction and structuring logic reusable for internal ops or client delivery workflows. 🔁 Makes it easier to test multimodal document processing with free-tier NVIDIA NIM models. 💡 Features Google Drive Trigger configured for new files in a specific folder. 📥 Google Drive download step for binary file access before extraction. ⚙️ File-type routing with Switch and normalization with Code nodes. 🧠 Native n8n Extract from File nodes for PDF, TXT, and CSV parsing. 📄 NVIDIA NIM HTTP Request nodes for image OCR and structured JSON generation. 🤖 Google Sheets append logging with a fixed Extract_Log tab schema. 📈 Plain-text Telegram completion notifications with a fixed destination chat ID. 📨 Requirements n8n instance with access to Google Drive Trigger, Google Drive, Google Docs, Google Sheets, HTTP Request, Telegram, and Extract from File nodes. 🧰 Google Drive OAuth2 credential with access to the watched folder. 🔐 Google Docs OAuth2 credential with access to any Google Docs files you want to process. 📘 Google Sheets OAuth2 credential and a sheet with an Extract_Log tab. 📊 Telegram bot credential plus a valid destination chat ID for notifications. 🤝 NVIDIA NIM API key stored as an HTTP Header Auth credential. 🔑 A folder ID and Google Sheet ID added to the provided placeholders before activation. 🛠️ Target Audience Operations teams monitoring a shared Drive folder for inbound files. 🗂️ Founders and solo operators who want document extraction. 👤 Agencies building reusable back-office workflows for receipts, notes, and uploaded files. 🏢 Analysts who want structured text output logged into Google Sheets automatically. 📋 Automation builders testing file-driven multimodal extraction with Drive as the source. 🧪 Step-by-Step Setup Instructions Import the workflow and read every sticky note on the canvas before editing any nodes. 📝 Connect your Google Drive, Google Docs, Google Sheets, Telegram, and NVIDIA NIM credentials. 🔐 Replace REPLACE_WITH_GOOGLE_DRIVE_FOLDER_ID, REPLACE_WITH_GOOGLE_SHEET_ID, and REPLACE_WITH_TELEGRAM_CHAT_ID in the marked nodes. 📌 Create the Extract_Log tab with the required headers shown in the sticky notes. 📑 Test one file at a time in this order: PDF, TXT, CSV, image, then Google Docs file. 🧪 Confirm that each test adds one clean row to Google Sheets and sends one Telegram notification. ✅ Activate the workflow only after every supported path works end to end. 🚀 Built by Cordexa Technologies https://cordexa.tech | cordexatech@gmail.com
by Ronnie Craig
AI Email Assistant - Smart Email Processing & Response 🤖 A sophisticated n8n workflow that transforms your email management with AI-powered classification, automatic responses, and intelligent organization. 🎯 What This Workflow Does This advanced AI email assistant automatically: Analyzes** incoming emails using intelligent classification Categorizes** messages by priority, urgency, and type Generates** context-aware draft responses in your voice Organizes** emails with smart labeling and filing Alerts** you to urgent messages instantly Manages** attachments with cloud storage integration Perfect for busy professionals, customer service teams, and anyone drowning in email! ✨ Key Features 🧠 Intelligent Email Analysis Context-Aware Processing**: Understands email threads and conversation history Smart Classification**: Automatically categorizes by priority, urgency, and required actions Multi-Criteria Assessment**: Evaluates response needs, follow-up requirements, team involvement Dynamic Label Management**: Syncs with your Gmail labels for consistent organization 📝 AI-Powered Response Generation Professional Draft Creation**: Generates contextually appropriate responses Tone Matching**: Mirrors the formality and style of incoming emails Multiple Response Options**: Provides alternatives for complex inquiries Customizable Voice**: Adapts to your business communication style 🔔 Smart Notification System Urgent Email Alerts**: Instant notifications for high-priority messages Telegram/Slack Integration**: Get alerts where you work Smart Filtering**: Only notifies when truly urgent Quick Action Links**: Direct links to Gmail for immediate response 📎 Advanced Attachment Management Automatic Cloud Upload**: Saves attachments to Google Drive Smart File Naming**: Organized by date, sender, and content Duplicate Detection**: Prevents redundant uploads File Type Filtering**: Optional filtering for security 🏷️ Intelligent Organization Auto-Labeling**: Applies relevant Gmail labels automatically Progress Tracking**: Marks emails as "processed" or "digested" Priority Indicators**: Visual priority levels in your inbox Category-Based Sorting**: Groups similar emails together 🛠️ Setup Instructions Prerequisites n8n instance (cloud or self-hosted) Gmail account with API access OpenAI API key (or compatible AI service) Google Drive account (for attachments) Telegram bot (optional, for alerts) Step 1: Import the Workflow Download AI_Email_Assistant_Community_Template.json In n8n, navigate to Templates → Import from File Select the downloaded JSON file The workflow will import as inactive Step 2: Configure Credentials Gmail Setup: Create Gmail OAuth2 credentials in n8n Configure the following nodes: Email_Trigger Get Conversation Thread Get Latest Message Content Create Draft Response Assign Classification Label Mark as Processed Get All Gmail Labels Test connections to ensure proper authentication AI Model Setup: Configure the AI Language Model node Options include: OpenAI (GPT-4, GPT-3.5-turbo) Anthropic Claude (recommended) Local LLMs via Ollama Add your API credentials Test the connection Google Drive Setup (Optional): Create Google Drive OAuth2 credentials Configure nodes: Upload to Google Drive Check Existing Attachments Replace YOUR_GOOGLE_DRIVE_FOLDER_ID with your folder ID Create a dedicated folder for email attachments Telegram Alerts (Optional): Create a Telegram bot via @BotFather Get your chat ID Configure the Send Urgent Alert node Replace YOUR_TELEGRAM_CHAT_ID with your actual chat ID Step 3: Customize AI Instructions Email Classification (AI Email Classifier node): Review the classification criteria in the system message Adjust urgency keywords for your business Modify priority levels based on your needs Customize category definitions Response Generation (AI Response Generator node): Update the response guidelines Replace [YOUR NAME] with your actual name Adjust tone and style preferences Add company-specific response templates Step 4: Configure Gmail Labels Create Custom Labels in Gmail: High Priority Medium Priority Low Priority Needs Response Urgent Follow Up Required Processed (or use existing labels) Update Label IDs: Run the workflow once to get label IDs Replace YOUR_PROCESSED_LABEL_ID in the "Mark as Processed" node Update any hardcoded label references Step 5: Test and Deploy Testing Process: Send yourself a test email Monitor the workflow execution Verify classification accuracy Check draft response quality Confirm labeling works correctly Test urgent alert functionality Fine-Tuning: Adjust AI prompts based on test results Refine classification criteria Update response templates Modify notification preferences Go Live: Activate the workflow Monitor initial performance Adjust settings as needed 📊 Email Classification System Priority Levels High**: Urgent matters requiring immediate attention Medium**: Important but not time-critical Low**: Routine or informational messages Classification Categories toReply**: Direct questions or requests requiring response urgent**: Immediate business impact or crisis situations dateRelated**: Time-sensitive events or deadlines attachmentsToUpload**: Financial docs or important files requiresFollowUp**: Multi-step processes or ongoing projects forwardToTeam**: Cross-departmental or collaborative items Response Generation Guidelines Professional Tone**: Business casual, warm but professional Context Awareness**: Considers email thread history Structured Responses**: Clear paragraphs with actionable next steps Placeholder System**: Uses [PLACEHOLDER] for missing information Alternative Options**: Provides multiple response choices for complex inquiries 🔧 Advanced Customization File Type Filtering // In Get Specific File Types node, modify: if (mimeType === 'application/pdf' || mimeType === 'text/xml' || mimeType === 'image/jpeg') { // Process file } Custom Urgency Keywords Update the AI classifier prompt with your business-specific urgent terms: Keywords: "URGENT", "EMERGENCY", "CRITICAL", "ASAP", "IMMEDIATE" Custom terms: "CLIENT ESCALATION", "SYSTEM DOWN", "LEGAL DEADLINE" Response Templates Customize the response generator with your company voice: Greeting style: "Hi [Name]" vs "Dear [Name]" Closing: "Best Regards" vs "Thank you" vs "Cheers" Company-specific phrases and terminology Integration Options CRM Systems**: Add nodes to create tasks in your CRM Project Management**: Auto-create tickets in Jira, Asana, etc. Calendar Integration**: Schedule follow-ups automatically Slack/Teams**: Alternative notification channels 🚨 Troubleshooting Common Issues 1. Gmail Authentication Errors Verify OAuth2 credentials are active Check Gmail API quotas Ensure proper scopes are configured 2. AI Classification Inconsistency Review and refine classification prompts Add more specific examples Adjust confidence thresholds 3. Response Generation Problems Validate AI model configuration Check API key and quotas Test with simpler email examples 4. Attachment Upload Failures Verify Google Drive permissions Check folder ID configuration Ensure sufficient storage space 5. Missing Notifications Test Telegram bot configuration Verify chat ID is correct Check urgency classification logic Performance Optimization Rate Limiting**: Gmail has API quotas - monitor usage Batch Processing**: Workflow processes one email at a time Error Handling**: Built-in retry logic for reliability Resource Management**: Monitor AI API costs and usage 📈 Best Practices 1. Email Management Regular Monitoring**: Review classifications weekly Label Hygiene**: Keep Gmail labels organized Feedback Loop**: Manually correct misclassifications Archive Strategy**: Set up auto-archiving for processed emails 2. AI Optimization Prompt Engineering**: Continuously refine AI instructions Example Training**: Add specific examples for your business Context Limits**: Monitor token usage and costs Model Selection**: Choose appropriate AI model for your needs 3. Security Considerations Credential Management**: Regularly rotate API keys Data Privacy**: Review what data is sent to AI services Access Control**: Limit workflow access to authorized users Audit Logging**: Monitor workflow executions 4. Workflow Maintenance Regular Updates**: Keep n8n and node versions current Backup Strategy**: Export workflow configurations regularly Documentation**: Keep setup notes and customizations documented Testing**: Test major changes in development environment first 🤝 Contributing to the Community This workflow template demonstrates: Comprehensive AI Integration**: Multiple AI touchpoints working together Production-Ready Architecture**: Error handling, retry logic, and monitoring Extensive Documentation**: Clear setup and customization guidance Flexible Configuration**: Adaptable to different business needs Best Practice Examples**: Security, performance, and maintenance considerations 📄 License & Support This workflow is provided free to the n8n community under MIT License. Community Resources: n8n Community Forum for questions GitHub Issues for bug reports Documentation updates welcome Professional Support: For enterprise deployments or custom modifications, consider: n8n Cloud for managed hosting Professional services for complex integrations Custom AI model training for specific use cases Transform your email workflow today! 🚀 This AI Email Assistant reduces email processing time by up to 90% while ensuring no important message goes unnoticed. Perfect for busy professionals who want to stay responsive without being overwhelmed by their inbox.
by franck fambou
Overview This intelligent chatbot workflow enables natural language conversations with your documents, supporting multiple file formats including PDFs, Word documents, Excel spreadsheets, and text files. Built with advanced RAG (Retrieval-Augmented Generation) technology, this chatbot can understand, analyze, and answer questions about your document content with contextual accuracy and intelligent responses. How It Works Intelligent Document Processing & Conversation Pipeline: Multi-Format Document Ingestion**: Automatically processes and indexes various document formats (PDF, DOCX, XLSX, TXT, etc.) Smart Content Chunking**: Breaks down documents into meaningful segments while preserving context and relationships Vector Database Storage**: Creates searchable embeddings for fast and accurate information retrieval Contextual Conversation Engine**: Uses AI to understand user queries and retrieve relevant document sections Natural Language Responses**: Generates human-like responses with citations and source references Multi-Turn Conversations**: Maintains conversation history and context across multiple interactions Real-Time Processing**: Instant responses with live document updates and dynamic content refresh Setup Instructions Estimated Setup Time: 15-20 minutes Prerequisites n8n instance (v0.200.0 or higher recommended) OpenAI/Gemini API key for embeddings and chat completion Vector database service (optional: Pinecone, Weaviate, or Qdrant) File storage service (optional: Google Drive, Dropbox, AWS S3) Web server for chatbot interface (optional) Configuration Steps Configure Document Input Sources Set up file upload webhook for direct document submission Configure cloud storage watchers for automatic document processing Add support for multiple file formats and size limits Set up document validation and security checks Setup Document Processing Pipeline Configure text extraction engines for different file types Set up intelligent chunking parameters (chunk size, overlap, boundaries) Add metadata extraction for document categorization Configure OCR for scanned documents (optional) Configure Vector Database Set up your chosen vector database credentials Configure embedding model settings (Gemini models/text-embedding-004 recommended) Set up collection/index structure for document storage Configure search parameters and similarity thresholds Setup AI Chat Engine Add your AI service API credentials (Gemini, Claude, etc.) Configure conversation prompts and system instructions Set up context window management and token optimization Add response formatting and citation rules Configure Chat Interface Set up webhook endpoints for chat API Configure session management and conversation history Add authentication and rate limiting (optional) Set up real-time updates and streaming responses Setup Monitoring & Analytics Configure conversation logging and analytics Set up performance monitoring for response times Add usage tracking and cost monitoring Configure error handling and failover mechanisms Use Cases Business & Enterprise Knowledge Base Queries**: Ask questions about company policies, procedures, and documentation Contract Analysis**: Query legal documents, contracts, and compliance materials Training Materials**: Interactive learning with training manuals and educational content Financial Reports**: Analyze and discuss financial statements, budgets, and forecasts Research & Academia Research Paper Analysis**: Discuss findings, methodologies, and citations from academic papers Literature Reviews**: Compare and contrast multiple research documents Thesis Support**: Get insights from reference materials and research data Grant Proposals**: Analyze requirements and optimize proposal content Legal & Compliance Legal Document Review**: Query contracts, agreements, and legal texts Regulatory Compliance**: Understand compliance requirements from regulatory documents Case Law Research**: Analyze legal precedents and court decisions Policy Analysis**: Interpret organizational policies and procedures Technical Documentation API Documentation**: Interactive queries about technical specifications User Manuals**: Get help and guidance from product documentation Code Documentation**: Understand codebases and technical implementations Troubleshooting Guides**: Interactive problem-solving with technical guides Personal Productivity Document Summarization**: Get quick summaries of long documents Information Extraction**: Find specific data points across multiple documents Content Research**: Research topics across your personal document library Meeting Notes**: Query and analyze meeting transcripts and notes Key Features Advanced Document Processing Multi-Format Support**: PDF, DOCX, XLSX, TXT, PPTX, and more Intelligent Chunking**: Context-aware document segmentation Metadata Extraction**: Automatic categorization and tagging OCR Integration**: Process scanned documents and images with text Intelligent Conversation Contextual Understanding**: Maintains conversation context and document relationships Source Attribution**: Provides citations and references for all answers Multi-Document Queries**: Compare and analyze across multiple documents Follow-up Questions**: Natural conversation flow with clarifying questions Performance & Scalability Fast Retrieval**: Vector-based semantic search for instant responses Scalable Architecture**: Handle large document collections efficiently Batch Processing**: Process multiple documents simultaneously Caching System**: Optimized response times with intelligent caching Security & Privacy Document Encryption**: Secure storage and transmission of sensitive documents Access Control**: User-based permissions and document access restrictions Audit Logging**: Complete conversation and access audit trails Data Retention**: Configurable data retention and deletion policies Technical Architecture Document Processing Flow File Upload → Format Detection → Text Extraction → Content Chunking Metadata Extraction → Embedding Generation → Vector Storage → Index Creation Conversation Flow User Query → Intent Analysis → Vector Search → Context Retrieval Response Generation → Source Attribution → Answer Formatting → Delivery Supported File Formats Documents**: PDF, DOC, DOCX, RTF, TXT, MD Spreadsheets**: XLS, XLSX, CSV Presentations**: PPT, PPTX Images**: PNG, JPG (with OCR) Archives**: ZIP (auto-extracts supported formats) Web**: HTML, XML Integration Options Chat Interfaces Web Widget**: Embeddable chat widget for websites API Endpoints**: RESTful API for custom integrations Slack/Teams**: Direct integration with team collaboration tools Mobile Apps**: API-first design for mobile application integration Data Sources Cloud Storage**: Google Drive, Dropbox, OneDrive, AWS S3 Document Systems**: SharePoint, Confluence, Notion Email**: Process attachments from email systems CRM/ERP**: Integration with business systems Performance Specifications Response Time**: < 3 seconds for typical queries Document Capacity**: Supports collections of 10,000+ documents Concurrent Users**: Scales to handle multiple simultaneous conversations Accuracy**: >90% relevance for domain-specific queries Advanced Configuration Options Customization Custom Prompts**: Tailor AI behavior for specific use cases Branding**: Customize chat interface with your company branding Language Support**: Multi-language document processing and responses Domain Expertise**: Fine-tune for specific industries or domains Analytics & Monitoring Usage Analytics**: Track popular queries and document usage Performance Metrics**: Monitor response times and accuracy User Feedback**: Collect ratings and improve responses A/B Testing**: Test different configurations and prompts Troubleshooting & Support Common Issues Slow Responses**: Check vector database performance and API limits Inaccurate Answers**: Review chunking strategy and embedding quality Format Errors**: Verify document formats and processing capabilities Memory Issues**: Monitor token usage and context window limits Optimization Tips Use clear, specific questions for best results Ensure documents are well-formatted with proper headers Regular vector database maintenance for optimal performance Monitor API usage to optimize costs and performance
by Davidson Ahuruezenma
AI-Powered Academic Assignment Generator This n8n workflow template automates the complete academic assignment generation process from student queries to professional document delivery. Students submit assignment requests via Telegram, and the workflow generates comprehensive, plagiarism-free academic content using Google Gemini AI, formats it into professional PDF documents, and delivers downloadable links while maintaining complete records. What does this workflow do? 📱 Telegram Integration**: Receives structured assignment requests from students 🤖 AI Content Generation**: Creates comprehensive academic answers (500+ words per question) 📄 Professional Formatting**: Generates university-standard HTML/PDF documents ☁️ Cloud Storage**: Automatically stores files in organized Google Drive folders 📊 Record Keeping**: Maintains complete assignment database in Google Sheets 🔄 End-to-End Automation**: Complete pipeline from query to document delivery How it works The workflow processes student assignment requests through 16 interconnected nodes, handling everything from input parsing to final document delivery: Input → AI Processing → Document Generation → Storage & Delivery Setup Requirements Credentials needed: Telegram Bot Token** (for receiving/sending messages) Google Gemini API Key** (for AI content generation) Google Sheets API** (for record keeping) Google Drive API** (for file storage) PDFCrowd API** (for PDF conversion) Pre-setup steps: Create a Telegram bot and obtain the bot token Set up Google Drive folder structure for file organization Create Google Sheets template with proper column headers Configure API rate limits and usage quotas Workflow Breakdown 🔌 Input Processing Nodes Student Query Intake Bot (Telegram Trigger) Student Query Intake Bot (Telegram Trigger) Listens for incoming student messages with assignment details Monitors specific chat ID for authorized users Triggers workflow when structured assignment requests are received Structured Data Parser (Code Node) Extracts student information using regex patterns Parses: Name, Faculty, Department, Level, Course, Registration Number Automatically sets current date and handles missing data Outputs clean JSON structure for AI processing 🤖 AI Processing Nodes Student Assignment Auto-Composer (LangChain Agent) Main AI orchestrator for assignment generation Uses structured prompts for consistent academic formatting Generates 500-word answers per question with APA citations Ensures plagiarism-free, original academic content Generator Model (Google Gemini Chat) Primary AI model for high-quality content generation Handles complex academic writing and formatting requirements Fallback Model Generator (Google Gemini - Gemma) Backup AI model ensuring workflow reliability Activates when primary model encounters issues Structured Output Parser (LangChain) Validates AI-generated content against JSON schema Enforces required field compliance and format consistency Auto-fixes common formatting issues 🔧 Processing & Error Handling Error Handler (Code Node) Handles text processing errors and data type issues Converts non-string values and provides error recovery Ensures workflow continuity even with problematic data Wait Node Introduces strategic 2-second delay for processing stability Allows AI processing to complete before next steps 📊 Data Management Nodes Edit Fields (Set Node) Maps AI output to Google Sheets column structure Ensures data consistency for database storage Long Essay Record Sheet (Google Sheets) Stores complete assignment records with metadata Maintains comprehensive student assignment database Uses Name field as unique identifier for record updates 📄 Document Generation Nodes Static HTML Builder (LangChain Agent) Converts structured data into professional HTML documents Applies academic formatting: Times New Roman, 12pt, double-spaced Creates university-standard document structure HTTP Request (PDF Conversion) Converts HTML to high-quality PDF using PDFCrowd API Maintains academic formatting and professional appearance Uses student name for file identification ☁️ Storage & Delivery Nodes Upload File (Google Drive) Stores generated PDFs in organized Drive folders Creates shareable links for easy access Maintains systematic file organization Send Text Message (Telegram) Delivers Google Drive download link to student Completes the automation cycle with instant access Input Format Students should format their Telegram messages as follows: Name: John Doe Faculty: Engineering Department: Computer Science Level: 200L Course: CSC 201 - Data Structures Reg number: 2024001234 Question: Explain the concept of Big O notation Compare different sorting algorithms Discuss the applications of binary trees Features ✨ Intelligent Processing Smart Input Parsing**: Handles unstructured text inputs automatically Multi-Question Support**: Processes complex assignment requirements Data Validation**: Ensures complete and accurate information capture 🎓 Academic Excellence University Standards**: Professional formatting and citation styles Original Content**: Plagiarism-free AI-generated assignments Comprehensive Answers**: 500+ words per question with detailed explanations 🛡️ Reliability & Error Handling Fallback Systems**: Multiple AI models for continuous operation Error Recovery**: Automatic handling of processing issues Data Integrity**: Schema validation and field verification Use Cases This workflow template is perfect for: 📚 Educational Institutions**: Automate student assignment processing and grading assistance 👨🎓 Academic Support Services**: Provide structured learning assistance and content generation 🏫 Online Learning Platforms**: Integrate assignment automation into educational systems 📝 Content Creation Services**: Generate academic-quality content for educational purposes 🤖 AI Learning Projects**: Implement complex AI workflows with multiple service integrations Output Examples Generated Assignment Features: Professional formatting** with Times New Roman, 12pt font, double-spacing Complete academic structure** including headers, student information, questions, and references Comprehensive answers** averaging 500+ words per question with detailed explanations Proper citations** in APA format with authentic academic references PDF delivery** through shareable Google Drive links Database Records: Complete student information tracking Assignment question and answer storage Timestamp and metadata preservation Easy retrieval and analysis capabilities Performance & Reliability Processing Time: 2-3 minutes per assignment Success Rate: >95% with fallback mechanisms Content Quality: University-standard academic writing Scalability: Handles multiple concurrent requests Error Recovery: Automatic retry and alternative processing paths Customization Options Easily configurable elements: Chat IDs**: Modify for different Telegram groups or users AI Models**: Switch between different Google Gemini models Document Formatting**: Adjust academic standards and styling Storage Locations**: Configure Google Drive folders and naming conventions Database Fields**: Modify Google Sheets columns and data structure Advanced customizations: Add support for different document formats (Word, LaTeX) Integrate additional AI providers (OpenAI, Claude, etc.) Implement grading and feedback mechanisms Add multi-language support Create batch processing capabilities Getting Started Import the workflow into your n8n instance Configure credentials for all required services Set up Telegram bot and obtain necessary permissions Create Google Drive folders and Google Sheets template AI-Powered Academic Assignment Test with sample data to ensure proper functionality Deploy and monitor for production use Tags academic education ai telegram google-sheets pdf-generation automation langchain assignment student-support
by Rishi
🎯 CV Keyword Optimizer An AI-powered n8n workflow that automatically tailors your resume to any job description by injecting relevant keywords — without touching your formatting, layout, or design. How It Works Architecture ┌─────────────────────────────────────────────────────────────────┐ │ User Input (Form) │ │ CV Google Docs Link + Job URL or Pasted JD │ └──────────────────────────┬──────────────────────────────────────┘ │ ▼ ┌──────────────────────────────────────────────────────────────────┐ │ 1. Read CV from Google Docs API │ │ 2. Extract full CV text (handles tables, paragraphs, etc.) │ └──────────────────────────┬───────────────────────────────────────┘ │ ▼ ┌──────────────────────────────────────────────────────────────────┐ │ 3. Get Job Description │ │ ├── URL provided? → Scrape job page, strip HTML to text │ │ │ └── Scrape failed? → Fall back to manual JD │ │ └── No URL? → Use manually pasted JD directly │ └──────────────────────────┬───────────────────────────────────────┘ │ ▼ ┌──────────────────────────────────────────────────────────────────┐ │ 4. 🏠 Local Ollama (llama3.1:8b) │ │ Analyzes JD + CV → Extracts & ranks 10-20 ATS keywords │ │ Output: keyword, priority, target bullet, reason │ └──────────────────────────┬───────────────────────────────────────┘ │ ▼ ┌──────────────────────────────────────────────────────────────────┐ │ 5. ☁️ Groq API (Llama 3.3 70B) │ │ Takes ranked keywords + CV → Produces find/replace pairs │ │ Naturally weaves keywords into experience bullet points │ └──────────────────────────┬───────────────────────────────────────┘ │ ▼ ┌──────────────────────────────────────────────────────────────────┐ │ 6. Copy original CV via Google Drive API │ │ (preserves ALL formatting, tables, styles) │ │ │ │ 7. Apply replacements via Google Docs batchUpdate API │ │ (replaceAllText — formatting stays intact) │ └──────────────────────────┬───────────────────────────────────────┘ │ ▼ ┌──────────────────────────────────────────────────────────────────┐ │ 8. Output │ │ ✅ New Google Doc link │ │ 📋 Changelog: original text → updated text + keywords added │ └──────────────────────────────────────────────────────────────────┘ Why Two AI Models? | Step | Model | Why | |------|-------|-----| | Keyword Extraction | Ollama llama3.1:8b (local) | Free, private, no API costs. Reasoning about which keywords actually matter for ATS | | Text Rewriting | Groq llama-3.3-70b-versatile (cloud) | Larger model = better at natural language. Produces find/replace pairs that read naturally | What Gets Modified ✅ Experience/work bullet points ✅ Skills/technical skills lines ❌ Name, contact info, education, dates, company names, job titles — never touched Formatting Preservation The workflow copies your original Google Doc (not recreates it), then uses replaceAllText to swap text in-place. This means: ✅ Tables, columns, fonts, colors — all preserved ✅ Bold, italic, underline — all preserved ✅ Custom spacing, margins — all preserved ✅ Original doc is untouched (changes go to the copy) Setup Steps Prerequisites Docker installed Ollama installed locally A Groq API key (free tier works) Google account with Docs & Drive access 1. Install & Start Ollama macOS brew install ollama Start the Ollama server ollama serve Pull the model (in another terminal) ollama pull llama3.1:8b Verify it's running: curl http://localhost:11434/api/tags 2. Get a Groq API Key Go to console.groq.com Sign up / log in Navigate to API Keys → Create a new key Copy the key (starts with gsk_...) 3. Configure Environment cd cv-generator Create .env from template cp .env.example .env Edit .env and add your Groq key GROQ_API_KEY=gsk_your_key_here 4. Start n8n docker compose up -d n8n will be available at http://localhost:5678 Default credentials: Username: admin Password: changeme > ⚠️ Change these in docker-compose.yml for production use. 5. Import the Workflow Open n8n at http://localhost:5678 Go to Workflows → Import from File Select cv-keyword-optimizer.json You'll see credential warnings on some nodes — that's expected 6. Set Up Google Credentials In n8n, go to Settings → Credentials Create a Google Docs OAuth2 credential Follow n8n's OAuth2 setup guide for Google Required scopes: https://www.googleapis.com/auth/documents Create a Google Drive OAuth2 credential Required scopes: https://www.googleapis.com/auth/drive Click each node with a ⚠️ warning → select your credential from the dropdown 7. Activate & Use Toggle the workflow Active Open the form URL shown in the trigger node (or go to http://localhost:5678/form/cv-keyword-optimizer-form) Fill in: Google Docs CV Link (required) Job Posting URL or Job Description (at least one) Submit and wait ~30-60 seconds Get your optimized CV link + detailed changelog Project Structure cv-generator/ ├── cv-keyword-optimizer.json # n8n workflow definition ├── docker-compose.yml # n8n container config ├── .env # Environment variables (not committed) ├── .env.example # Template for .env ├── .gitignore # Ignores .env └── README.md # This file Troubleshooting | Issue | Solution | |-------|----------| | Ollama connection refused | Make sure ollama serve is running. n8n reaches it via host.docker.internal:11434 | | Groq 429 rate limit | Free tier has limits. Wait a minute and retry | | Scraping fails on LinkedIn | LinkedIn blocks scrapers. Paste the JD manually instead | | Google Docs auth error | Re-check OAuth2 credentials in n8n. Ensure correct scopes | | Replacements don't apply | The AI's "find" text must exactly match the CV. Check the Changes Summary for what was attempted | | Empty response from Ollama | Model may still be loading. First run takes longer. Timeout is set to 5 min |
by Dinakar Selvakumar
Complete AI support system using website data (RAG pipeline) This template provides a full end-to-end Retrieval-Augmented Generation (RAG) system using n8n. It includes two connected workflows: A data ingestion pipeline that crawls a website and stores its content in a vector database. A customer support chatbot that retrieves this knowledge and answers user queries in real time. Together, these workflows allow you to turn any public website into an intelligent AI-powered support assistant grounded in real business data. Use cases AI customer support chatbot for your website Internal company knowledge assistant Product FAQ automation Helpdesk or IT support bot AI receptionist for services Semantic search over company content How it works Ingestion workflow Discover all URLs from a website sitemap. Filter and normalize the URLs. Fetch each page and extract readable text. Clean HTML into plain text. Split text into overlapping chunks. Generate embeddings using OpenAI. Store vectors in Pinecone with metadata. Chatbot workflow A user sends a message via chat webhook. The agent queries Pinecone for relevant knowledge. Retrieved content is passed to OpenAI. OpenAI generates a grounded response. Short-term memory maintains conversation context. How to use Step 1 – Run ingestion Set your target website URL. Add Firecrawl, OpenAI, and Pinecone credentials. Create a Pinecone index. Execute the ingestion workflow. Wait until all pages are indexed. Step 2 – Run chatbot Deploy the chatbot workflow. Set the same Pinecone index and namespace. Copy the chat webhook URL. Connect it to a website, chat widget, or WhatsApp bot. Start chatting with your AI assistant. Requirements Firecrawl account OpenAI API key Pinecone account and index Public website to crawl Optional: frontend chat interface Good to know The chatbot never answers from memory for business data. All company knowledge comes from Pinecone. If Pinecone returns nothing, the bot fails safely. HTML cleaning is basic and can be replaced with: Mozilla Readability Jina Reader Unstructured Chunk size and overlap affect retrieval quality. Pinecone can be replaced with: Qdrant Weaviate Supabase Vector Chroma Customising this workflow You can extend this system by: Adding PDF or document loaders Scheduling ingestion daily or weekly Connecting CRM or ticketing systems Adding appointment booking tools Switching to local or open-source models Adding multilingual support Storing raw content in a database Adding feedback or logging What this n8n template demonstrates Real-world RAG architecture Web crawling pipelines Text chunking strategies Vector database integration AI agent orchestration Memory-controlled conversations Production-grade AI support systems End-to-end AI infrastructure with n8n Architecture overview This template follows a modern AI system design: Website → Ingestion → Embeddings → Pinecone → Retrieval → OpenAI → User It separates: Data preparation (offline) Knowledge storage Runtime inference This makes the system scalable, maintainable, and safe for production use. Need a custom setup? If you want a similar AI system built for your business (custom data sources, CRM integration, WhatsApp bots, booking systems, dashboards, or private deployments), feel free to reach out at dinakars2003@gmail.com. I help companies design and deploy production-ready AI workflows.
by Cristian Baño Belchí
How it works: Accesses a target website, searches for new PDFs, and downloads them automatically. Extracts content from each PDF and sends it to an AI for summarization. Delivers the AI-generated summary directly to a Discord channel. Marks processed URLs in Google Sheets to avoid duplicates. Set up steps: Configure the website URL in the HTTP Request node. Connect to Google Cloud API (enable Drive & Sheets) and link your spreadsheet. Set up an OpenRouter API key and choose your preferred AI model. Create a Discord webhook for notifications.