Routine lead
Say you need an HVAC inspection or garage door repair. The agent should collect service, urgency, address, ZIP, and callback number.
A self-hosted AI phone agent that answers inbound calls, qualifies home-service leads, escalates emergencies, and logs the full outcome without relying on a paid voice-orchestration platform.
These scenarios are designed to show the actual state machine and failure handling instead of a scripted sales demo.
Say you need an HVAC inspection or garage door repair. The agent should collect service, urgency, address, ZIP, and callback number.
Mention a gas leak, burst pipe, smoke, sparks, no heat, or flooding. The agent should bypass the normal flow and escalate.
Give a ZIP code outside the configured service area. The agent should politely decline and optionally offer a referral.
The graph is invoked once per final caller utterance. Each turn updates state, chooses the next node, speaks back, and waits.
Inbound PSTN call opens a bidirectional media stream to FastAPI.
Mulaw 8 kHz audio becomes final caller utterances.
State machine classifies service, urgency, location, and contact.
Supabase stores calls, leads, duplicates, and call summaries.
ElevenLabs or Twilio speaks the next prompt into the live call.
The system is built with clear boundaries, health checks, tests, and explicit tradeoffs.
This voice agent is the first service in a wider home-service automation suite.
Texts callers after missed calls, manages replies, handles opt-outs, and extracts qualified lead details.
Runs estimate, no-show, re-engagement, and seasonal campaigns with consent-aware SMS or voice outreach.
Routes completed jobs through sentiment checks before sending review requests or private feedback prompts.
Embeddable RAG chat widget that qualifies website visitors and alerts the owner when a lead is ready.
The production flow keeps telephony, speech, reasoning, persistence, and integrations separated so failures can be observed and handled without breaking the call.
PSTN or mobile caller reaches the configured Twilio number.
Webhook returns TwiML and starts a bidirectional media stream.
Owns call state, routes audio, handles status callbacks, and records outcomes.
Final caller utterances drive one graph transition at a time.
Greeting, qualification, emergency escalation, service-area handling, and lead creation.
Groq primary with Mistral fallback for controlled response generation.
Calls, leads, duplicate checks, and optional Jobber or Housecall Pro handoff.
ElevenLabs Flash TTS with Twilio Say fallback when voice synthesis is unavailable.
Sanitized Supabase activity. Phone numbers are masked; names, addresses, transcripts, and notes are not exposed.