Case study portfolio

Assistente WhatsApp AI con RAG per studio dentistico.

Una demo end-to-end che collega widget chat, WhatsApp, knowledge base privata, n8n, pgvector e HubSpot CRM per rispondere ai pazienti e qualificare richieste di appuntamento.

<5s
risposta chat, 24/7
<30s
lead qualificato nel CRM
12+
casi limite testati
studio-rossi-ai-demo live
Landing demo dello Studio Dentistico Rossi con assistente AI e prenotazione appuntamenti.
// Astro · React · n8n · OpenAI · WhatsApp · HubSpot · pgvector

Problema reale

La segreteria risponde sempre alle stesse domande e inserisce lead nel CRM a mano.

Uno studio professionale riceve richieste su orari, prezzi, urgenze, convenzioni e appuntamenti. Un chatbot generico non basta: serve un sistema collegato ai canali reali, alla knowledge base dello studio e al CRM usato dal team.

Soluzione

Due automazioni nello stesso scenario demo.

La landing dello Studio Dentistico Rossi mostra il lato cliente. Dietro, n8n orchestra AI, database vettoriale, CRM e notifiche per trasformare conversazioni e form in lavoro operativo.

[ 01 ]

Assistente AI con RAG su WhatsApp e widget

Il paziente scrive dal sito o da WhatsApp. Il workflow recupera il contesto dalla knowledge base, mantiene memoria conversazionale e risponde solo su informazioni controllate.

  • Knowledge base privata dello studio
  • Embedding OpenAI e ricerca pgvector
  • Handoff umano per richieste fuori scope
[ 02 ]

Form appuntamento con qualifica lead

Il form invia un payload strutturato a n8n. L'AI identifica urgenza, servizio richiesto, valore stimato e prossima azione per la segreteria.

  • Validazione input e consenso privacy
  • Output AI controllato e review manuale
  • Email o conferma automatica al paziente
[ 03 ]

Scrittura automatica su HubSpot CRM

Il workflow cerca duplicati, crea o aggiorna il contatto, apre un deal, genera un task e salva una nota con la sintesi AI della richiesta.

  • Contact, Deal, Task e Note
  • Deduplica per email o telefono
  • Log e fallback se HubSpot non risponde

Architettura

Dal messaggio del paziente al CRM, senza passaggi manuali.

01

Canali

WhatsApp Business Cloud API, widget chat e form appuntamento sulla landing demo.

02

Orchestrazione

n8n riceve webhook, normalizza i dati, gestisce routing, errori e risposte al frontend.

03

AI + RAG

OpenAI genera embedding, cerca nella knowledge base con pgvector e produce risposte contestuali.

04

Sistemi

Neon PostgreSQL salva memoria e documenti; HubSpot riceve lead, deal, task e note operative.

Utente
WhatsApp / Widget / Form
n8n Webhook
OpenAI + pgvector
HubSpot CRM
Email / Handoff umano

Proof of work

Cosa dimostra tecnicamente questo progetto.

La parte importante non è la landing dello studio, ma il sistema dietro: canali reali, knowledge base controllata, automazioni CRM e comportamento prevedibile quando qualcosa non va.

Knowledge base realistica

Servizi, orari, prezzi, urgenze, convenzioni, team medico e regole di prenotazione sono raccolti in un file KB, diviso in chunk da 1000 caratteri e recuperato con ricerca cosine top-4 su pgvector.

Memoria conversazionale

La chat usa session ID o numero di telefono come chiave e mantiene una finestra di 10 messaggi, così ogni turno resta coerente con lo scambio precedente invece di essere isolato.

Fallback locale

Il widget restituisce risposte demo anche se il webhook non risponde, evitando una UX completamente rotta durante test o manutenzione.

CRM workflow

Il lead non resta in una email: l'AI restituisce urgenza, servizio e valore stimato in JSON strutturato, che diventano contatto, deal nella pipeline, task entro 24h e nota per la segreteria su HubSpot.

Handoff umano

Richieste fuori scope, urgenze o casi ambigui possono essere loggati e passati a una persona invece di forzare una risposta AI.

Sicurezza demo

La repo documenta credenziali fuori dal frontend, dati fittizi, token in n8n credentials e nessun dato sanitario reale nella demo.

Oltre la demo

Casi limite che un cliente reale si aspetta di vedere gestiti.

01

Domande fuori scope

La risposta deve restare vincolata alla KB e proporre contatto umano quando la richiesta non e gestibile dall'assistente.

02

Urgenze e sintomi

Dolore, gonfiore, trauma o dente rotto devono attivare priorità alta e indicazioni di contatto rapido, senza diagnosi mediche.

03

Prompt injection

Messaggi che provano a cambiare le regole operative non devono alterare importi, priorità o comportamento del workflow.

04

Errori API

Timeout, webhook non disponibile, HubSpot 429 o email fallita devono produrre log, retry o review manuale senza perdere il lead.

Stack

Strumenti usati nella demo.

Ho scelto strumenti economici e realistici per PMI: hosting statico per la landing, n8n per orchestrare, Postgres con pgvector per RAG e HubSpot come CRM commerciale.

Frontend demo

Astro, React, Tailwind CSS, widget chat, form appuntamento, deploy Vercel.

AI & RAG

OpenAI, GPT-4o-mini, text-embedding-3-small, retrieval su knowledge base privata.

Database

Neon PostgreSQL, pgvector, tabella documenti, memoria chat, messaggi e richieste handoff.

Automazione

n8n, webhook, WhatsApp Business Cloud API, HubSpot CRM API, SMTP o Resend.

Vuoi un sistema simile?

Posso adattare questa architettura a studi, servizi locali, agenzie e PMI.

La demo e costruita su uno studio dentistico fittizio, ma lo schema funziona anche per cliniche, consulenti, strutture hospitality, formazione, real estate e servizi professionali.

Preferisci l'email? Scrivimi a luigi.scorzelli87@gmail.com