by Ludwig
How it works This workflow enables companies to provide instant HR support by automating responses to employee queries about policies and benefits: Retrieves company policies, benefits, and HR documents from BambooHR. Uses AI to analyze and answer employee questions based on company records. Identifies the most relevant contact person for escalations. Seamlessly integrates with company systems to provide real-time HR assistance. Set up steps: Estimated time: ~20 minutes Connect your BambooHR account to allow policy retrieval. Configure AI parameters and access control settings. (Optional) Set up the employee lookup tool for personalized responses. Test the chatbot to ensure accurate responses and seamless integration. Benefits This workflow is perfect for HR teams looking to enhance employee support while reducing manual inquiries. Outperform BambooHR's "Ask BambooHR" Chatbot #1. Superior specificity of replies to general inquiries #2. More appropriate escalations when responding to sensitive employee concerns
by Iniyavan JC
How it works This workflow creates a multi-talented AI assistant named Simran that interacts with users via Telegram. It can handle text and voice messages, understand the user's intent, and perform various tasks. Step 1: Receive & Transcribe Input The workflow triggers on any new Telegram message. If it's a voice message, it uses AssemblyAI to transcribe it into text; otherwise, it processes the incoming text directly. Step 2: Understand User Intent Using a Large Language Model (LLM), the workflow analyzes the user's message to determine their goal, categorizing it as a general chat, a request to generate an image, a command to set a reminder, or a request to remember a specific piece of information. Step 3: Fetch Context & Route The assistant retrieves past conversation summaries from a MongoDB database to maintain context. Based on the user's intent, the workflow routes the task to the appropriate path. Step 4: Execute the Task Chat: Generates a response using an AI agent whose personality can be toggled between a standard assistant and a "Girlfriend Mode." It also analyzes the user's mood to tailor the response. Generate Image: Creates a detailed prompt and uses an image generation API to create and send a picture. Set Reminder: Parses the natural language request, creates an event in Google Calendar and a task in Google Tasks, and sends a confirmation. Remember Info: Saves specific user-provided information to a dedicated memory collection in MongoDB. Step 5: Respond and Save Memory The final output (text, voice message, or image) is sent back to the user on Telegram. The workflow then summarizes the interaction and saves it to the database to ensure continuity in future conversations. Set up steps Estimated Set up time: 20 - 30 minutes. Configure Credentials: You will need to add credentials for several services in your n8n instance: Telegram (Bot API Token) AssemblyAI (API Key) MongoDB Google (for Calendar, Tasks, Sheets, and Natural Language API) A Large Language Model (the workflow uses Google Gemini but can be adapted) An image generation service (the workflow uses the Together.xyz API) Set up External Services: Ensure your MongoDB instance has two collections: user_memory and memory_auto. Create a Google Sheet to manage the "Girlfriend Mode" status for different users. Ensure edge-tts is installed on the machine running your n8n instance for the text-to-speech functionality. Customize Nodes: Review the nodes with hardcoded IDs, such as Google Tasks and Google Sheets, and update them with your specific Task List ID and Sheet ID. The sticky notes inside the workflow provide more detailed instructions for specific nodes and segments.
by Rod
Telegram Personal Assistant with Long-Term Memory & Note-Taking This n8n workflow transforms your Telegram bot into a powerful personal assistant that handles voice, photo, and text messages. The assistant uses AI to interpret messages, save important details as long-term memories or notes in a Baserow database, and recall information for future interactions. 🌟 How It Works Message Reception & Routing Telegram Integration: The workflow is triggered by incoming messages on your Telegram bot. Dynamic Routing: A switch node inspects the message to determine whether it's voice, text, or photo (with captions) and routes it for the appropriate processing. Content Processing Voice Messages: Audio files are retrieved and sent to an AI transcription node to convert spoken words into text. Text Messages: Text is directly captured and prepared for analysis. Photos: If an image is received, the bot fetches the file (and caption, if provided) and uses an AI-powered image analysis node to extract relevant details. AI-Powered Agent & Memory Management The core AI agent (powered by GPT-4o-mini) processes the incoming message along with any previous conversation history stored in PostgreSQL memory buffers. Long-Term Memory: When a message contains personal or noteworthy information, the assistant uses a dedicated tool to save this data as a long-term memory in Baserow. Note-Taking: For specific instructions or reminders, the assistant saves concise notes in a separate Baserow table. The AI agent follows defined rules to decide which details are saved as memories and which are saved as notes. Response Generation After processing the message and updating memory/notes as needed, the AI agent crafts a contextual and personalized response. The response is sent back to the user via Telegram, ensuring smooth and natural conversation flow. 🚀 Key Features Multimodal Input:** Seamlessly handles voice, photo (with captions), and text messages. Long-Term Memory & Note-Taking:** Uses a Baserow database to store personal details and notes, enhancing conversational context over time. AI-Driven Contextual Responses:** Leverages an AI agent to generate personalized, context-aware replies based on current input and past interactions. User Security & Validation:** Incorporates validation steps to verify the user's Telegram ID before processing, ensuring secure and personalized interactions. Easy Baserow Setup:** Comes with a clear setup guide and sample configurations to quickly integrate Baserow for managing memories and notes. 🔧 Setup Guide Telegram Bot Setup: Create your bot via BotFather and obtain the Bot Token. Configure the Telegram webhook in n8n with your bot's token and URL. Baserow Database Configuration: Memory Table: Create a workspace titled "Memories and Notes". Set up a table (e.g., "Memory Table") with at least two fields: Memory (long text) Date Added (US date format with time) Notes Table: Duplicate the Memory Table and rename it to "Notes Table". Change the first field's name from "Memory" to "Notes". n8n Workflow Import & Configuration: Import the workflow JSON into your n8n instance. Update credentials for Telegram, Baserow, OpenAI, and PostgreSQL (for memory buffering) as needed. Adjust node settings if you need to customize AI agent prompts or memory management rules. Testing & Deployment: Test your bot by sending various message types (text, voice, photo) to confirm that the workflow processes them correctly, updates Baserow, and returns the appropriate response. Monitor logs to ensure that memory and note entries are correctly stored and retrieved. ✨ Example Interactions Voice Message Processing:** User sends a voice note requesting a reminder. Bot Response: "Thanks for your message! I've noted your reminder and saved it for future reference." Photo with Caption:** User sends a photo with the caption "Save this recipe for dinner ideas." Bot Response: "Got it! I've saved this recipe along with the caption for you." Text Message for Memory Saving:** User: "I love hiking on weekends." Bot Response: "Noted! I’ll remember your interest in hiking." Retrieving Information:** User asks: "What notes do I have?" Bot Response: "Here are your latest notes: [list of saved notes]." 🛠️ Resources & Next Steps Telegram Bot Configuration:** Telegram BotFather Guide n8n Documentation:** n8n Docs Community Forums:** Join discussions and share your customizations! This workflow not only streamlines message processing but also empowers users with a personal AI assistant that remembers details over time. Customize the rules and responses further to fit your unique requirements and enjoy a more engaging, intelligent conversation experience on Telegram!
by LukaszB
AI Twitter Content Machine – Write, Refine & Publish Tweets on Autopilot This workflow is perfect for creators, solopreneurs, and personal brands who want to consistently publish bold, high-performing content on X (Twitter) — without writing a single line themselves. After a one-time setup, it automatically generates tweet ideas, writes in your voice, evaluates post quality, avoids duplicates, and publishes directly to Twitter. All approvals and rewrites are handled in a conversational loop powered by OpenAI, Discord, and Google Sheets. Whether you’re building a personal brand or growing your startup audience, this tool will help you stay active, edgy, and relevant — with zero friction. How it works Distill what your flow does in a few high-level steps. Loads your brand brief from a sub-workflow. Generates a tweet idea aligned with your tone. Checks Google Sheets to ensure the idea hasn’t been used. Writes the post. Evaluates it using a feedback sub-workflow — if the quality score is below 0.7, it rewrites the post. Refines tone and voice using a Rewriter Agent that mimics your past content (from a Google Sheet). Sends the final post to a Discord channel for manual approval. On approval, posts directly to Twitter (X) and logs it to Google Sheets (History and Examples tabs). Set up steps Give users an idea of how long setup will take. Don’t describe every detail. Keep detailed descriptions in sticky notes inside your workflow. Key benefits No burnout, no block – Stop spending energy thinking what to tweet. AI handles everything. Style-matching – Posts sound like you, not a generic robot. Based on your real writing. Fast & scalable – Publish once or five times a day — it’s up to you. Avoid duplicates – Each idea is checked against your post history. Human-in-the-loop – You approve final posts via Discord. No rogue tweets. Integrations required n8n OpenAI API Google Sheets Twitter (OAuth2) Discord (for approval) Notion (optional for brand brief storage)
by Jimleuk
This n8n template builds a simple automation to ensure no JIRA issues go unassigned for more than a week to prevent them falling through the cracks. It uses AI to perform searching tasks against a Supabase Vector Store. This can be one way to help reduce the amount of manual work in managing the issue backlog for busy teams with little effort. How it works This template contains 2 separate flows which run continuously via schedule triggers. The first populates our Supabase vector store with resolved issues within the last day. This helps keep our vector store up-to-date and relevant for the purpose of finding similar issues. It does this by pulling the latest resolved issues from JIRA and populating the Supabase vectorstore with carefully chosen metadata. This will come in handy later. The second flow watches for stale, unassigned issues for the purpose of aut-assigning to a relevant team member. It does this by comparing the stale issue against our vector store of resolved issues with the goal of identifying which team member would have best context regarding the issue. In a busy team, this may net a few team members as possible candidates to assign. Therefore, we can introduce additional logic to count each team member's assigned, in-progress issues. This is intended to not overload our busiest members. The team member with the least assigned issues is pressumed to have the most capacity and therefore is assigned. A comennt is left in the issue to notify the team member that they've been auto-assigned due to age of issue. How to use Modify the project and interval parameters to match those of your use-case and team members. Add additional criteria before assigning to a team member eg. department, as required. Requirements OpenAI for LLM JIRA for Issue Management Supabase for Vector Store Customising this workflow Not using JIRA or Supabase? The beauty of these AI templates are these components are entirely interchangeable with competing services. Try Linear and Qdrant instead! Auto-assigning logic is simplified in this template. Expand criteria as required for your team and organisation. eg. Might be a good idea to pull in annual leave information from HR system to prevent assigning to someone who is on currently on holiday!
by Davide
This workflow automates the creation and management of a Retrieval-Augmented Generation (RAG) system using Qdrant as a vector store and Google Drive as the document source. It enables full or incremental updates to documents in the Qdrant vector database and integrates with a chatbot using Google Gemini for question answering. Here is a clear and professional description in English of the n8n workflow “Create a RAG with Qdrant and update single files”, including its benefits: Benefits Efficient RAG Setup** Seamlessly integrates OpenAI, Qdrant, and Google Drive to create a scalable RAG pipeline. Single File Update** You can replace the vector representation of a single file without reprocessing the entire collection—ideal for maintaining document freshness. Flexible File Source** Works with Google Drive, allowing document management and updates from a familiar interface. How It Works This workflow is designed to create a Retrieval-Augmented Generation (RAG) system using Qdrant as a vector store and Google Drive as a document source. It consists of four main phases: Collection Setup**: Creates or clears a Qdrant collection to store vectorized documents. Configures the collection with cosine distance metrics and other parameters. Document Processing**: Retrieves files from a specified Google Drive folder. Downloads and processes each file (text extraction, chunking, and embedding using OpenAI). Stores the embeddings in Qdrant for vector search. Single-File Update**: Allows updating or deleting a specific file in the Qdrant collection by referencing its Google Drive ID. Re-embeds the file and updates the vector store. RAG Querying**: Uses a chat trigger to receive user questions. Retrieves relevant documents from Qdrant using vector similarity. Generates answers using Google Gemini as the language model. Set Up Steps Configure Qdrant: Replace QDRANTURL and COLLECTION in the "Create collection" and "Clear collection" HTTP nodes. Ensure Qdrant API credentials are correctly set in the credentials section. Google Drive Integration: Specify the Google Drive folder ID in the "Get files" node. Ensure Google Drive OAuth credentials are configured. OpenAI and Gemini Keys: Add OpenAI API credentials for embeddings (used in "Embeddings OpenAI" nodes). Configure Google Gemini credentials for the chat model. Single-File Update: Set the file_id in the "Edit Fields3" node to target a specific Google Drive file for updates. Testing: Trigger the workflow manually to populate the Qdrant collection. Use the chat interface to test RAG responses. Need help customizing? Contact me for consulting and support or add me on Linkedin.
by Jimleuk
This n8n workflow automates the process of parsing and extracting data from PDF invoices. With this workflow, accounts and finance people can realise huge time and cost savings in their busy schedules. Read the Blog: https://blog.n8n.io/how-to-extract-data-from-pdf-to-excel-spreadsheet-advance-parsing-with-n8n-io-and-llamaparse/ How it works This workflow will watch an email inbox for incoming invoices from suppliers It will download the attached PDFs and processing them through a third party service called LlamaParse. LlamaParse is specifically designed to handle and convert complex PDF data structures such as tables to markdown. Markdown is easily to process for LLM models and so the data extraction by our AI agent is more accurate and reliable. The workflow exports the extracted data from the AI agent to Google Sheets once the job complete. Requirements The criteria of the email trigger must be configured to capture emails with attachments. The gmail label "invoice synced" must be created before using this workflow. A LlamaIndex.ai account to use the LlamaParse service. An OpenAI account to use GPT for AI work. Google Sheets to save the output of the data extraction process although this can be replaced for whatever your needs. Customizing this workflow This workflow uses Gmail and Google Sheets but these can easily be swapped out for equivalent services such as Outlook and Excel. Not using Excel? Simple redirect the output of the AI agent to your accounting software of choice.
by Edisson Garcia
🚀 Message-Batching Buffer Workflow (n8n) This workflow implements a lightweight message-batching buffer using Redis for temporary storage and a JavaScript consolidation function to merge messages. It collects incoming user messages per session, waits for a configurable inactivity window or batch size threshold, consolidates buffered messages via custom code, then clears the buffer and returns the combined response—all without external LLM calls. 🔑 Key Features Redis-backed buffer** queues incoming messages per context_id. Centralized Config Parameters** node to adjust thresholds and timeouts in one place. Dynamic wait time** based on message length (configurable minWords, waitLong, waitShort). Batch trigger** fires on inactivity timeout or when buffer_count ≥ batchThreshold. Zero-cost consolidation** via built-in JavaScript Function (consolidate buffer)—no GPT-4 or external API required. ⚙️ Setup Instructions Extract Session & Message Trigger: When chat message received (webhook) or When clicking ‘Test workflow’ (manual). Map inputs: set variables context_id and message into a Set node named Mock input data (for testing) or a proper mapping node in production. Config Parameters Add a Set node Config Parameters with: minWords: 3 # Word threshold waitLong: 10 # Timeout (s) for long messages waitShort: 20 # Timeout (s) for short messages batchThreshold: 3 # Messages to trigger batch early All downstream nodes reference these JSON values dynamically. Determine Wait Time Node: get wait seconds (Code) JS code: const msg = $json.message || ''; const wordCount = msg.split(/\s+/).filter(w => w).length; const { minWords, waitLong, waitShort } = items[0].json; const waitSeconds = wordCount < minWords ? waitShort : waitLong; return [{ json: { context_id: $json.context_id, message: msg, waitSeconds } }]; Buffer Message in Redis Buffer messages: LPUSH buffer_in:{{$json.context_id}} with payload {text, timestamp}. Set buffer\_count increment: INCR buffer_count:{{$json.context_id}} with TTL {{$json.waitSeconds + 60}}. Set last\_seen: record last_seen:{{$json.context_id}} timestamp with same TTL. Check & Set Waiting Flag Get waiting\_reply: if null, Set waiting\_reply to true with TTL {{$json.waitSeconds}}; else exit. Wait for Inactivity WaitSeconds (webhook): pauses for {{$json.waitSeconds}} seconds before batch evaluation. Check Batch Trigger Get last\_seen and Get buffer\_count. IF (now - last_seen) ≥ waitSeconds * 1000 OR buffer_count ≥ batchThreshold, proceed; else use Wait node to retry. Consolidate Buffer consolidate buffer (Code): const j = items[0].json; const raw = Array.isArray(j.buffer) ? j.buffer : []; const buffer = raw.map(x => { try { return typeof x === 'string' ? JSON.parse(x) : x; } catch { return null; } }).filter(Boolean); buffer.sort((a, b) => new Date(a.timestamp) - new Date(b.timestamp)); const texts = buffer.map(e => e.text?.trim()).filter(Boolean); const unique = [...new Set(texts)]; const message = unique.join(' '); return [{ json: { context_id: j.context_id, message } }]; Cleanup & Respond Delete Redis keys: buffer_in, buffer_count, waiting_reply, last_seen (for the context_id). Return consolidated message to the user via your chat integration. 🛠 Customization Guidance Adjust thresholds* by editing the *Config Parameters** node. Change concatenation** (e.g., line breaks) by modifying the join separator in the consolidation code. Add filters** (e.g., ignore empty or system messages) inside the consolidation Function. Monitor performance**: for very high volume, consider sharding Redis keys by date or user segments. © 2025 Innovatex • Automation & AI Solutions • innovatexiot.carrd.co • LinkedIn
by Reza Gholizade
This n8n workflow template uses community nodes and is only compatible with the self-hosted version of n8n. Conversational Kubernetes Management with GPT-4o and MCP Integration This workflow enables you to manage Kubernetes clusters conversationally using OpenAI’s GPT-4o and a secure MCP (Model Context Protocol) server. It transforms natural language queries into actionable Kubernetes commands via a lightweight MCP API gateway — perfect for developers and platform engineers seeking to simplify cluster interaction. 🚀 Setup Instructions Import the Workflow Upload this template to your n8n instance. Configure Required Credentials OpenAI API Key: Add your GPT-4o API key in the credentials. MCP Client Node: Set the URL and auth for your MCP server. Test Kubernetes Access Ensure your MCP server is correctly configured and has access to the target Kubernetes cluster. 🧩 Prerequisites n8n version 0.240.0 or later Access to GPT-4o via OpenAI A running MCP server Kubernetes cluster credentials configured in your MCP backend ⚠️ Community Nodes Disclaimer This workflow uses custom community nodes (e.g., MCP Client). Make sure to review and trust these nodes before running in production. 🛠️ How It Works A webhook or chat input triggers the conversation. GPT-4o interprets the message and generates structured Kubernetes queries. MCP Client securely sends requests to your cluster. The result is returned and formatted for easy reading. 🔧 Customization Tips Tweak the GPT-4o prompt to match your tone or technical level. Extend MCP endpoints to support new Kubernetes actions. Add alerting or monitoring integrations (e.g., Slack, Prometheus). 🖼️ Template Screenshot 🧠 Example Prompts Show me all pods in the default namespace. Get logs for nginx pod in kube-system. List all deployments in staging. 📎 Additional Resources MCP Server on GitHub OpenAI Documentation n8n Docs Build smarter Kubernetes workflows with the power of AI !
by Andrey
⚠️ DISCLAIMER: This workflow uses the HDW LinkedIn community node, which is only available on self-hosted n8n instances. It will not work on n8n.cloud. Overview This n8n workflow automates the enrichment of CRM contact data with professional insights from LinkedIn profiles. The workflow integrates with both Pipedrive and HubSpot CRMs, finding LinkedIn profiles that match your contacts and updating your CRM with valuable information about their professional background and recent activities. Key Features Multi-CRM Support**: Works with both Pipedrive and HubSpot AI-Powered Data Enrichment**: Uses an advanced AI agent to analyze and summarize professional information Automated Triggers**: Activates when new contacts are added or when enrichment is requested Comprehensive Profile Analysis**: Captures LinkedIn profile summaries and post activity How It Works Triggers The workflow activates in three scenarios: When a new contact is created in CRM When a contact is updated in CRM with an enrichment flag LinkedIn Data Collection Process Email Lookup: First tries to find the LinkedIn profile using the contact's email Advanced Search: If email lookup fails, uses name and company details to find potential matches Profile Analysis: Collects comprehensive profile information Post Analysis: Gathers and analyzes the contact's recent LinkedIn activity CRM Updates The workflow updates your CRM with: LinkedIn profile URL Professional summary (skills, experience, background) Analysis of recent LinkedIn posts and activity Setup Instructions Requirements Self-hosted n8n instance with the HDW LinkedIn community node installed API access to OpenAI (for GPT-4o) Pipedrive and/or HubSpot account HDW API key https://app.horizondatawave.ai Installation Steps Install the HDW LinkedIn Node: npm install n8n-nodes-hdw Follow the detailed instructions at: https://www.npmjs.com/package/n8n-nodes-hdw Configure Credentials: OpenAI: Add your OpenAI API key Pipedrive: Connect your Pipedrive account (if using) HubSpot: Connect your HubSpot account (if using) HDW LinkedIn: Add your API key from https://app.horizondatawave.ai CRM Custom Fields Setup: For Pipedrive: Go to Settings → Data Fields → Contact Fields → + Add Field Create the following custom fields: LinkedIn Profile: Field type - Large text Profile Summary: Field type - Large text LinkedIn Posts Summary: Field type - Large text Need Enrichment: Field type - Single option (Yes/No) Detailed instructions for creating custom fields in Pipedrive: https://support.pipedrive.com/en/article/custom-fields For HubSpot: Go to Settings → Properties → Create property Create the following properties for Contact object: linkedin_url: Field type - Single-line text profile_summary: Field type - Multi-line text linkedin_posts_summary: Field type - Multi-line text need_enrichment: Field type - Checkbox (Boolean) Detailed instructions for creating properties in HubSpot: https://knowledge.hubspot.com/properties/create-and-edit-properties Import the Workflow: Import the "HDW_CRM_Enrichment.json" file into your n8n instance Activate Webhooks: Enable the webhook triggers for your CRM to ensure the workflow activates correctly Customization Options AI Agent Prompts You can modify the system prompts in the "Data Enrichment AI Agent" nodes to: Change the focus of profile analysis Adjust the tone and detail level of summaries Customize what information is extracted from posts CRM Field Mapping The workflow is pre-configured to update specific custom fields in Pipedrive and HubSpot. Update the field/property mappings in: "Update data in Pipedrive" nodes "Update data in HubSpot" node Troubleshooting Common Issues LinkedIn Profile Not Found**: Check if the contact's email is their work email; consider adjusting the search parameters Webhook Not Triggering**: Verify webhook configuration in your CRM Missing Custom Fields**: Ensure all required custom fields are created in your CRM with correct names Rate Limits Be aware of LinkedIn API rate limits (managed by HDW LinkedIn node) Consider implementing delays if processing large batches of contacts Best Practices Use enrichment flags to selectively update contacts rather than enriching all contacts Review and clean contact data in your CRM before enrichment Periodically review the AI-generated summaries to ensure quality and relevance
by Sina
🧠 Who is this for? Startup founders designing creative growth strategies Marketing teams seeking low-cost, high-impact campaigns Consultants and agencies needing fast guerrilla plans Creators exploring AI-powered content and campaigns ❓ What problem does this workflow solve? Building a full guerrilla marketing strategy usually takes hours of brainstorming, validation, and formatting. This template does all of that in minutes using a swarm of AI agents, from idea generation to KPIs, and even kills bad ideas before you waste time on them. ⚙️ What this workflow does Starts with a chat input where you describe your business or idea A “Swarm Intelligence” loop: One AI agent generates guerrilla ideas Another agent critically validates the idea and gives honest feedback If the idea is weak, it asks for a new one If accepted, the swarm continues with 16 AI specialists generating: 🎯 Objectives 🧍♂️ Personas 🎤 Messaging 🧨 Tactics 📢 Channels 🧮 Budget 📊 KPIs 📋 Risk plan and more Merges all chapters into a final Markdown file Lets you download the campaign in seconds 🛠️ Setup Import the workflow to your n8n instance (Optional) Configure your LLM (OpenAI or Ollama) in the “OpenAI Chat Model” node Type your business idea (e.g., “Luxury dog collar brand for Instagram dads”) Wait for flow completion Download the final marketing plan file 🤖 LLM Flexibility (Choose Your Model) Supports any LLM via LangChain: Ollama (LLaMA 3.1, Mistral, DeepSeek) OpenAI (GPT-4, GPT-3.5) To switch models, just replace the “Language Model” node, no other logic needs updating 📌 Notes Output is professional and ready-to-pitch Built-in pessimistic validator filters out bad ideas before wasting time 📩 Need help? Email: sinamirshafiee@gmail.com Happy to support setup or customization!
by Davide
The provided workflow in n8n is designed to create a Business WhatsApp AI RAG (Retrieval-Augmented Generation) Chatbot. How it works: Webhook Setup: The workflow begins by setting up webhooks for verification and response. The Verify webhook receives GET requests and sends back a verification code, while the Respond webhook handles incoming POST requests from Meta regarding WhatsApp messages. Message Handling: Once a message is received, the workflow checks if the incoming JSON contains a user message. If it does, the message is processed further; otherwise, a generic response is sent. AI Agent Interaction: The user's message is passed to the AI Agent node, which uses a conversational agent with a predefined system message tailored for an electronics store. This ensures that the AI provides accurate and professional responses based on the knowledge base. Knowledge Base Utilization: The AI Agent references a knowledge base stored in Qdrant, a vector database. Documents from Google Drive are downloaded, vectorized using OpenAI embeddings, and stored in Qdrant for retrieval during conversations. Response Generation: The AI Agent generates a response using the OpenAI chat model (gpt-4o-mini) and sends it back to the user via WhatsApp. Set up steps: Create Qdrant Collection: Update the QDRANTURL and COLLECTION variables in the workflow. Use the Create collection HTTP request node to initialize the collection in Qdrant. Vectorize Documents: Configure the Get folder and Download Files nodes to fetch documents from a specified Google Drive folder. Use the Embeddings OpenAI node to generate embeddings for the downloaded files. Store the vectorized documents in Qdrant using the Qdrant Vector Store node. Configure Webhooks: Ensure both Verify and Respond webhooks have the same URL. Set the Verify webhook to use the GET HTTP method and the Respond webhook to use the POST HTTP method. Set Up AI Agent: Define the system prompt for the AI Agent, specifying guidelines for product information, technical support, customer service, and knowledge base usage. Link the AI Agent to the OpenAI chat model and configure any additional tools as needed. Test Workflow: Trigger the workflow manually using the When clicking ‘Test workflow’ node to ensure all components are functioning correctly. Monitor the flow of data through the nodes and verify that responses are being generated and sent accurately. By following these steps, the workflow will be fully operational, enabling a robust AI-powered chatbot capable of handling customer inquiries via WhatsApp. Need help customizing? Contact me for consulting and support or add me on Linkedin.