A multi-tenant WhatsApp Automation Agent that serves schools, clinics, academies, and any business from a single WhatsApp number. Customers type a unique business code and get instantly connected to AI-powered 24/7 customer support — no staff required.
Schools, clinics, and small businesses worldwide face a recurring customer service crisis — hundreds of repetitive WhatsApp messages flood in every day, mostly after office hours when no one is available to respond. The real cost isn't just missed messages; it's lost trust, lost enrollments, and lost revenue.
Staff goes offline at 5 PM. Parents and patients send messages at night and on weekends — and wait until morning for a reply, damaging trust and causing them to look elsewhere.
"Fees kya hain?", "Admission kab hota hai?", "Timing kya hai?" — the same 10–20 questions answered manually hundreds of times a week, consuming staff time that could go elsewhere.
Sending fee reminders, admission alerts, or announcements to hundreds of contacts manually takes hours — and there's no way to schedule or automate it without expensive tools.
No record of who asked what, which questions are most common, or whether customers were satisfied. Businesses operate blind with no data to improve service.
Hiring a full-time receptionist only to answer repetitive WhatsApp messages is expensive — and still leaves gaps during nights, weekends, and holidays.
The core challenge: Can one WhatsApp number serve multiple businesses simultaneously, with AI answering every question instantly from that business's own data — 24 hours a day?
A multi-tenant WhatsApp SaaS where each business gets a unique code. A customer types the code once — the bot identifies the business, connects to its data, and answers every question from that moment forward. One WhatsApp number, unlimited business tenants, zero manual effort after setup.
The AI answers in a strict data priority order — keeping responses accurate and AI costs minimal:
Website Scrape — Fresh, auto-updated content from the business's own website
PDF Upload — Fee structures, brochures, admission forms uploaded by admin
Manual Data — Information typed directly by the admin in the dashboard
OpenAI GPT-4o-mini — Only called when no answer is found in the above sources
The WhatsApp bot and admin dashboard working together to deliver seamless customer service.
The platform is built on Node.js with a clean multi-tenant architecture. Each business's data is fully isolated in Supabase. The system combines Meta's WhatsApp Business API, intelligent web scraping via Playwright, OpenAI GPT-4o-mini, and a 7-day Q&A cache to minimize costs.
┌─────────────────────────────────────────────────────┐
│ CUSTOMER (WhatsApp) │
│ "ALNOOR" / "fees?" / "admission info" │
└────────────────────┬────────────────────────────────┘
│ HTTPS
▼
┌─────────────────────────────────────────────────────┐
│ Meta WhatsApp Business API │
│ Webhook: POST /webhook │
└────────────────────┬────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────┐
│ Node.js + Express Server │
│ ┌──────────┐ ┌──────────┐ ┌───────────────────┐ │
│ │ webhook │ │ scraper │ │ scheduler │ │
│ │ .js │ │ .js │ │ (cron jobs) │ │
│ └──────────┘ └──────────┘ └───────────────────┘ │
│ ┌──────────┐ ┌──────────┐ ┌───────────────────┐ │
│ │ ai.js │ │ database │ │ pdfParser.js │ │
│ │ (OpenAI) │ │ .js │ │ │ │
│ └──────────┘ └──────────┘ └───────────────────┘ │
└──────────────┬──────────────────────────────────────┘
│
┌──────┴──────┐
▼ ▼
┌──────────┐ ┌──────────────┐
│ Supabase │ │ OpenAI API │
│ (DB) │ │ GPT-4o-mini │
└──────────┘ └──────────────┘
│
▼
┌──────────────┐
│ Dashboard │
│ (Web UI) │
└──────────────┘
One WhatsApp number handles unlimited business tenants simultaneously. Phone-based routing maps each customer to their business — they type the code once, then every future message is automatically routed to the correct business data.
The most complex module in the system — scrapes entire websites automatically and keeps content fresh. Built with Playwright as primary and Axios + Mozilla Readability as fallback.
GPT-4o-mini is only called as a last resort — the system is designed to answer most questions from cached website content, eliminating the majority of API costs.
Two cron jobs keep the system running without any manual intervention — websites stay current, follow-up messages go out on time.
A clean, framework-free web dashboard for managing all tenants — no React, no heavy dependencies, just fast Vanilla JS that works on any device.
A closer look at the admin panel managing multiple business tenants and the bot answering customer queries in real time.
From school admin setup to a parent getting an instant AI answer — the entire flow takes under 10 minutes to activate and runs on autopilot forever after.
| Step | Who | Action | Result |
|---|---|---|---|
| 1 | Admin | Creates business on dashboard | Code auto-generated: e.g. "ALNOOR745" |
| 2 | Admin | Adds website URL or uploads PDF | Bot scrapes and indexes all content |
| 3 | Admin | Copies share link from dashboard | Link: wa.me/923...?text=ALNOOR745 |
| 4 | Admin | Shares link on website / pamphlets | Any parent can now find and tap the link |
| 5 | Parent | Taps link → WhatsApp opens → Sends | Bot: "Welcome to Al-Noor School! What would you like to know?" |
| 6 | Parent | "Class 5 ki fees kya hain?" | Bot answers instantly from scraped website data — no AI call needed |
| Technology | Role | Why Chosen |
|---|---|---|
| Node.js v20 | Backend runtime | Async I/O handles multiple businesses simultaneously without blocking |
| Express | Web framework | Lightweight, fast REST API — minimal overhead for webhook processing |
| Supabase (PostgreSQL) | Database | Built-in auth + real-time + generous free tier — no self-hosting needed |
| Playwright | Web scraping | Industry-standard headless browser — handles Cloudflare and SPA sites |
| Mozilla Readability | Content extraction | Same engine as Firefox Reader Mode — clean article-style text extraction |
| OpenAI GPT-4o-mini | AI answers | $0.15/1M tokens input — cheapest capable model for Q&A tasks |
| node-schedule | Cron jobs | Reliable scheduling for daily scrape checks and follow-up messages |
| multer | File uploads | PDF upload handling with MIME type validation and 10MB size limit |
| Meta WhatsApp API | Messaging | Official Business API — the only way to programmatically send/receive WhatsApp messages at scale |
| Stakeholder | What They Get |
|---|---|
| School / Clinic Admin | 24/7 automated replies — no staff needed after hours, zero repetitive manual answers |
| Parents / Patients | Instant answers at any time via WhatsApp — the app they already use daily |
| SaaS Owner (Yveloxy) | One codebase serves unlimited paying clients — monthly recurring revenue with minimal maintenance |
| Developer | Clean modular architecture — easy to extend with new features or integrate new data sources |
Designing phone-based tenant routing from the start — rather than retrofitting it — saved enormous complexity. A clean mapping layer between incoming number and business context is the backbone of the entire system.
Treating AI API calls as an expensive last resort — not the default — led to a smarter, cheaper architecture. The cache + priority system means most queries are answered without any AI call at all.
Real-world school and business websites are often messy — Cloudflare-protected, React-rendered, inconsistently structured. Building dual-mode scraping with intelligent fallbacks taught far more than any tutorial about production-grade crawlers.
External APIs like Meta's WhatsApp will send duplicate events. Every webhook-driven system needs idempotency built in from day one — the message ID dedup Set was a simple but critical safeguard.
We build AI-powered WhatsApp bots that serve your customers 24/7 — answering from your own data, on your existing WhatsApp number, with zero manual effort. Serving clients in Pakistan, UAE, UK, US, and worldwide.