External system
Caller / voice provider
Conversation state and structured tool requests
AI/SaaS / 2026 / Maintained
A runnable voice-operations backend and console for grounded FAQ responses, CRM updates, conflict-safe appointment booking, provider-event deduplication, human handoff, failed-transfer recovery, transcripts, tool history, and operational telemetry.
Role
Designer and engineer (solo)
Disciplines
AI Integration / Backend Systems / Full-Stack
Status
Maintained
Voice bots often demonstrate conversation but omit the difficult operational work: grounded answers, conflict-safe bookings, CRM updates, duplicate provider callbacks, low-confidence escalation, failed human transfer, traceability, and clear authority over external tools.
The voice system accepts provider call state, evaluates grounded FAQ confidence, validates structured tool requests, upserts CRM contacts, books appointments through a protected calendar boundary, and escalates emergency, ambiguous, or weakly supported requests. Duplicate provider events are ignored and failed human transfers fall back to a recorded take-message path instead of silently failing.
Evidence-led public architecture showing the consequential system boundaries, trust decisions, and reliability controls without exposing confidential routes, credentials, or operating procedures.
Architecture evidence
A voice provider submits validated call turns to a FastAPI tool service that answers grounded FAQs, updates CRM state, books conflict-safe appointments, deduplicates callbacks, and escalates uncertain or urgent requests to a human.
External system
Conversation state and structured tool requests
Service
Tenant validation, intent boundary, call state
Worker / workflow
FAQ confidence, contact lookup, controlled updates
Control boundary
Database conflict protection and calendar adapter
State / data
Human transfer, take-message fallback, call metrics
The deterministic call path is runnable and tested; a production phone line, consent policy, retention controls, and provider acceptance testing are not claimed.
Conversational memory cannot guarantee that concurrent callers do not choose the same slot. A unique tenant-and-start-time constraint rejects the second write deterministically.
The voice provider or model can request a booking, but a validated service adapter owns calendar credentials, idempotency, and the external write.
Emergency language, unsupported intent, and weak evidence produce explicit transfer or take-message states rather than speculative answers or silent workflow failure.
Every lifecycle callback is registered by provider event ID before processing so retries and duplicated webhook delivery remain safe.