← Back to Skills Marketplace
mhmalvi

Dental Ai Receptionist

by Muhammad H.M. Alvi · GitHub ↗ · v1.0.2
linuxdarwinwin32 ⚠ suspicious
426
Downloads
0
Stars
1
Active Installs
3
Versions
Install in OpenClaw
/install dental-ai-receptionist
Description
Complete AI voice receptionist system for dental practices. 12 workflows covering inbound call routing, appointment booking, reminders, no-show followup, can...
README (SKILL.md)

Dental AI Receptionist

A production-ready, 12-workflow AI voice receptionist system for dental practices. Handles inbound calls, appointment booking, reminders, cancellations, waitlist management, patient recall, and staff escalation — fully automated.

Problem

Dental practices lose revenue from missed calls, no-shows, and manual scheduling overhead. Front desk staff spend 60-70% of their time on phone calls that could be automated. After-hours calls go to voicemail and patients book elsewhere.

This system provides 24/7 AI-powered call handling, automated reminders, and intelligent patient management.

What It Does

  1. Inbound Call Routing — AI answers calls, identifies intent (booking, cancellation, FAQ, emergency), routes accordingly
  2. Appointment Booking — Books appointments with calendar integration and SMS confirmation
  3. Smart Reminders — Sends 48h, 24h, and 2h reminders to reduce no-shows
  4. No-Show Followup — Automatically follows up with patients who miss appointments
  5. Cancellation & Waitlist — Handles cancellations and fills gaps from waitlist
  6. After-Hours Capture — Captures calls outside business hours for next-day followup
  7. Patient Recall — Proactive outreach for overdue care (cleanings, checkups)

Included Workflows

# File Purpose
01 01-inbound-call-handler.json Call intake, intent classification, business hours routing
02 02-appointment-booking.json Book appointments, calendar sync, PMS integration
03 03-appointment-reminders.json Multi-stage reminders (48h, 24h, 2h before)
04 04-noshow-followup.json Detect no-shows, send followup messages
05 05-cancellation-waitlist.json Process cancellations, auto-fill from waitlist
06 06-after-hours-capture.json Capture after-hours calls for next-day callback
07 07-patient-recall.json Recall campaigns for overdue patients
08 08-faq-handler.json AI-powered answers to common questions
09 09-staff-escalation.json AI summary + alert for calls needing human attention
10 10-crm-sync.json Sync patient data with CRM (HubSpot, PMS)
11 11-daily-report.json Daily metrics email (calls, bookings, no-shows, etc.)
12 12-sms-reply-handler.json Process inbound SMS replies from patients

Architecture

Inbound Call (Vapi AI Voice)
    |
    v
Workflow 01: Intent Classification
    |
    +-- Booking ---------> Workflow 02: Appointment Booking
    |                           |
    |                           v
    |                      Google Calendar + PMS
    |
    +-- Cancellation ----> Workflow 05: Cancel + Waitlist Fill
    |
    +-- FAQ -------------> Workflow 08: AI FAQ Response
    |
    +-- Emergency -------> Workflow 09: Staff Escalation
    |
    +-- After Hours -----> Workflow 06: Capture for Callback
    |
    +-- All Events ------> Workflow 10: CRM Sync
                                |
                                +-> Google Sheets (Call Log, Appointments, Patients)
                                +-> HubSpot CRM (optional)

Scheduled:
+-- Workflow 03: Appointment Reminders (hourly check)
+-- Workflow 04: No-Show Followup (every 2 hours)
+-- Workflow 07: Patient Recall (weekly)
+-- Workflow 11: Daily Report (once daily)
+-- Workflow 12: SMS Reply Handler (webhook-triggered)

Required n8n Credentials

Credential Type Used For Placeholder in JSON
Google Sheets OAuth2 Call logs, appointments, patient records YOUR_GOOGLE_SHEETS_CREDENTIAL_ID
SMTP (Gmail or custom) Reminders, reports, notifications YOUR_SMTP_CREDENTIAL_ID
Google Calendar OAuth2 Appointment scheduling Set via GOOGLE_CALENDAR_CRED_ID env
OpenAI FAQ answer generation, call summaries Set via OPENAI_CRED_ID env
Twilio Voice calls, SMS messaging Set via TWILIO_CRED_ID env

Environment Variables

# Google Sheets
DENTAL_CALL_LOG_SHEET_ID=your-sheet-id
DENTAL_APPOINTMENTS_SHEET_ID=your-sheet-id
DENTAL_PATIENTS_SHEET_ID=your-sheet-id

# Google Calendar
DENTAL_CALENDAR_ID=your-calendar-id

# Clinic Details
DENTAL_CLINIC_NAME=Your Dental Practice
DENTAL_CLINIC_PHONE=+1234567890
[email protected]
DENTAL_CLINIC_ADDRESS=123 Main St, Your City
DENTAL_EMERGENCY_PHONE=+1234567890
DENTAL_DENTIST_PHONE=+1234567890
[email protected]
[email protected]

# Vapi AI Voice
VAPI_API_KEY=your-vapi-key
VAPI_API_URL=https://api.vapi.ai
VAPI_REMINDER_ASSISTANT_ID=your-reminder-assistant-id
VAPI_NOSHOW_ASSISTANT_ID=your-noshow-assistant-id
VAPI_WAITLIST_ASSISTANT_ID=your-waitlist-assistant-id
VAPI_RECALL_ASSISTANT_ID=your-recall-assistant-id

# Twilio
TWILIO_PHONE_NUMBER=+1234567890
TWILIO_CRED_ID=your-n8n-twilio-credential-id

# n8n Infrastructure
N8N_WEBHOOK_BASE=https://your-n8n-instance.com/webhook
GOOGLE_CALENDAR_CRED_ID=your-n8n-google-calendar-credential-id
OPENAI_CRED_ID=your-n8n-openai-credential-id

# Optional (CRM / Practice Management)
HUBSPOT_API_KEY=your-hubspot-key
PMS_API_URL=https://your-pms.com/api
PMS_API_KEY=your-pms-key

Google Sheets Schema

Call Log

Column Type Description
call_id text Unique call identifier
caller_phone text Caller's phone number
caller_name text Patient name (if identified)
intent text booking / cancellation / faq / escalation / after-hours
timestamp datetime Call timestamp
duration number Call duration in seconds
summary text AI-generated call summary
outcome text booked / cancelled / answered / escalated / captured

Appointments

Column Type Description
appointment_id text Unique ID
patient_name text Patient full name
patient_phone text Phone number
service_type text cleaning / checkup / filling / crown / etc.
date date Appointment date
time text Appointment time
status text confirmed / reminded / completed / no-show / cancelled
showed_up boolean Whether patient attended
reminder_48h boolean 48h reminder sent
reminder_24h boolean 24h reminder sent
reminder_2h boolean 2h reminder sent

Patients

Column Type Description
patient_phone text Primary key
patient_name text Full name
email text Email address
last_service text Most recent service type
last_visit date Most recent visit date
recall_status text due / notified / scheduled / completed
total_visits number Lifetime visit count

Quick Start

1. Prerequisites

  • n8n v2.4+ (self-hosted)
  • Vapi.ai account (AI voice calls)
  • Twilio account (phone number + SMS)
  • Google Sheets OAuth2 credentials
  • Google Calendar API access

2. Create Sheets

Set up 3 Google Sheets with the schemas above: Call Log, Appointments, Patients. Optionally add Waitlist, Escalations, After-Hours Queue, and Daily Reports sheets.

3. Configure Vapi Assistant

Create a Vapi assistant with your dental practice's greeting, business hours, services, and FAQ responses.

4. Import Workflows

Import all 12 JSON files into n8n. Replace all YOUR_* placeholders and set environment variables.

5. Activate

Activate workflows in order: 01 first (inbound handler), then the rest. Test with a phone call to your Vapi number.

Use Cases

  1. Solo dental practices — Replace or augment front desk with 24/7 AI receptionist
  2. Multi-location dental groups — Centralized call handling across clinics
  3. Dental service organizations (DSOs) — Scalable patient communication
  4. Orthodontic practices — Long appointment cycles benefit from recall automation
  5. Dental IT providers — Offer AI receptionist as a managed service to clients

Revenue Potential

  • For practices: Reduce missed calls by 80%+, no-shows by 30-50%
  • As a service: Charge $500-1,500/month per dental practice
  • Per-call pricing: $1-3 per handled call

Requirements

  • n8n v2.4+ (self-hosted recommended)
  • Vapi.ai account ($0.05-0.10 per minute)
  • Twilio account ($0.0075 per SMS)
  • Google Sheets + Calendar API credentials
  • Optional: HubSpot CRM, Dentrix/Eaglesoft/OpenDental PMS
Usage Guidance
This skill appears internally consistent for an automated dental receptionist, but it will handle and transmit protected patient data (names, phone numbers, appointment details, call transcripts and recordings). Before installing: 1) Verify the source/author and run in a staging environment with test data. 2) Only provide scoped, least-privilege API keys (separate test accounts where possible); do not supply full-admin keys. 3) Confirm legal/regulatory requirements (HIPAA/PDPA): ensure you have BAAs or equivalent with third-party services (Twilio, Google, Vapi, OpenAI, PMS, HubSpot) before sending PHI. 4) Audit webhook endpoints (N8N_WEBHOOK_BASE) and ensure they point to a secure, private n8n instance. 5) Rotate credentials and enable logging/alerts for unexpected activity. 6) Review and limit OpenAI usage or remove PHI from prompts if you cannot ensure the model/vendor supports PHI handling. 7) Test fail-safes for emergency routing and verify that recording URLs and other links are secured (access-controlled) to avoid accidental public exposure.
Capability Analysis
Type: OpenClaw Skill Name: dental-ai-receptionist Version: 1.0.2 The skill bundle is classified as suspicious due to significant prompt injection vulnerabilities identified in the `08-faq-handler.json` and `09-staff-escalation.json` workflows. These workflows directly embed user-controlled input (e.g., `{{ $json.question }}` from `08-faq-handler.json` and `{{ $json.summary || $json.transcript }}` from `09-staff-escalation.json`) into OpenAI prompts without apparent sanitization. This flaw could allow a malicious actor to manipulate the AI agent into revealing sensitive clinic information (e.g., from the system prompt's 'CLINIC INFO' or 'SERVICES & TYPICAL PRICING' sections) or generating misleading summaries/responses, potentially leading to information disclosure or operational disruption. While the system integrates with numerous sensitive services (Google Sheets, Twilio, Vapi, HubSpot, PMS) and handles patient data, there is no clear evidence of intentional malicious data exfiltration to unauthorized endpoints or other malware-like behavior.
Capability Assessment
Purpose & Capability
Name/description (AI voice receptionist for dental practices) align with required services: Twilio (voice/SMS), Vapi (AI voice), Google Sheets/Calendar, PMS and HubSpot for CRM/PMS sync, and OpenAI for summaries/FAQ. None of the required env vars or credentials appear unrelated to the stated functionality.
Instruction Scope
SKILL.md + workflow JSONs instruct n8n flows that parse inbound call payloads, log to Google Sheets, create/delete calendar events, call Vapi endpoints, send SMS via Twilio, update PMS/CRM, and email staff. All referenced files, webhooks, and env vars are within the receptionist use case; the instructions do not request unrelated system files or credentials.
Install Mechanism
Instruction-only skill with no install spec and no code files written to disk. Lowest install risk — nothing is downloaded or installed by the skill itself.
Credentials
A large number of sensitive environment variables are required (Twilio, Vapi, PMS, HubSpot, Google credentials, etc.). These are proportionate to the integrations shown, but they are highly sensitive because they provide access to PHI and external systems — treat them as high-risk secrets and provide least-privileged/scoped credentials where possible.
Persistence & Privilege
always:false and no install-time persistence or modification of other skills. The skill runs as n8n workflow definitions and will act when webhooks/triggers fire; it does not request permanent platform-level presence or modify system/other-skill configs.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install dental-ai-receptionist
  3. After installation, invoke the skill by name or use /dental-ai-receptionist
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.2
Fix: strip residual n8n metadata, fix process.env to $env, add webhook HMAC validation, add crosspost auth
v1.0.1
Fix: declare all env vars used in workflows in requires.env metadata for security scan compliance
v1.0.0
Initial release of Dental AI Receptionist – a 12-workflow, production-ready AI voice receptionist system for dental practices. - Automates inbound call routing, appointment booking, reminders, no-show followup, cancellation/waitlist management, after-hours capture, recall campaigns, FAQ handling, staff escalation, CRM sync, daily reports, and SMS replies. - Integrates with Vapi (AI voice), Twilio, Google Sheets, and Google Calendar. - Includes detailed setup instructions, required environment variables, and Google Sheets schemas for smooth deployment. - Designed to reduce missed calls, minimize no-shows, and automate routine front-desk tasks for dental clinics. - Provides daily metrics and full call logs for operational visibility.
Metadata
Slug dental-ai-receptionist
Version 1.0.2
License
All-time Installs 1
Active Installs 1
Total Versions 3
Frequently Asked Questions

What is Dental Ai Receptionist?

Complete AI voice receptionist system for dental practices. 12 workflows covering inbound call routing, appointment booking, reminders, no-show followup, can... It is an AI Agent Skill for Claude Code / OpenClaw, with 426 downloads so far.

How do I install Dental Ai Receptionist?

Run "/install dental-ai-receptionist" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Dental Ai Receptionist free?

Yes, Dental Ai Receptionist is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Dental Ai Receptionist support?

Dental Ai Receptionist is cross-platform and runs anywhere OpenClaw / Claude Code is available (linux, darwin, win32).

Who created Dental Ai Receptionist?

It is built and maintained by Muhammad H.M. Alvi (@mhmalvi); the current version is v1.0.2.

💬 Comments