by Jameson Kanakulya
Overview This automated workflow intelligently qualifies interior design leads, generates personalized client emails, and manages follow-up through a human-approval process. Built with n8n, Claude AI, Telegram approval, and Notion database integration. ⚠️ Hosting Options This template works with both n8n Cloud and self-hosted instances. Most nodes are native to n8n, making it cloud-compatible out of the box. What This Template Does Automated Lead Management Pipeline: Captures client intake form submissions from website or n8n forms AI-powered classification into HOT/WARM/COLD categories based on budget, project scope, and commitment indicators Generates personalized outreach emails tailored to each lead type Human approval workflow via Telegram for quality control Email revision capability for rejected drafts Automated client email delivery via Gmail Centralized lead tracking in Notion database Key Features ✅ Intelligent Lead Scoring: Analyzes 12+ data points including budget (AED), space count, project type, timeline, and style preferences ✅ Personalized Communication: AI-generated emails reference specific client details, demonstrating genuine understanding ✅ Quality Control: Human-in-the-loop approval via Telegram prevents errors before client contact ✅ Smart Routing: Different workflows for qualified leads (meeting invitations) vs. unqualified leads (respectful alternatives) ✅ Revision Loop: Rejected emails automatically route to revision agent for improvements ✅ Database Integration: All leads stored in Notion for pipeline tracking and analytics Use Cases Interior design firms managing high-volume lead intake Architecture practices with complex qualification criteria Home renovation companies prioritizing project value Any service business requiring budget-based lead scoring Sales teams needing approval workflows before client contact Prerequisites Required Accounts & API Keys: Anthropic Claude API - For AI classification and email generation Telegram Bot Token - For approval notifications Gmail Account - For sending client emails (or any SMTP provider) Notion Account - For lead database storage n8n Account - Cloud or self-hosted instance Technical Requirements: Basic understanding of n8n workflows Ability to create Telegram bots via BotFather Gmail app password or OAuth setup Notion database with appropriate properties Setup Instructions Step 1: Clone and Import Template Copy this template to your n8n instance (cloud or self-hosted) All nodes will appear as inactive - this is normal Step 2: Configure Form Trigger Open the Client Intake Form Trigger node Choose your trigger type: For n8n forms: Configure form fields matching the template structure For webhook: Copy webhook URL and integrate with your website form Required form fields: First Name, Second Name, Email, Contact Number Project Address, Project Type, Spaces Included Budget Range, Completion Date, Style Preferences Involvement Level, Previous Experience, Inspiration Links Step 3: Set Up Claude AI Credentials Obtain API key from https://console.anthropic.com In n8n: Create new credential → Anthropic → Paste API key Apply credential to these nodes: AI Lead Scoring Engine Personalized Client Outreach Email Generator Email Revision Agent Step 4: Configure Telegram Approval Bot Create bot via Telegram's @BotFather Copy bot token Get your Telegram Chat ID (use @userinfobot) In n8n: Create Telegram credential with bot token Configure Human-in-the-Loop Email Approval node: Add your Chat ID Customize approval message format if desired Step 5: Set Up Gmail Sending Enable 2-factor authentication on Gmail account Generate app password: Google Account → Security → App Passwords In n8n: Create Gmail credential using app password Configure Client Email Delivery node with sender details Step 6: Connect Notion Database Create Notion integration at https://www.notion.so/my-integrations Copy integration token Create database with these properties: Client Name (Title), Email (Email), Contact Number (Phone) Project Address (Text), Project Type (Multi-select) Spaces Included (Text), Budget (Select), Timeline (Date) Classification (Select: HOT/WARM/COLD), Confidence (Select) Estimated Value (Number), Status (Select) Share database with your integration In n8n: Add Notion credential → Paste token Configure Notion Lead Database Manager with database ID Step 7: Customize Classification Rules (Optional) Open AI Lead Scoring Engine node Review classification criteria in the prompt: HOT: 500k+ AED, full renovations, 2+ spaces WARM: 100k+ AED, 2+ spaces COLD: <100k AED OR single space Adjust thresholds to match your business requirements Modify currency if not using AED Step 8: Personalize Email Templates Open Personalized Client Outreach Email Generator node Customize: Company name and branding Signature placeholders ([Your Name], [Title], etc.) Tone and style preferences Alternative designer recommendations for COLD leads Step 9: Test the Workflow Activate the workflow Submit a test form with sample data Monitor each node execution in n8n Check Telegram for approval message Verify email delivery and Notion database entry Step 10: Set Up Error Handling (Recommended) Add error workflow trigger Configure notifications for failed executions Set up retry logic for API failures Workflow Node Breakdown 1. Client Intake Form Trigger Captures lead data from website forms or n8n native forms with all project details. 2. AI Lead Scoring Engine Analyzes intake data using structured logic: budget validation, space counting, and multi-factor evaluation. Returns HOT/WARM/COLD classification with confidence scores. 3. Lead Classification Router Routes leads into three priority workflows based on AI classification, optimizing resource allocation. 4. Sales Team Email Notifier Sends instant alerts to sales representatives with complete lead details and AI reasoning for internal tracking. 5. Personalized Client Outreach Email Generator AI-powered composer creating tailored responses demonstrating genuine understanding of client vision, adapted by lead type. 6. Latest Email Version Controller Captures most recent email output ensuring only final approved version proceeds to delivery. 7. Human-in-the-Loop Email Approval Telegram-based review checkpoint sending generated emails to team member for quality control before client delivery. 8. Approval Decision Router Evaluates reviewer's response, routing approved emails to client delivery or rejected emails to revision agent. 9. Email Revision Agent AI-powered editor refining rejected emails based on feedback while maintaining personalization and brand voice. 10. Client Email Delivery Sends final approved personalized emails demonstrating understanding of project vision with clear next steps. 11. Notion Lead Database Manager Records all potential clients with complete intake data, classification results, and tracking information for pipeline management. Customization Tips Adjust Classification Thresholds: Modify budget ranges and space requirements in the AI Lead Scoring Engine prompt to match your market and service level. Multi-Language Support: Update all AI agent prompts with instructions for your target language. Claude supports 100+ languages. Additional Routing: Add branches for special cases like urgent projects, VIP clients, or specific geographic regions. CRM Integration: Replace Notion with HubSpot, Salesforce, or Airtable using respective n8n nodes. SMS Notifications: Add Twilio node for immediate HOT lead alerts to mobile devices. Troubleshooting Issue: Telegram approval not received Verify bot token is correct Confirm chat ID matches your Telegram account Check bot is not blocked Issue: Claude API errors Verify API key validity and credits Check prompt length isn't exceeding token limits Review rate limits on your Anthropic plan Issue: Gmail not sending Confirm app password (not regular password) is used Check "Less secure app access" if using older method Verify daily sending limits not exceeded Issue: Notion database not updating Confirm integration has access to database Verify property names match exactly (case-sensitive) Check property types align with data being sent Template Metrics Execution Time**: ~30-45 seconds per lead (including AI processing) API Calls**: 2-3 Claude requests per lead (classification + email generation, +1 if revision) Cost Estimate**: ~$0.05-0.15 per lead processed (based on Claude API pricing) Support & Community n8n Community Forum**: https://community.n8n.io Template Issues**: Report bugs or suggest improvements via n8n template feedback Claude Documentation**: https://docs.anthropic.com Notion API Docs**: https://developers.notion.com License This template is provided as-is under MIT license. Modify and adapt freely for your business needs. Version: 1.0 Last Updated: October 2025 Compatibility: n8n v1.0+ (Cloud & Self-Hosted), Claude API v2024-10+
by Cojocaru David
This n8n template demonstrates how to automatically generate and publish blog posts using trending keywords, AI-generated content, and watermarked stock images. Use cases include maintaining an active blog with fresh SEO content, scaling content marketing without manual writing, and automating the full publishing pipeline from keyword research to WordPress posting. Good to know At time of writing, each AI content generation step will incur costs depending on your OpenAI pricing plan. Image search is powered by Pexels, which provides free-to-use stock images. The workflow also applies a watermark for branding. Google Trends data may vary by region, and results depend on availability in your selected location. How it works The workflow begins with a scheduled trigger that fetches trending keywords from Google Trends. The XML feed is converted to JSON and filtered for relevant terms, which are logged into a Google Sheet for tracking. One random keyword is selected, and OpenAI is used to generate blog content around it. A structured output parser ensures the text is clean and well-formatted. The system then searches Pexels for a matching image, uploads it, adds metadata for SEO, and applies a watermark. Finally, the complete article (text and image) is published directly to WordPress. How to use The schedule trigger is provided as an example, but you can replace it with other triggers such as webhooks or manual inputs. You can also customize the AI prompt to match your niche, tone, or industry focus. For higher volumes, consider adjusting the keyword filtering and batching logic. Requirements OpenAI account for content generation Pexels API key for stock image search Google account with Sheets for keyword tracking WordPress site with API access for publishing Customising this workflow This automation can be adapted for different use cases. Try adjusting the prompts for technical blogs, fashion, finance, or product reviews. You can also replace the image source with other providers or integrate your own media library. The watermark feature ensures branding, but it can be modified or removed depending on your needs.
by Thapani Sawaengsri
Description This workflow automates compliance validation between a policy/procedure and a corresponding uploaded document. It leverages an AI agent to determine whether the content of the document aligns with the expectations outlined in the provided procedure or policy. How It Works Document Upload A document (e.g., PDF) is uploaded via an HTTP Request Webhook. The content is processed into vector embeddings using a Qdrant vector store and an embedding model. Procedure Submission A policy/procedure text and description are submitted via a second HTTP Request Webhook. These serve as the basis for evaluating the uploaded document. AI-Based Validation The AI agent receives: The uploaded document (via vector embeddings) The submitted procedure/policy text The description/context It returns a structured compliance analysis including: Summary of Compliance (sections that align with policy) Summary of Non-Compliance (gaps or missing elements) Supporting Text Citations (document evidence) Confidence Level (0–100 score based on evidence quality) Setup Instructions Pre-Conditions / Requirements An n8n instance running with access to: Qdrant (for vector storage) An embedding model (e.g., OpenAI, HuggingFace, or local model) Optional: Microsoft Graph or another storage system for document retrieval. Workflow Setup HTTP Request Node 1: Document Upload Accepts binary document files (PDF, DOCX, etc.). Extracts text, generates embeddings, and stores them in Qdrant. Returns a spDocumentId for reference. HTTP Request Node 2: Procedure Submission Accepts a JSON payload with: { "procedure": "Policy or procedure text", "description": "Brief context or objective", "spDocumentId": "ID of the uploaded document" } Links the procedure to the previously uploaded document. Order of Operations Step 1: Upload the document. Step 2: Submit the procedure referencing the same spDocumentId. Step 3: AI agent evaluates compliance and returns results. Example Input & Output Example Input: Document Upload (Webhook 1) Request: Binary file upload (example_policy.pdf) Response: { "spDocumentId": "12345" } Example Input: Procedure Submission (Webhook 2) { "procedure": "All financial records must be retained for 7 years.", "description": "Retention policy compliance validation", "spDocumentId": "12345" } Example Output: AI Compliance Validation { "compliance_summary": "The document includes a 7-year retention requirement for invoices and payroll records.", "non_compliance_summary": "No reference to retention of vendor contracts.", "citations": [ { "text": "Invoices will be stored for 7 years.", "page": 4 } ], "confidence": 87 }
by Pinecone
Try it out This n8n workflow template lets you chat with your Google Drive documents (.docx, .json, .md, .txt, .pdf) using OpenAI and Pinecone Assistant. It retrieves relevant context from your files in real time so you can get accurate, context-aware answers about your proprietary data—without the need to train your own LLM. What is Pinecone Assistant? Pinecone Assistant allows you to build production-grade chat and agent-based applications quickly. It abstracts the complexities of implementing retrieval-augmented (RAG) systems by managing the chunking, embedding, storage, query planning, vector search, model orchestration, reranking for you. Prerequisites A Pinecone account and API key A GCP project with Google Drive API enabled and configured Note: When setting up the OAuth consent screen, skip steps 8-10 if running on localhost An Open AI account and API key Setup Create a Pinecone Assistant in the Pinecone Console here Name your Assistant n8n-assistant and create it in the United States region If you use a different name or region, update the related nodes to reflect these changes No need to configure a Chat model or Assistant instructions Setup your Google Drive OAuth2 API credential in n8n In the File added node -> Credential to connect with, select Create new credential Set the Client ID and Client Secret from the values generated in the prerequisites Set the OAuth Redirect URL from the n8n credential in the Google Cloud Console (instructions) Name this credential Google Drive account so that other nodes reference it Setup Pinecone API key credential in n8n In the Upload file to assistant node -> PineconeApi section, select Create new credential Paste in your Pinecone API key in the API Key field Setup Pinecone MCP Bearer auth credential in n8n In the Pinecone Assistant node -> Credential for Bearer Auth section, select Create new credential Set the Bearer Token field to your Pinecone API key used in the previous step Setup the Open AI credential in n8n In the OpenAI Chat Model node -> Credential to connect with, select Create new credential Set the API Key field to your OpenAI API key Add your files to a Drive folder named n8n-pinecone-demo in the root of your My Drive If you use a different folder name, you'll need to update the Google Drive triggers to reflect that change Activate the workflow or test it with a manual execution to ingest the documents Chat with your docs! Ideas for customizing this workflow Customize the System Message on the AI Agent node to your use case to indicate what kind of knowledge is stored in Pinecone Assistant Change the top_k value of results returned from Assistant by adding "and should set a top_k of 3" to the System Message to help manage token consumption Configure the Context Window Length in the Conversation Memory node Swap out the Conversation Memory node for one that is more persistent Make the chat node publicly available or create your own chat interface that calls the chat webhook URL. Need help? You can find help by asking in the Pinecone Discord community, asking on the Pinecone Forum, or filing an issue on this repo.
by Don Jayamaha Jr
A fully autonomous, HTX Spot Market AI Agent (Huobi AI Agent) built using GPT-4o and Telegram. This workflow is the primary interface, orchestrating all internal reasoning, trading logic, and output formatting. ⚙️ Core Features 🧠 LLM-Powered Intelligence: Built on GPT-4o with advanced reasoning ⏱️ Multi-Timeframe Support: 15m, 1h, 4h, and 1d indicator logic 🧩 Self-Contained Multi-Agent Workflow: No external subflows required 🧮 Real-Time HTX Market Data: Live spot price, volume, 24h stats, and order book 📲 Telegram Bot Integration: Interact via chat or schedule 🔄 Autonomous Runs: Support for webhook, schedule, or Telegram triggers 📥 Input Examples | User Input | Agent Action | | --------------- | --------------------------------------------- | | btc | Returns 15m + 1h analysis for BTC | | eth 4h | Returns 4-hour swing data for ETH | | bnbusdt today | Full day snapshot with technicals + 24h stats | 🖥️ Telegram Output Sample 📊 BTC/USDT Market Summary 💰 Price: $62,400 📉 24h Stats: High $63,020 | Low $60,780 | Volume: 89,000 BTC 📈 1h Indicators: • RSI: 68.1 → Overbought • MACD: Bearish crossover • BB: Tight squeeze forming • ADX: 26.5 → Strengthening trend 📉 Support: $60,200 📈 Resistance: $63,800 🛠️ Setup Instructions Create your Telegram Bot using @BotFather Add Bot Token in n8n Telegram credentials Add your GPT-4o or OpenAI-compatible key under HTTP credentials in n8n (Optional) Add your HTX API credentials if expanding to authenticated endpoints Deploy this main workflow using: ✅ Webhook (HTTP Request Trigger) ✅ Telegram messages ✅ Cron / Scheduled automation 🎥 Live Demo 🧠 Internal Architecture | Component | Role | | ------------------ | -------------------------------------------------------- | | 🔄 Telegram Trigger | Entry point for external or manual signal | | 🧠 GPT-4o | Symbol + timeframe extraction + strategy generation | | 📊 Data Collector | Internal tools fetch price, indicators, order book, etc. | | 🧮 Reasoning Layer | Merges everything into a trading signal summary | | 💬 Telegram Output | Sends formatted HTML report via Telegram | 📌 Use Case Examples | Scenario | Outcome | | -------------------------------------- | ------------------------------------------------------- | | Auto-run every 4 hours | Sends new HTX signal summary to Telegram | | Human requests “eth 1h” | Bot replies with real-time 1h chart-based summary | | System-wide trigger from another agent | Invokes webhook and returns response to parent workflow | 🧾 Licensing & Attribution © 2025 Treasurium Capital Limited Company Architecture, prompts, and trade report structure are IP-protected. No unauthorized rebranding permitted. 🔗 For support: Don Jayamaha – LinkedIn
by Akshay
Overview This project is an AI-powered WhatsApp virtual receptionist built using n8n, designed to handle both text and voice-based customer messages automatically. The workflow integrates Google Gemini, Pinecone, and the WhatsApp Business API to provide intelligent, context-aware responses that feel natural and professional. How It Works Message Detection The workflow begins when a message arrives on WhatsApp. It identifies whether the message is text or voice and routes it accordingly. Voice Message Handling Audio messages are securely downloaded from WhatsApp. The files are converted to Base64 format and sent to the Gemini API for transcription. The transcribed text is then passed to the AI Agent for further processing. AI Agent Processing The LangChain AI Agent acts as the brain of the system. It uses: Google Gemini Chat Model** for natural language understanding and response generation. Pinecone Vector Store** to retrieve company-specific information and product data. Memory Buffer** to remember the last 20 user messages, ensuring context-aware responses. The agent also follows a set of custom communication rules — replying only in approved languages, skipping greetings, and focusing on direct, helpful, and professional responses (e.g., product recommendations, support, or guidance). Knowledge Retrieval The AI Agent connects to a Pinecone database containing detailed company data, such as product catalogs or service FAQs. Using Gemini-generated embeddings, it retrieves the most relevant information for each user query. Response Delivery Once the AI Agent prepares the response, it is instantly sent back to the user via WhatsApp, completing the conversational loop. Who It’s For This system is ideal for businesses seeking to automate their customer communication through WhatsApp. It’s especially valuable for: Product-based companies** with frequent customer inquiries. Service providers** offering 24/7 customer assistance or quote requests. SMBs** looking to scale their communication without hiring additional staff. Tech Stack & Requirements n8n** – Workflow automation and orchestration. WhatsApp Cloud API** – For sending and receiving messages. Google Gemini (PaLM)** – For LLM-based transcription and response generation. Pinecone** – Vector database for product and service knowledge retrieval. LangChain Integration** – For connecting memory, vector store, and reasoning tools. Custom Business Rules** – Configurable within the AI Agent node to manage tone, style, and workflow behavior. Key Features Handles both text and voice messages seamlessly. Responds in multiple languages, including English. Maintains conversation memory per user session. Retrieves accurate company-specific information using vector search. Fully automated, with customizable behavior for different industries or use cases. Setup Instructions 1. Prerequisites Before importing the workflow, ensure you have: An active n8n instance (self-hosted or n8n Cloud). WhatsApp Cloud API credentials** from Meta. Google Gemini API key** with model access (for chat and transcription). Pinecone API key** with a preconfigured vector index containing your company data. 2. Environment Setup Install all required credentials under Settings → Credentials in n8n. Add environment variables (if applicable) for keys like: GOOGLE_API_KEY=your_google_gemini_key PINECONE_API_KEY=your_pinecone_key WHATSAPP_ACCESS_TOKEN=your_whatsapp_token 3. Pinecone Configuration Create a Pinecone index named, for example, products-index. Upload company documents or product details as vector embeddings using Gemini or LangChain utilities. Adjust the retrieval limit in the Pinecone node settings for broader or narrower search responses. 4. WhatsApp API Configuration Set up a WhatsApp Business Account via Meta Developer Dashboard. Create a webhook endpoint URL (n8n’s public URL) to receive WhatsApp messages. Use the WhatsApp Trigger Node to capture messages in real time. 5. AI Agent Customization You can personalize how the AI behaves by editing the system prompt inside the AI Agent node: Modify tone, response length, or product focus. Add new “rules” for language preferences or conversation flow. Include links or custom text output (e.g., quotation formats, product catalog messages). 6. Handling Voice Messages Ensure your WhatsApp Business Account has media message permissions enabled. Verify the HTTP Request node that connects to the Gemini API for transcription is correctly authenticated. You can adjust the transcription model or prompt if you prefer shorter, keyword-based outputs. 7. Testing Send both text and voice messages from a test WhatsApp number. Check response time and message formatting. Use n8n’s execution logs to debug errors (especially for media downloads or API credentials). Customization Options 🧩 AI Behavior Modify the AI Agent’s system message to adapt tone and personality (e.g., sales-oriented, support-driven). Update memory length (default: last 20 messages) for longer or shorter conversations. 🌍 Multi-language Support Add or remove allowed languages in the rules section of the AI Agent node. For multilingual businesses, duplicate the AI Agent path and route messages by language detection. 📦 Industry Adaptation Swap the Pinecone dataset to suit different industries — retail, hospitality, logistics, etc. Replace product data with FAQs, customer records, or support documentation.
by Zain Ali
🧠 RAG with Full Gmail history + Real time email updates in RAG using OpenAI & Qdrant > Summary: > This workflow listens for new Gmail messages, extracts and cleans email content, generates embeddings via OpenAI, stores them in a Qdrant vector database, and then enables a Retrieval‑Augmented‑Generation (RAG) agent to answer user queries against those stored emails. It’s designed for teams or bots that need conversational access to past emails. 🧑🤝🧑 Who’s it for Support teams** who want to surface past customer emails in chatbots or help‑desk portals Sales ops** that need AI‑powered summaries and quick lookup of email histories Developers** building RAG agents over email archives ⚙️ How it works / What it does Trigger Gmail Trigger polls every minute for new messages. Fetch & Clean Get Mail Data pulls full message metadata and body. Code node normalizes the body (removes line breaks, collapses spaces). Embed & Store Embeddings OpenAI node computes vector embeddings. Qdrant Vector Store inserts embeddings + metadata into the emails_history collection. Batch Processing SplitInBatches handles large inbox loads in chunks of 50. RAG Interaction When chat message received → RAG Agent → uses Qdrant Email Vector Store as a tool to retrieve relevant email snippets before responding. Memory Simple Memory buffer ensures the agent retains recent context. 🛠️ How to set up n8n Instance Deploy n8n (self‑hosted or via Coolify/Docker). Credentials Create an OAuth2 credential in n8n for Gmail (with Gmail API scopes). Add your OpenAI API key in n8n credentials. Qdrant Stand up a Qdrant instance (self‑hosted or Qdrant Cloud). Note your host, port, and API key (if any). Import Workflow In n8n, go to Workflows → Import → paste the JSON you provided. Ensure each credential reference (Gmail & OpenAI) matches your n8n credential IDs. Test Click Execute Workflow or send a test email to your Gmail. Monitor n8n logs: you should see new points in Qdrant and RAG responses. 📋 Requirements n8n** (Self-hosted or Cloud) Gmail API** enabled on a Google Cloud project OpenAI API** access (with Embedding & Chat endpoints) Qdrant** (hosted or cloud) with a collection named emails_history 🎨 How to customize the workflow Change Collection Name** Update the qdrantCollection.value in all Qdrant nodes if you prefer a different collection. Adjust Polling Frequency** In the Gmail Trigger node, switch from everyMinute to everyFiveMinutes or a webhook‑style trigger. Metadata Tags** In Enhanced Default Data Loader, tweak the metadataValues to tag by folder, label, or sender domain. Batch Size** In SplitInBatches, change batchSize to suit your inbox volume. RAG Agent Prompt** Customize the systemMessage in the RAG Agent node to set the assistant’s tone, instruct on date handling, or add additional tools. Additional Tools** Chain other n8n nodes (e.g., Slack, Discord) after the RAG Agent to broadcast AI answers to team channels.
by phil
This workflow is designed for B2B professionals to automatically identify and summarize business opportunities from a company's website. By leveraging Bright Data's Web Unblocker and advanced AI models from OpenRouter, it scrapes relevant company pages ("About Us", "Team", "Contact"), analyzes the content for potential pain points and needs, and synthesizes a concise, actionable report. The final output is formatted for direct use in documents, making it an ideal tool for sales, marketing, and business development teams to prepare for prospecting calls or personalize outreach. Who's it for This template is ideal for: B2B Sales Teams:** Quickly find and qualify leads by identifying specific business needs before a cold call. Marketing Agencies:** Develop personalized content and value propositions based on a prospect's public website information. Business Development Professionals:** Efficiently research potential partners or clients and discover collaboration opportunities. Entrepreneurs:** Gain a competitive edge by understanding a competitor's strategy or a potential client's operations. How it works The workflow is triggered by a chat message, typically a URL from an n8n chat application. It uses Bright Data to scrape the website's sitemap and extract all anchor links from the homepage. An AI agent analyzes the extracted URLs to filter for pages relevant to company information (e.g., "about-us," "team," "contact"). The workflow then scrapes the content of these specific pages. A second AI agent summarizes the content of each page, looking for business opportunities related to AI-powered automation. The summaries are merged and a final AI agent synthesizes them into a single, cohesive report, formatted for easy reading in a Google Doc. How to set up Bright Data Credentials: Sign up for a Bright Data account and create a Web Unblocker zone. In n8n, create new Bright Data API credentials and copy your API key. OpenRouter Credentials: Create an account on OpenRouter and get your API key. In n8n, create new OpenRouter API credentials and paste your key. Chat Trigger Node: Configure the "When chat message received" node. Copy the production webhook URL to integrate with your preferred chat platform. Requirements An active n8n instance. A Bright Data account with a Web Unblocker zone. An OpenRouter account with API access. How to customize this workflow AI Prompting:** Edit the "systemMessage" parameters in the "AI Agent", "AI Agent1", and "AI Agent2" nodes to change the focus of the opportunity analysis. For example, modify the prompts to search for specific technologies, industry jargon, or different types of business challenges. Model Selection:** The workflow uses openai/o4-mini and openai/gpt-5. You can change these to other models available on OpenRouter by editing the model parameter in the OpenRouter Chat Model nodes. Scraping Logic:** The extract url node uses a regular expression to find `` tags. This can be modified or replaced with an HTML Extraction node to target different elements or content on a website. Output Format:** The final output is designed for Google Docs. You can modify the last "AI Agent2" node's prompt to generate the output in a different format, such as a simple JSON object or a markdown list. Phil | Inforeole 🇫🇷 Contactez nous pour automatiser vos processus
by Dean Pike
Transcript → AI Analysis → Formatted Doc This workflow automatically converts Fathom meeting transcripts into beautifully formatted Google Docs with AI-generated summaries, key points, decisions, and action items. Good to know Works fully with Fathom free account Webhook responds immediately to prevent Fathom timeout and duplicate triggers Validates transcript quality (3+ conversation turns) before AI processing to save costs Uses Google Gemini API (generous free tier and rate limits, typically enough to avoid paying for API requests, but check latest pricing at Google AI Pricing) Creates temporary HTML file that's auto-deleted after conversion Who's it for Individuals or teams using Fathom for meetings who want more control and flexibility with their AI meeting analysis and storage independently of Fathom, as well as automatic, formatted documentation without manual note-taking. Perfect for recurring syncs, client meetings, or interview debriefs. How it works Fathom webhook triggers when meeting ends and sends transcript data Validates transcript has meaningful conversation (3+ turns) Google Gemini AI analyzes transcript and generates structured summary (key points, decisions, actions, next steps) Creates formatted HTML with proper styling Uploads to Google Drive and converts to native Google Doc Reduces page margins for readability and deletes temporary HTML file Requirements Fathom account with API webhook access (available on free tier) Google Drive account (OAuth2) Google Docs account (OAuth2) Google Gemini API key (Get free key here) How to set up Add credentials: Google Drive OAuth2, Google Docs OAuth2, Google Gemini API Copy the webhook URL from the Get Fathom Meeting webhook node (Test URL first, change to Production URL when ready) In Fathom: Settings → API Access → Add → Add webhook URL and select all events including "Transcript" Test with a short meeting, verify Google Doc appears in Drive Activate workflow Customizing this workflow Change save location: Edit "Upload File as HTML" node → update "Parent Folder" Modify AI output: Edit "AI Meeting Analysis" node → customize the prompt to add/remove sections (e.g., risks, follow-ups, sentiment, etc) Adjust document margins: Edit "Reduce Page Margins" node → change margin pixel values Add notifications: E.g. add Slack/Email node after "Convert to Google Doc" to notify team when summary is ready Quick Troubleshooting "Transcript Present?" fails: Fathom must send transcript_merged with 3+ conversation turns (i.e. only send to Gemini for analysis if there's a genuine transcript) HTML as plain text: Check "Convert to Google Doc" uses POST to /copy endpoint 401/403 errors: Re-authorize Google credentials Inadequate meeting notes: Edit prompts in "AI Meeting Analysis" node Sample File and Storage Output Google Doc meeting notes - sample Google Drive sample folder output:
by SpaGreen Creative
WhatsApp Number Verify & Confirmation System with Rapiwa API and Google Sheets Who is this for? This n8n workflow makes it easy to verify WhatsApp numbers submitted through a form. When someone fills out the form, the automation kicks in—capturing the data via a webhook, checking the WhatsApp number using the Rapiwa API, and sending a confirmation message if the number is valid. All submissions, whether verified or not, are logged into a Google Sheet with a clear status. It’s a great solution for businesses, marketers, or developers who need a reliable way to verify leads, manage event signups, or onboard customers using WhatsApp. How it works? This n8n automation listens for form submissions via a webhook, validates the provided WhatsApp number using the Rapiwa API, sends a confirmation message if the number is verified, and then appends the submission data to a Google Sheet, marking each entry as verified or unverified. Features Webhook Trigger**: Captures form submissions via HTTP POST Data Cleaning**: Formats and sanitizes the WhatsApp number Rapiwa API Integration**: Checks if the number is registered on WhatsApp Conditional Messaging**: Sends confirmation messages only to verified WhatsApp users Google Sheets Integration**: Appends all submissions with a validity status Auto Timestamping**: Adds the submission date in YYYY-MM-DD format Throttling Support**: Built-in delay to avoid hitting API or sheet rate limits Separation of Verified/Unverified**: Distinct handling for both types of entries Nodes Used in the Workflow Webhook** Format Webhook Response Data** (Code) Loop Over Items** (Split In Batches) Cleane Number** (Code) check valid whatsapp number** (HTTP Request) If** (Conditional) Send Message Using Rapiwa** verified append row in sheet** (Google Sheets) unverified append row in sheet** (Google Sheets) Wait1** How to set up? Webhook Add a Webhook node to the canvas. Set HTTP Method to POST. Copy the Webhook URL path (/a9b6a936-e5f2-4xxxxxxxxxe0a970d5). In your frontend form or app, make a POST request to: The request body should include: { "business_name": "ABC Corp", "location": "New York", "whatsapp": "+1 234-567-8901", "email": "user@example.com", "name": "John Doe" } Format Webhook Response Data Add a Code node after the Webhook node. Use this JavaScript code: const result = $input.all().map(item => { const body = item.json.body || {}; const submitted_date = new Date().toISOString().split('T')[0]; return { business_name: body.business_name, location: body.location, whatsapp: body.whatsapp, email: body.email, name: body.name, submitted_date: submitted_date }; }); return result; Loop Over Items Insert a SplitInBatches node after the data formatting. Set the Batch Size to a reasonable number (e.g. 1 or 10). This is useful for processing multiple submissions at once, especially if your webhook receives arrays of entries. Note: If you expect only one submission at a time, it still helps future-proof your workflow. Cleane Number Add a Code node named Cleane Number. Paste the following JavaScript: const items = $input.all(); const updatedItems = items.map((item) => { const waNo = item?.json["whatsapp"]; const waNoStr = typeof waNo === 'string' ? waNo : (waNo !== undefined && waNo !== null ? String(waNo) : ""); const cleanedNumber = waNoStr.replace(/\D/g, ""); item.json["whatsapp"] = cleanedNumber; return item; }); return updatedItems; Check WhatsApp Number using Rapiwa Add an HTTP Request node. Set: Method: POST URL: https://app.rapiwa.com/api/verify-whatsapp Add authentication: Type: HTTP Bearer Credentials: Select or create Rapiwa token In Body Parameters, add: number: ={{ $json.whatsapp }} This API call checks if the WhatsApp number exists and is valid. Expected Output: { "success": true, "data": { "number": "+88017XXXXXXXX", "exists": true, "jid": "88017XXXXXXXXXXXXX", "message": "✅ Number is on WhatsApp" } } Conditional If Check Add an If node after the Rapiwa validation. Configure the condition: Left Value: ={{ $json.data.exists }} Operation: true If true → valid number → go to messaging and append as "verified". If false → go to unverified sheet directly. Note: This step branches the flow based on the WhatsApp verification result. Send WhatsApp Message (Rapiwa) Add an HTTP Request node under the TRUE branch of the If node. Set: Method: POST URL: https://app.rapiwa.com/api/send-message Authentication: Type: HTTP Bearer Use same Rapiwa token Body Parameters: number: ={{ $json.data.phone }} message_type: text message: Hi {{ $('Cleane Number').item.json.name }}, Thanks! Your form has been submitted successfully. This sends a confirmation message via WhatsApp to the verified number. Google Sheets – Verified Data Add a Google Sheets node under the TRUE branch (after the message is sent). Set: Operation: Append Document ID: Choose your connected Google Sheet Sheet Name: Set to your active sheet (e.g., Sheet1) Column Mapping: Business Name: ={{ $('Cleane Number').item.json.business_name }} Location: ={{ $('Cleane Number').item.json.location }} WhatsApp Number: ={{ $('Cleane Number').item.json.whatsapp }} Email : ={{ $('Cleane Number').item.json.email }} Name: ={{ $('Cleane Number').item.json.name }} Date: ={{ $('Cleane Number').item.json.submitted_date }} validity: verified Use OAuth2 Google Sheets credentials for access. Note: Make sure the sheet has matching column headers. Google Sheets – Unverified Data Add a Google Sheets node under the FALSE branch of the If node. Use the same settings as the verified node, but set: validity: unverified This stores entries with unverified WhatsApp numbers in the same Google Sheet. Wait Node Add a Wait node after both Google Sheets nodes. Set Wait Time: Value: 2 seconds This delay prevents API throttling and adds buffer time before processing the next item in the batch. Google Sheet Column Reference A Google Sheet formatted like this ➤ Sample Sheet | Business Name | Location | WhatsApp Number | Email | Name | validity | Date | |---------------------|--------------------|------------------|----------------------|------------------|------------|------------| | SpaGreen Creative | Dhaka, Bangladesh | 8801322827799| contact@spagreen.net | Abdul Mannan | unverified | 2025-09-14 | | SpaGreen Creative | Bagladesh | 8801322827799| contact@spagreen.net| Abdul Mannan | verified | 2025-09-14 | > Note: The Email column includes a trailing space. Ensure your column headers match exactly to prevent data misalignment. How to customize the workflow Modify confirmation message with your brand tone Add input validation for missing or malformed fields Route unverified submissions to a separate spreadsheet or alert channel Add Slack or email notifications on new verified entries Notes & Warnings Ensure your Google Sheets credential has access to the target sheet Rapiwa requires an active subscription for API access Monitor Rapiwa API limits and adjust wait time as needed Keep your webhook URL protected to avoid misuse Support & Community WhatsApp Support: Chat Now Discord: Join SpaGreen Community Facebook Group: SpaGreen Support Website: spagreen.net Developer Portfolio: Codecanyon SpaGreen
by Avkash Kakdiya
How it works This workflow enriches and personalizes your lead profiles by integrating HubSpot contact data, scraping social media information, and using AI to generate tailored outreach emails. It streamlines the process from contact capture to sending a personalized email — all automatically. The system fetches new or updated HubSpot contacts, verifies and enriches their Twitter/LinkedIn data via Phantombuster, merges the profile and engagement insights, and finally generates a customized email ready for outreach. Step-by-step 1. Trigger & Input HubSpot Contact Webhook: Fires when a contact is created or updated in HubSpot. Fetch Contact: Pulls the full contact details (email, name, company, and social profiles). Update Google Sheet: Logs Twitter/LinkedIn usernames and marks their tracking status. 2. Validation Validate Twitter/LinkedIn Exists: Checks if the contact has a valid social profile before proceeding to scraping. 3. Social Media Scraping (via Phantombuster) Launch Profile Scraper & 🎯 Launch Tweet Scraper: Triggers Phantombuster agents to fetch profile details and recent tweets. Wait Nodes: Ensures scraping completes (30–60 seconds). Fetch Profile/Tweet Results: Retrieves output files from Phantombuster. Extract URL: Parses the job output to extract the downloadable .json or .csv data file link. 4. Data Download & Parsing Download Profile/Tweet Data: Downloads scraped JSON files. Parse JSON: Converts the raw file into structured data for processing. 5. Data Structuring & Merging Format Profile Fields: Maps stats like bio, followers, verified status, likes, etc. Format Tweet Fields: Captures tweet data and associates it with the lead’s email. Merge Data Streams: Combines tweet and profile datasets. Combine All Data: Produces a single, clean object containing all relevant lead details. 6. AI Email Generation & Delivery Generate Personalized Email: Feeds the merged data into OpenAI GPT (via LangChain) to craft a custom HTML email using your brand details. Parse Email Content: Cleans AI output into structured subject and body fields. Sends Email: Automatically delivers the personalized email to the lead via Gmail. Benefits Automated Lead Enrichment — Combines CRM and real-time social media data with zero manual research. Personalized Outreach at Scale — AI crafts unique, relevant emails for each contact. Improved Engagement Rates — Targeted messages based on actual social activity and profile details. Seamless Integration — Works directly with HubSpot, Google Sheets, Gmail, and Phantombuster. Time & Effort Savings — Replaces hours of manual lookup and email drafting with an end-to-end automated flow.
by Hemanth Arety
Handle WhatsApp customer inquiries with AI and intent routing (Whatsapp Chatbot) An intelligent, fully customizable WhatsApp customer support chatbot template that works for ANY business - whether you sell fashion, electronics, food, furniture, cosmetics, or anything else. This workflow combines pre-built responses for common queries with AI for complex questions, creating a cost-effective 24/7 customer support solution that adapts to your specific products and services. Who it's for This universal template works for ANY business type: E-commerce stores** (fashion, electronics, home goods, beauty, etc.) Local retail shops** (boutiques, grocery stores, bookshops, etc.) Service businesses** (salons, repair services, consultancies, etc.) Restaurants & cafes** (food delivery, reservations, menu inquiries) Any business** using WhatsApp Business API for customer communication What it does This is a UNIVERSAL template - it works for ANY business by simply updating the product categories, company information, and response templates. No coding knowledge required for basic customization! The workflow automates WhatsApp customer support through intelligent routing and AI assistance: Receives WhatsApp messages via WhatsApp Business API webhook trigger Parses message data extracting user info, chat ID, and message text Classifies intent using pattern matching to determine what the customer wants (product inquiry, contact info, support, greeting, etc.) Routes intelligently to the most appropriate response handler: Product inquiries → Pre-built catalog responses with pricing and links Contact information → Static company details (address, phone, hours) Complex queries → AI agent with full company context Maintains conversation context using memory to remember previous messages Sends formatted responses back to the customer via WhatsApp with markdown formatting The hybrid approach (pre-built responses + AI) balances speed, cost, and intelligence - common questions get instant answers while complex queries receive personalized AI assistance. How to set up Requirements You'll need: WhatsApp Business API** access (via Twilio, 360Dialog, Meta Cloud API, or other providers) Google Gemini API key** (for AI responses) - Get API key Google Docs** (optional - for product catalog reference) n8n instance** with WhatsApp nodes installed Setup Steps Configure WhatsApp Business API Sign up with a WhatsApp Business API provider (Twilio, 360Dialog, or Meta) Get your API credentials (phone number ID, access token, webhook verify token) Add credentials to n8n's WhatsApp node Copy the webhook URL from n8n and configure it in your provider's dashboard Customize Company Information Open the "Build AI System Prompt" node Replace all placeholder text with your actual company details: Company name Address and phone numbers Email and website Product categories and brands Policies (COD, warranty, returns, delivery) Store hours Configure Product Responses Edit the "Generate Product Response" node Replace the sample products with your actual catalog: Product names and specifications Prices (update currency if not using INR) Product URLs from your website Add/remove product categories as needed Update Contact Details Edit the "Generate Contact Info Response" node Add your complete contact information Update store hours and addresses Set Up AI Credentials Add your Google Gemini API key to the credential manager (Optional) Connect Google Docs if you want to use a product catalog document Activate and Test Activate the workflow in n8n Send test messages to your WhatsApp Business number Test different intents: greetings, product questions, contact requests Verify responses are accurate and timely WhatsApp Business API Providers Option 1: Meta Cloud API (Official, free for moderate usage) Sign up at: https://developers.facebook.com/ Requires Facebook Business account Best for: Small to medium businesses Option 2: Twilio (Reliable, paid service) Sign up at: https://www.twilio.com/whatsapp Pay-per-message pricing Best for: Businesses needing high reliability Option 3: 360Dialog (WhatsApp-focused) Sign up at: https://www.360dialog.com/ Competitive pricing Best for: WhatsApp-heavy businesses Option 4: MessageBird, Vonage, others Various pricing and features Research and compare based on your needs How it works Intent Classification System The workflow uses keyword pattern matching to classify user intent into these categories: Priority 1: Contact Information (highest priority) Triggers: "where is store", "address", "contact", "phone number" Response: Static contact details Why first: Users asking for contact info need immediate, accurate answers Priority 2: Greetings Triggers: "hi", "hello", "hey", "good morning" Response: Friendly welcome with menu options Helps: Sets a positive tone for the conversation Priority 3: Product Inquiries Triggers: Category keywords (monitor, processor, GPU, RAM, etc.) Response: Pre-built catalog with products, prices, and links Categories: Customizable based on your products Priority 4: AI Fallback Triggers: Everything else (comparisons, complex questions, multi-step queries) Response: Google Gemini AI with company knowledge Features: Conversation memory, personalized recommendations Response Architecture Pre-Built Responses (Fast & Cost-Effective) Instant answers (no API calls) Handles 70-80% of queries Consistent, accurate information No ongoing costs Used for: Product lists, contact info, FAQs AI Agent (Intelligent & Flexible) Handles complex questions Maintains conversation context Provides personalized recommendations Adapts to different query styles Used for: Comparisons, custom builds, technical questions Conversation Memory The workflow uses buffer window memory to remember recent conversation: Stores last 10 messages per user Enables multi-turn conversations AI can reference previous questions Creates more natural interactions Memory is user-specific (isolated by user ID) Message Flow Example User: "Hi" → Intent: greeting → Response: Welcome message with menu User: "Show me monitors" → Intent: product_inquiry (monitors) → Response: Pre-built list of monitors with prices User: "Which one is best for gaming?" → Intent: general_inquiry (complex) → Response: AI analyzes previous context (monitors) and recommends gaming-focused option User: "What's your address?" → Intent: contact_info → Response: Complete contact details How to customize the workflow STEP 1: Customize Product Categories The workflow comes with example categories for multiple business types. Replace them with YOUR categories: For a Fashion Store: const categories = [ { pattern: /(shirt|tshirt|top)/i, category: 'tops' }, { pattern: /(jeans|pants|trousers)/i, category: 'bottoms' }, { pattern: /(dress|gown|kurti)/i, category: 'dresses' }, { pattern: /(shoe|footwear|heels)/i, category: 'shoes' }, ]; For a Grocery Store: const categories = [ { pattern: /(vegetable|veggies)/i, category: 'vegetables' }, { pattern: /(fruit|fruits)/i, category: 'fruits' }, { pattern: /(dairy|milk|cheese)/i, category: 'dairy' }, { pattern: /(snack|chips|biscuit)/i, category: 'snacks' }, ]; For a Beauty/Cosmetics Store: const categories = [ { pattern: /(skincare|cream|serum)/i, category: 'skincare' }, { pattern: /(makeup|lipstick|foundation)/i, category: 'makeup' }, { pattern: /(perfume|fragrance)/i, category: 'perfumes' }, { pattern: /(hair|shampoo|conditioner)/i, category: 'haircare' }, ]; For a Home Furniture Store: const categories = [ { pattern: /(sofa|couch)/i, category: 'sofas' }, { pattern: /(bed|mattress)/i, category: 'bedroom' }, { pattern: /(table|desk|dining)/i, category: 'tables' }, { pattern: /(chair|seating)/i, category: 'chairs' }, ]; For a Restaurant: const categories = [ { pattern: /(pizza|italian)/i, category: 'italian' }, { pattern: /(burger|sandwich)/i, category: 'fast_food' }, { pattern: /(biryani|curry|indian)/i, category: 'indian' }, { pattern: /(dessert|sweet|ice cream)/i, category: 'desserts' }, ]; STEP 2: Customize Product Responses Update the "Generate Product Response" node with YOUR actual products: Example for Fashion Store: if (category === 'tops') { response = Hi ${userName}! Check out our TOPS collection:\\n\\n; response += 👕 Cotton Casual T-Shirt\\n 💰 ₹499\\n 🎨 5 colors available\\n 🔗 yourstore.com/tshirts\\n\\n; response += 👚 Formal Shirt\\n 💰 ₹899\\n 🎉 Buy 2 Get 20% OFF\\n 🔗 yourstore.com/shirts\\n\\n; } Example for Grocery Store: if (category === 'vegetables') { response = Fresh VEGETABLES available, ${userName}:\\n\\n; response += 🥕 Fresh Carrots (1kg)\\n 💰 ₹40\\n 🌱 Organic\\n\\n; response += 🍅 Tomatoes (1kg)\\n 💰 ₹30\\n ✅ Farm Fresh\\n\\n; } Example for Restaurant: if (category === 'italian') { response = Delicious ITALIAN dishes, ${userName}:\\n\\n; response += 🍕 Margherita Pizza\\n 💰 ₹299\\n 👨🍳 Chef's Special\\n\\n; response += 🍝 Creamy Alfredo Pasta\\n 💰 ₹349\\n 🔥 Bestseller\\n\\n; } STEP 3: Update Company Information Edit the "Build AI System Prompt" node: For a Boutique: const systemPrompt = `You are a customer service assistant for Elegant Threads Boutique. COMPANY INFORMATION: Business: Women's Designer Clothing Boutique Products: Ethnic wear, western wear, accessories Price Range: ₹1,500 - ₹15,000 Speciality: Custom tailoring available Store Address: Shop 12, Fashion Street, Mumbai Phone: +91 98XXXXXXXX Delivery: Pan-Mumbai, 2-3 days Returns: 7-day no-questions-asked return policy `; For a Tech Store: const systemPrompt = `You are customer support for TechHub Electronics. COMPANY INFORMATION: Business: Consumer Electronics Retailer Products: Smartphones, laptops, accessories, home appliances Price Range: ₹500 - ₹2,00,000 Speciality: Same-day delivery in Delhi NCR Warranty: Extended warranty on all electronics Store: Connaught Place, New Delhi Phone: +91 11-XXXXXXXX `; For a Bakery: const systemPrompt = `You are the assistant for Sweet Delights Bakery. COMPANY INFORMATION: Business: Fresh Baked Goods & Custom Cakes Products: Cakes, pastries, cookies, bread Price Range: ₹50 - ₹3,000 Speciality: Custom cakes for all occasions (24hrs notice) Store: Baker Street, Bangalore Phone: +91 80-XXXXXXXX Delivery: Free above ₹500 within 5km `; Additional Customization Options Change AI Model Replace Google Gemini with other LLM providers: OpenAI GPT-4**: Best for nuanced understanding Anthropic Claude**: Strong at following instructions Llama** (self-hosted): Cost-effective for high volume Simply swap the "Google Gemini Chat Model" node with your preferred model. Add More Intents Extend the intent classification in the "Classify User Intent" node: // Add order tracking if (/track.order|order.status|where.*order/i.test(text)) { intent = 'order_tracking'; } // Add complaint handling if (/complaint|unhappy|problem|issue|refund/i.test(text)) { intent = 'complaint'; } // Add shipping questions if (/shipping|delivery|courier|when.*arrive/i.test(text)) { intent = 'shipping_inquiry'; } Then add corresponding response nodes in the routing switch. Integrate with CRM Connect to HubSpot: Add HubSpot node after intent classification Log every conversation as a ticket Create contacts automatically Track customer journey Connect to Salesforce: Use Salesforce node to create leads Update opportunity stages based on intent Log interactions in Activity History Connect to Airtable: Store conversations in Airtable database Analyze common questions Build knowledge base from real conversations Add Multi-Language Support Method 1: Google Translate API Detect message language Translate to English for processing Translate response back to user's language Method 2: Multilingual AI Add language preference to AI prompt Train AI on multilingual responses Support major languages natively Rich Media Responses Send images: return [{ chatId: chatId, image: 'https://yoursite.com/product.jpg', caption: 'Check out this product!' }]; Send documents: Product catalogs (PDF) Warranty cards Invoice copies Installation guides Send location pins: Store locations Delivery tracking Service centers Human Handoff Logic Add escalation for complex issues: // Check if AI can't help if (complexityScore > 8 || sentiment === 'angry') { // Notify human agent // Transfer conversation // Set status: 'awaiting_agent' } Integrate with: Intercom for live chat handoff Slack for agent notifications Zendesk for ticket creation Connect to Inventory Real-time stock checking: Query your database for availability Show "In Stock" / "Out of Stock" status Suggest alternatives for unavailable products Notify customers when items are restocked Dynamic pricing: Pull current prices from database Apply promotional discounts automatically Show time-sensitive offers Add Analytics Track metrics: Messages per day/week/month Most common intents AI usage vs. pre-built responses Average response time Customer satisfaction scores Integration options: Google Analytics for website tracking Mixpanel for event tracking Custom dashboard in Grafana Google Sheets for simple logging Business Hours Management Add business hours logic: const now = new Date(); const hour = now.getHours(); const isBusinessHours = (hour >= 10 && hour < 20); // 10 AM - 8 PM if (!isBusinessHours) { return [{ response: "We're currently closed. Our hours are 10 AM - 8 PM. We'll respond when we open!" }]; } A/B Testing Responses Test different response styles: Formal vs. casual tone With/without emojis Short vs. detailed answers Different CTAs Track which versions lead to more sales/conversions. Tips for best results 1. Start Simple Begin with 3-5 main intents Add more as you see common patterns Don't over-complicate the initial setup 2. Monitor and Iterate Review conversations weekly Identify missed intents Refine pattern matching Update product information regularly 3. Balance Pre-Built vs. AI Use pre-built for: FAQs, product lists, contact info (fast, cheap) Use AI for: Comparisons, complex queries, personalization (slower, costs money) Aim for 70-80% pre-built, 20-30% AI 4. Optimize Response Times Pre-built responses are instant AI responses take 2-5 seconds Set user expectations ("Let me check that for you...") 5. Test Different Scenarios Happy path (normal inquiries) Edge cases (misspellings, slang) Multi-turn conversations Multiple topics in one message 6. Keep Responses Concise WhatsApp users prefer short messages Use formatting (bold, bullets) for readability Break long responses into multiple messages 7. Maintain Brand Voice Customize AI system prompt with your brand personality Use consistent tone across all responses Include brand-appropriate emojis 8. Handle Failures Gracefully Add error handling for API failures Have fallback responses ready Always offer human contact option 9. Respect Privacy Don't store sensitive information Comply with GDPR/local privacy laws Allow users to delete their data 10. Monitor Costs Track Gemini API usage Set spending alerts Optimize prompt length to reduce token usage Common use cases across industries Fashion & Apparel Store Answer size and fit questions Share new collection arrivals Check stock availability by size/color Process exchange requests Share styling tips Electronics & Tech Store Provide product specifications Compare different models Check warranty information Share installation guides Handle technical support queries Grocery & Food Store Check product availability Share daily fresh stock updates Take bulk orders Provide recipe suggestions Handle delivery slot bookings Beauty & Cosmetics Recommend products for skin types Share ingredient information Explain usage instructions Handle shade/color queries Process return for wrong products Home Furniture Store Share dimensions and specifications Check delivery timelines Provide assembly instructions Schedule store visits Custom furniture inquiries Restaurant & Cafe Share menu and prices Take table reservations Handle takeaway orders Answer dietary restriction questions Share daily specials Jewelry Store Share designs and prices Book appointments for trials Check customization options Verify metal purity/certifications Handle repair inquiries Bookstore Check book availability Take pre-orders for new releases Recommend books by genre Share reading lists Handle exchange requests Important Notes: This workflow requires WhatsApp Business API (not regular WhatsApp Business app) WhatsApp Business API typically requires business verification Message rates and limits vary by provider Test thoroughly before deploying to customers Always provide a way to reach human support Getting Started Tip: Start with just contact info and product inquiries. Once that works smoothly, add AI responses for complex queries. Gradually expand based on actual customer needs you observe in conversations.