π¨ A dental clinic was losing patients every single day.
Not because of bad service. Not because of high prices.
Because nobody was replying to messages.
Patients messaged on WhatsApp, Messenger, SMS⦠And waited. And waited. And left.
The clinic owner contacted me with one simple ask:
βI canβt hire someone to reply 24/7. Can you help?β
So, I built them an AI receptionist that never sleeps. π
Hereβs exactly what it does:
β Omnichannel Support: Instantly replies to patients on WhatsApp, Facebook Messenger & SMS β all from one system.
β Human-like AI: Google Gemini AI understands the message, detects intent, and replies naturally.
β Smart FAQ Handler: Answers questions about services, pricing & clinic hours by pulling live data from Google Sheets.
β Automated Booking: Checks availability, blocks double-bookings, and confirms only after saving to the sheet.
β Instant Alerts: Notifies the clinic owner instantly via Gmail + Telegram on every new booking.
β Smart Reminders: Sends automated email reminders β 2 hours and 1 hour before the appointment.
β No-Show Recovery: Detects missed appointments and automatically sends a polite rescheduling email after 12 hours.
The Tech Stack π οΈ:
βοΈ Make.com β Automation backbone
π§ Google Gemini 2.0 Flash β AI brain
π Google Sheets β Live clinic database
π¬ Green API β WhatsApp integration
π± Facebook Messenger API & Twilio β Chat & SMS
βοΈ Brevo β Email reminders
π’ Telegram Bot β Owner notifications
πΎ Make.com DataStore β Conversation memory per patient
The Result? π
Every patient gets an instant, intelligent reply β 24/7. No missed bookings. No forgotten appointments. No manual follow-ups.
The clinic owner now wakes up to confirmed appointments already in the sheet with zero manual effort.
This is what I build for businesses. If youβre still replying manually and losing leads while you sleep β DM me. Letβs fix that. π
For the Sheets booking step, I'd test two patients requesting the same slot at the same moment through different channels. How do you prevent both Make runs from reading it as free before either writes the booking?
Great question! For a basic MVP setup, I handle that with a quick Apps Script lock or by checking availability right before the write step. For high-scale production, moving to a database with unique constraints solves it natively!
π Saasti β Smart Automation for Growing Businesses
A modern SaaS website concept designed to turn complex automation into a simple, intuitive experience. With clean layouts, interactive workflow dashboards, vibrant accents, and clear messaging, every section highlights the power of smarter business operations.
Your own secure AI workforce, built on your own data.
Most SMEs pay for one expensive, generalist AI that knows nothing about their business. We're flipping that: a small, focused AI assistant for each department (HR, Accounts, Marketing, Sales, and Operations), each trained on your own business data.
How we build it:
1. Data prep: clean, structure and secure your data 2. Architecture: right-sized small model, RAG and workflows 3. Training: fine-tuned per department, improving with feedback 4. Privacy: access controls, PII redaction, and your data stays yours 5. Deployment: web, mobile, Teams/Slack, plugged into your existing tools
The result is lower cost, higher accuracy, and an AI that actually understands how your business runs.
We're piloting this internally at Indigloo first. If you run an SME and want to see a department assistant in action, DM me. π
For the internal pilot, I'd keep a held-out question set per department and compare RAG alone with RAG plus fine-tuning. Which department do you expect to benefit most from tuning, and what errors would you want it to reduce?