Med Spa · AI Website Chatbot · Knowledge Base Automation
A website chatbot that answers real questions for med spa visitors, day and night.
Aesthetic clinics get the same questions again and again about services, pricing, memberships, and hours. I built AskDeluxe, an AI chatbot for Deluxe Med Spa Beauty’s website, so visitors get instant answers from a real knowledge base, learn what a membership includes, and find the clinic’s contact details without waiting on staff.

01 — Overview
The whole chatbot, in one conversation.
A visitor lands on the site, asks about Botox pricing or a membership plan, and gets a real answer pulled from the clinic’s own knowledge base, right inside the chat widget, no waiting on staff.
Every answer comes from the clinic’s real service and membership information, not a generic script, so what the chatbot says matches what the front desk would say.
02 — What I built
A chatbot that knows the clinic, not just chat.
This isn’t a canned FAQ widget. The AI Agent reads each question, searches the clinic’s own knowledge base, and answers in context, remembering what the visitor already asked.
Custom website chat widget
Hand-built HTML, CSS, and JavaScript widget embedded directly in the clinic's landing page.
Instant service answers
Explains treatments like Botox, fillers, facials, laser treatments, and IV therapy on request.
Membership plan explainer
Walks visitors through membership tiers and what each one includes.
Clinic hours & contact info
Shares business hours, address, phone number, and website link on request.
Knowledge base search
Pulls answers from a real vector database instead of guessing from general AI knowledge.
Visitor session memory
Remembers the current conversation so visitors don't have to repeat themselves.
Structured JSON replies
n8n sends a clean JSON response back to the widget for every message.
Knowledge-gap fallback
Gives a clear fallback answer when a question falls outside the knowledge base.
Error-safe fallback reply
Catches agent failures like an OpenRouter hiccup or a Supabase timeout on a dedicated error output and returns a warm canned reply, so the widget never hangs or shows a raw connection error.
Conversation logging
Logs every answered turn, session ID, visitor message, and bot reply, to Supabase. Branched off the main flow and set to continue on error, so logging never delays a reply.
The shift
Before a chatbot vs. after.
- —Visitors search the site manually or call the clinic
- —Staff answer the same service and membership questions repeatedly
- —Website inquiries wait minutes, hours, or until the next business day
- —Service and pricing info scattered across different pages
- —After-hours questions often go unanswered
- —Visitors may leave for a competitor if they can't find quick answers
- ✓The chatbot answers instantly from the landing page
- ✓AI handles common FAQs, staff focus on higher-value tasks
- ✓Membership and service questions get explained in the chat, no waiting
- ✓Clinic info is centralized in one searchable knowledge base
- ✓After-hours visitors get a real answer, not silence
- ✓Visitors get guided information without leaving the site
03 — How it works
One message in, one grounded answer out.
The widget sends every message to n8n with a session ID. The AI Agent checks the knowledge base, keeps track of the conversation, and replies with structured JSON the widget can render directly. A successful reply gets logged to Supabase; a failed one falls back to a safe canned response instead of stalling the chat.
How the pieces connect
Simple Memory keeps track of each visitor’s session, so the chatbot reuses earlier details instead of asking the visitor to repeat themselves. Conversation logging runs on continue on error and branches off the main flow, so a Supabase blip can never delay or break the chat, and the same pattern protects the whole conversation: if the agent itself fails, its error output routes straight to a canned fallback reply instead of leaving the widget hanging.
04 — Workflow modules
Seven modules that turn a message into an answer.
Each module handles one part of the conversation, from receiving the message to searching the knowledge base to sending a clean reply back to the widget, plus two guardrails that keep the chat reliable: a Supabase conversation log and an error fallback that catches failures before visitors ever see them.
The landing page sends the visitor's message and session ID to n8n through a webhook.
The AI Agent reads the question, checks the knowledge base, and drafts a clear, on-topic reply, branching to a success or error output depending on how it finishes.
Simple Memory keeps track of the visitor's session ID, so follow-up questions keep their context.
A vector store, indexed with embeddings, returns the most relevant clinic details for the question.
Writes the session ID, visitor message, and bot reply to a Supabase chat_logs table. Set to continue on error, so a Supabase blip can't delay or break the chat.
Catches the failure on the agent's error output (an OpenRouter hiccup, a Supabase timeout) and returns a warm canned reply instead of leaving the widget hanging.
n8n formats the reply as JSON and returns it to the widget through Respond to Webhook.
05 — Knowledge base
Answers grounded in the clinic’s own information.
Before answering, the AI Agent searches a vector database built from the clinic’s own content, so replies stay accurate instead of relying only on general AI knowledge. Here’s the knowledge base itself, and the widget answering a real visitor question with it live on the landing page.
06 — Results
Projected impact for the website.
AskDeluxe was built for Deluxe Med Spa Beauty as a paid client engagement. The numbers below are estimates based on how the workflow is designed to behave, not measured analytics from live chat traffic.
What was built
Projected impact
These are estimated outcomes based on how the workflow is designed to behave, not measured results. Actual impact depends on factors like visitor volume, the clinic’s existing front-desk process, and how visitors use the chat widget, and will vary from client to client.
Want a chatbot like this on your website?
I build website AI chatbots in n8n that answer from your real business knowledge, not a generic script bolted onto a static page. If you run a clinic, med spa, or service business that loses visitors to slow replies, let’s talk.


