Booking conflicts belong in the database
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.
AI and automation / 2026
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.

Walkthrough
The voice workflow in deterministic mock mode: a call books a slot, a second request for the same slot is refused, and a failed transfer falls back to taking a message.
My part
Decisions
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.
Screens
SYSTEM ARCHITECTURE
A Vapi, Retell, Twilio, or equivalent provider creates a platform call and submits validated conversation turns to the FastAPI tool service.
FAQ requests are answered only when retrieval confidence meets the configured threshold; weak or unsupported evidence escalates.
CRM and appointment writes are application-owned tools that validate tenant, contact, time, and current database state.
Appointment slots are protected by a database uniqueness constraint before an external calendar event is treated as confirmed.
Provider lifecycle callbacks pass through duplicate-event registration so repeated delivery cannot repeat downstream actions.
Built with
Links
More work
Gazelle's KitchenA WhatsApp business gatekeeper that qualifies genuine orders, enforces business and safety rules, contains off-topic or abusive conversations, and only surfaces the small set of cases that genuinely need the owner.PilotSellavie AIAn independent project: multi-tenant conversational-commerce software that connects social messaging with business knowledge, guarded AI, human handoff, orders, billing, analytics and operations.MaintainedAI Automation Control PlaneA runnable multi-tenant control plane for AI-assisted business workflows, combining FastAPI, Next.js, PostgreSQL, Redis, n8n, provider routing, human approval, idempotency, replay, cancellation, audit traces, and deterministic local demonstrations.Maintained