AI Phone Receptionist

Voice-powered customer intake, emergency detection, and smart scheduling for plumbing companies

Server Running on Port 3001

📋 Requirements Checklist

View the complete MVP1 requirements checklist with implementation status for all features.

View Checklist →

📞 Voice Webhooks

Twilio voice call handling with OpenAI Realtime API integration for natural AI conversations.

View Endpoints →

💬 SMS Commands

Plumber coordination via SMS: CONFIRM, BUSY, AVAILABLE, CLOSED, STATUS, HELP.

View Endpoints →

📅 Scheduling

AM/PM appointment windows with availability management and blocked dates.

View Endpoints →

🚨 Emergency Detection

Automatic detection of gas leaks, flooding, burst pipes with safety scripts.

View Details →

🌐 Bilingual Support

English and Spanish with mid-call language switching capability.

View Details →

API Endpoints

Method Endpoint Description Auth Test
GET /health Health check Public
POST /api/v1/auth/register Register new account Public
POST /api/v1/auth/login Login Public
GET /api/v1/auth/me Get current user JWT
GET /api/v1/calls List calls JWT
GET /api/v1/calls/stats Call statistics JWT
GET /api/v1/appointments List appointments JWT
GET /api/v1/account Get account JWT
GET /api/v1/account/dashboard Dashboard summary JWT
POST /webhook/voice Twilio voice webhook Twilio Sig -
WS /webhook/voice/stream Media stream (WebSocket) Twilio -
POST /webhook/sms Twilio SMS webhook Twilio Sig -

API Tester

Health
Register
Login

Test the health endpoint:

GET /health

Register a new account:

POST /api/v1/auth/register
Content-Type: application/json

{
  "email": "demo@example.com",
  "password": "password123",
  "name": "Demo User",
  "companyName": "Demo Plumbing Co"
}

Login to get JWT token:

POST /api/v1/auth/login
Content-Type: application/json

{
  "email": "demo@example.com",
  "password": "password123"
}
Response will appear here...