Customer Support WhatsApp Bot with Google Docs Knowledge Base and Gemini AI
Imagine it’s 2 AM, and a potential customer desperately needs to know if your restaurant is open tomorrow. In the traditional business world, they’d wait until business hours — and likely choose a competitor by then.
What if there were a solution that could handle inquiries instantly, 24/7, without hiring additional staff? A sophisticated WhatsApp bot combining Google Docs with AI technology like Gemini, creating an intelligent assistant that knows your business inside and out.
This isn’t science fiction; it’s transforming customer support now. Studies show 62% of customers prefer chatbots over waiting for human agents if faster, while businesses see a 70% reduction in routine inquiries and a 30% savings on support costs.
🚀 Ready to automate your WhatsApp chats like a pro? Try Wassenger Flows — our powerful no-code chatbot builder — and streamline your customer conversations 24/7 🤖💬
The Customer Support Crisis
Small businesses face a stark reality: customers expect immediate answers regardless of time. They want business hours, policies, and product information without phone queues or email delays. When they can’t get quick answers, they choose competitors who provide instant gratification.
AI chatbots can handle 79% of routine customer queries — questions about hours, policies, and procedures. When human agents repeatedly answer the same questions, they have less capacity for complex issues requiring expertise.
WhatsApp, with 2+ billion users worldwide, has become the customers’ preferred communication channel. It feels personal and immediate, perfect for business interactions.
👉 Start your 7-day free trial now at wassenger.com — no credit card needed! 🎉 Build smart Flows, connect with your team, and boost productivity from day one! 💡✨
The Game-Changing Solution: Document-Aware WhatsApp AI Bot
The revolutionary document-aware WhatsApp AI bot combines WhatsApp’s interface, Google Docs’ accessibility, and AI’s natural language understanding.
Here’s how it works: When customers message your WhatsApp Business number, the system immediately accesses your designated Google Doc containing business information. The AI processes both the customer’s question and your document’s current content, providing personalised, accurate responses instantly.
The brilliance lies in its dynamic nature. Traditional chatbots require manual updates when information changes. With document-aware bots, simply update your Google Doc, and the AI automatically accesses the latest information.
Example: A customer asks, “Are you open tomorrow?” The AI reads your Google Doc, sees tomorrow is a holiday with “Closed December 25th for Christmas,” and responds: “Hi! We’re closed tomorrow (December 25th) for Christmas, but we’ll be back December 26th with regular hours.”
Requirements
What you’ll need
- A Wassenger account (7-day free trial available, no credit card required)
- An inventory management system or spreadsheet
- Basic product information
- An OpenAI, or Gemini account for AI capabilities (or another AI service provider)
Here you can find the JSON with the ready-to-use workflow inside
{
"name": "Customer Support WhatsApp Bot with Google Docs Knowledge Base and Gemini AI",
"nodes": [
{
"parameters": {
"promptType": "define",
"text": "={{ $json.data.body }}\n\n",
"hasOutputParser": true,
"options": {
"systemMessage": "=You are “CliniBot, ” an AI-powered virtual assistant for Sunnyvale Health Clinic.Your goal is to help patients and prospects with friendly, accurate, and compliant information.Always follow these guidelines:\n\n1.**Tone & Style** \n - Warm, professional, and empathetic.\n - Use plain language; avoid medical jargon unless the user asks for technical details.\n - Keep responses concise(1–3 short paragraphs), but include enough detail to be helpful.\n\n2.**Core Knowledge Domains** \n - **Services offered**(e.g., General Checkups, Pediatrics, Dermatology, Lab Tests, Vaccinations).\n - **Hours of operation**: Mon–Fri 8 AM–6 PM; Sat 9 AM–1 PM; closed Sun and public holidays.\n - **Location & Contact**: 123 Health St., Sunnyvale; Phone:(555) 123-4567; Email: info@sunnyhealth.com \n - **Pricing & Insurance**: List standard consultation fees; accepted insurances(Aetna, Blue Cross, Medicare).\n - **Appointment Booking**: Guide through online booking link or phone.\n - **Emergency Protocols**: Direct all emergencies(“chest pain, ” “severe bleeding, ” etc.) to call 911 immediately.\n\n3.**Behavior & Conversation Flow** \n - **Greeting**: “Hello! I’m CliniBot from Sunnyvale Health Clinic.How can I assist you today?” \n - **Intent Detection**: \n - If user asks about hours, services, location → respond with details.\n - If user wants to book an appointment → provide booking link and next steps.\n - If user asks about pricing or insurance coverage → share fee schedule or insurance info.\n - If user reports symptoms → remind “I’m not a doctor” and recommend scheduling a consult or calling emergency if urgent.\n - If user asks for medical advice beyond general information → politely decline and advise speaking directly to a clinician.\n - **Escalation**: \n - For complicated health questions → “Please schedule a consultation with one of our doctors at [booking_link] or call us at(555) 123-4567.” \n - For system errors or unrecognized queries → “I’m sorry, I didn’t understand that—can you rephrase?” \n - **Closing**: Always end with “Is there anything else I can help you with today?”\n\n4.**Compliance & Privacy** \n - Never store or repeat personal health information in logs.\n - Don’t provide prescription instructions, diagnoses, or treatment plans.\n - Always include a disclaimer: “This information is for informational purposes and does not replace professional medical advice.”\n\n5.**Data Sources & Integration** \n - Pull live schedule data from `clinic_schedule` API.\n - Retrieve current fee list from `pricing_service` node.\n - Use the Google Docs tool to review the official “Sunnyvale Clinic Overview” document(via its Doc ID) before answering, to ensure you include the most up-to-date policies, services, and pricing.\n - Use `booking_link` environment variable for appointment URLs.\n - If integration nodes fail, respond: “Our scheduling system is temporarily down—please call us at(555) 123-4567, and we’ll be happy to assist.”\n\n6.**Error Handling** \n - On any integration or processing error, reply: \n > “Oops, something went wrong on my side.An agent will assist you shortly.You can retry or I’ll pass this issue to our fallback handler.” \n - Include an output field `error_next_node: true` so that your n8n workflow can route this message into a dedicated “Error Handler” node for manual follow-up or advanced logic.\n"
}
},
"id": "dabd5c12-a7b7-4446-be95-459b58d42af3",
"name": "AI Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"maxTries": 5,
"position": [1000, 520],
"retryOnFail": false,
"typeVersion": 1.7,
"alwaysOutputData": true,
"waitBetweenTries": null
},
{
"parameters": {
"jsCode": "// cleanAnswer – run once per item\nlet txt = $('AI Agent').first().json.output || '';\n\n// 1.Remove bold / italic / strike markers\ntxt = txt.replace(/[*_~]+/g, '');\n\n// 2.Convert [Texto](https://url) → Texto https://url\ntxt = txt.replace(/\\[([^\\]]+)\\]\\((https?:\\/\\/[^\\s)]+)\\)/g, '$1 $2');\n\n// 3.Collapse 3+ blank lines\ntxt = txt.replace(/\\n{3, }/g, '\\n\\n').trim();\n\n// 4.Remove the unwanted source-reference preamble\ntxt = txt.replace(/^.*?based on the document you provided[, :]?\\s*/i, '');\n\nreturn [{ json: { answer: txt } }];\n"
},
"id": "107fec61-b591-4273-9abc-50c372daeb94",
"name": "cleanAnswer",
"type": "n8n-nodes-base.code",
"position": [2260, 360],
"typeVersion": 2
},
{
"parameters": {
"jsCode": "// within24h? – run once per item\n// Meta(WhatsApp) timestamp arrives as seconds since epoch\nconst lastTs = Number($('Wassenger Trigger').first().json.data.timestamp) * 1000; // → ms\nconst withinWindow = Date.now() - lastTs < 24 * 60 * 60 * 1000;\n\nreturn [{ json: { withinWindow, answer: $json.answer, userId: $json.userId } }];"
},
"id": "0acf861d-0ff3-4033-9b80-132a9d8bb4e8",
"name": "24-hour window check",
"type": "n8n-nodes-base.code",
"position": [1820, 520],
"typeVersion": 2
},
{
"parameters": {
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "d33e218e-a49a-49ed-9c6b-55b9ea0b0dbb",
"operator": {
"type": "boolean",
"operation": "true",
"singleValue": true
},
"leftValue": "={{ $json.withinWindow }}",
"rightValue": ""
}
]
},
"options": {}
},
"id": "67fd1b13-9be7-41e0-b9b6-5b9aa9034e5d",
"name": "If",
"type": "n8n-nodes-base.if",
"position": [2040, 520],
"typeVersion": 2.2
},
{
"parameters": {
"modelName": "models/gemini-2.5-flash-preview-04-17-thinking",
"options": {}
},
"id": "dcdc865f-29b1-4064-9ec6-ccfb01aa3d29",
"name": "Google Gemini Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [940, 800],
"typeVersion": 1
},
{
"parameters": {
"options": {}
},
"id": "5604f4b2-bd9b-4a43-aa42-313e49cfcd66",
"name": "Date & Time",
"type": "n8n-nodes-base.dateTime",
"position": [1380, 520],
"typeVersion": 2
},
{
"parameters": {
"content": "**Smart WhatsApp AI Assistant Using Google Docs**\n\n📌 What it does:\nAnswers WhatsApp questions instantly using internal document knowledge.No training needed — just update the doc.\n\n📄 Reads a live Google Doc\n💬 Receives WhatsApp messages\n🧠 Crafts AI prompt using today's date + message + doc\n⚡ Uses OpenAI/Gemini to generate a response\n📤 Sends reply back over WhatsApp\n\n🧰 Prerequisites:\n- A Wassenger account: https://wassenger.com/register\n- Google Doc with your business content information\n- OpenAI or Gemini API \nkey\n- you can setup the postgress memory using the following link:\nhttps://www.youtube.com/watch?v=JjBofKJnYIU\n\n\n🛠 Setup:\n1.Paste your Google Doc ID in the Docs node\n2.No need to connect your WhatsApp number once it is registered on Wassenger.It does connect automatically\n3.Map the message field\n4.Connect OpenAI or Gemini\n5.Publish and test with a live message\n\nYou’re done!",
"height": 620,
"width": 500
},
"id": "f795870a-6b90-4d98-87cc-1333fdc03fb2",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [100, 340],
"typeVersion": 1
},
{
"parameters": {
"sessionIdType": "customKey",
"sessionKey": "={{ $('Wassenger Trigger') }}"
},
"id": "28e4dd0e-6f68-4262-8f9f-d8d5e61d6f27",
"name": "Simple Memory",
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"position": [1100, 800],
"typeVersion": 1.3
},
{
"parameters": {
"operation": "appendOrUpdate",
"documentId": {
"__rl": true,
"value": "1D5sI-FJNl6zH9P6DPkyD7-kifKX-TJnChdhsfLji50U",
"mode": "list",
"cachedResultName": "Chat logs",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1D5sI-FJNl6zH9P6DPkyD7-kifKX-TJnChdhsfLji50U/edit?usp=drivesdk"
},
"sheetName": {
"__rl": true,
"value": "gid=0",
"mode": "list",
"cachedResultName": "Sheet1",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1D5sI-FJNl6zH9P6DPkyD7-kifKX-TJnChdhsfLji50U/edit#gid=0"
},
"columns": {
"mappingMode": "defineBelow",
"value": {
"USER": "={{ $('Wassenger Trigger').item.json.data.fromNumber }}",
"MESSAGE": "={{ $('Wassenger Trigger').item.json.data.body }}",
"RESPONSE": "={{ $('AI Agent').item.json.output }}",
"TIMESTAMP": "={{ $json.currentDate }}"
},
"matchingColumns": ["TIMESTAMP"],
"schema": [
{
"id": "TIMESTAMP",
"displayName": "TIMESTAMP",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": false
},
{
"id": "USER",
"displayName": "USER",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true
},
{
"id": "MESSAGE",
"displayName": "MESSAGE",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true
},
{
"id": "RESPONSE",
"displayName": "RESPONSE",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true
}
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {}
},
"type": "n8n-nodes-base.googleSheets",
"typeVersion": 4.5,
"position": [1600, 520],
"id": "c26e154d-62b0-48b2-80f0-2f7e15ffffc1",
"name": "Google Sheets"
},
{
"parameters": {
"device": "device_id",
"events": ["message:in:new"],
"sampleEvent": "inbound-text"
},
"type": "n8n-nodes-wassenger.wassengerTrigger",
"typeVersion": 1,
"position": [680, 520],
"id": "08f548a4-5e27-400c-87a6-c8d39dfb6025",
"name": "Wassenger Trigger",
"webhookId": "d5fc58c7-0041-4030-b67b-9cd90bab4f20",
"credentials": {
"wassengerApiKey": {
"id": "9du3UAbFSzEaTSQE",
"name": "WhatsApp API key"
}
}
},
{
"parameters": {
"device": "device_id",
"phone": "={{ $('Wassenger Trigger').item.json.data.fromNumber }}",
"options": {}
},
"type": "n8n-nodes-wassenger.wassenger",
"typeVersion": 1,
"position": [2480, 360],
"id": "138e98b3-8a8e-4ff6-b8cd-dd1fd15d9855",
"name": "Wassenger",
"credentials": {
"wassengerApiKey": {
"id": "9du3UAbFSzEaTSQE",
"name": "WhatsApp API key"
}
}
},
{
"parameters": {
"device": "device_id",
"phone": "={{ $('Wassenger Trigger').item.json.data.fromNumber }}",
"message": "={{ $('Google Sheets').item.json.RESPONSE }}",
"options": {}
},
"type": "n8n-nodes-wassenger.wassenger",
"typeVersion": 1,
"position": [2260, 620],
"id": "6af4b881-b0fd-42b5-910f-475401cf7d54",
"name": "Wassenger1",
"credentials": {
"wassengerApiKey": {
"id": "9du3UAbFSzEaTSQE",
"name": "WhatsApp API key"
}
}
},
{
"parameters": {
"operation": "get",
"documentURL": "https://docs.google.com/document/d/1H6f5cFCiyg6i1Up4DjnExdBsZZaiZFT956G3Cl-I2lo/edit?usp=sharing"
},
"type": "n8n-nodes-base.googleDocsTool",
"typeVersion": 2,
"position": [1240, 800],
"id": "dbb9d274-1ef9-4ab4-a1c7-35a5f01d7f86",
"name": "Business Info"
}
],
"pinData": {},
"connections": {
"If": {
"main": [
[
{
"node": "cleanAnswer",
"type": "main",
"index": 0
}
],
[
{
"node": "Wassenger1",
"type": "main",
"index": 0
}
]
]
},
"AI Agent": {
"main": [
[
{
"node": "Date & Time",
"type": "main",
"index": 0
}
]
]
},
"Simple Memory": {
"ai_memory": [
[
{
"node": "AI Agent",
"type": "ai_memory",
"index": 0
}
]
]
},
"24-hour window check": {
"main": [
[
{
"node": "If",
"type": "main",
"index": 0
}
]
]
},
"Google Gemini Chat Model": {
"ai_languageModel": [
[
{
"node": "AI Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Date & Time": {
"main": [
[
{
"node": "Google Sheets",
"type": "main",
"index": 0
}
]
]
},
"Wassenger Trigger": {
"main": [
[
{
"node": "AI Agent",
"type": "main",
"index": 0
}
]
]
},
"cleanAnswer": {
"main": [
[
{
"node": "Wassenger",
"type": "main",
"index": 0
}
]
]
},
"Google Sheets": {
"main": [
[
{
"node": "24-hour window check",
"type": "main",
"index": 0
}
]
]
},
"Business Info": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
}
}
}
Perfect for Small Businesses
This solution addresses small business challenges perfectly. It’s cost-effective, leveraging free Google Docs, WhatsApp’s Cloud API, and AI services. Most businesses can implement enterprise-level customer support for less than hiring one part-time employee.
If you can edit Google Docs and use WhatsApp, you can manage advanced AI customer support. Industries benefit differently:
- Restaurants: Menu, hours, reservations, dietary accommodations
- Gyms: Membership rates, class schedules, equipment availability
- Retail: Product availability, return policies, store information
- Service businesses: Consultation scheduling, pricing, service descriptions
🚀 Ready to automate your WhatsApp chats like a pro? Try Wassenger Flows, our powerful no-code chatbot builder — and streamline your customer conversations 24/7 🤖💬
Implementation Made Simple with Wassenger
Wassenger emerges as the ideal solution, offering comprehensive, no-code WhatsApp automation designed for businesses of all sizes.
Wassenger’s innovative Flows feature uses visual, drag-and-drop interfaces to create sophisticated automation workflows in minutes. Ready-to-use templates for Google Docs integration, AI processing, and WhatsApp messaging mean your system can be operational within hours.
Start your free 7-day trial with Wassenger and transform your customer support today — no credit card required, no technical expertise needed.
Beyond core functionality, Wassenger offers multi-agent collaboration, campaign management for 2,000+ recipients, built-in CRM, comprehensive analytics, and mobile app management. The platform integrates with 400+ applications through Zapier and Make.
Real-World Benefits and ROI
Businesses report dramatic improvements: 30% cost savings, 24/7 availability, improved customer satisfaction, and 64% more agent focus on complex issues. The scalability means serving more customers without proportional cost increases.
🚀 Ready to automate your WhatsApp chats like a pro? Try Wassenger Flows, our powerful no-code chatbot builder — and streamline your customer conversations 24/7 🤖💬
Getting Started
Implementation is straightforward: organise business information in Google Docs, set up WhatsApp Business presence, create your Wassenger account, configure Google Docs integration, customise AI behaviour, and test before launch.
Setup takes hours, not weeks, with Wassenger’s step-by-step guidance.
The Future is Here 🚀
Document-aware WhatsApp AI bots represent a fundamental shift in customer support. Businesses implementing these systems now gain competitive advantages through superior responsiveness, operational efficiency, and customer satisfaction.
The technology is proven, the platforms are mature, benefits are clear. Every day you delay is a missed opportunity, and customers are choosing competitors with superior service.
Join thousands of businesses already using Wassenger to revolutionise their customer support. The future belongs to businesses embracing intelligent automation while maintaining the human touch that customers value.
🚀 Ready to automate your WhatsApp chats like a pro? Try Wassenger Flows, our powerful no-code chatbot builder — and streamline your customer conversations 24/7 🤖💬






