I built an open-source, self-hosted take on ElevenLabs' Reception.ai
Description and use
Frontdesk.ai is an open‑source, self‑hosted AI receptionist that replaces the paid Reception.ai service. It answers calls, books appointments, answers FAQs, and stores transcripts, recordings, and summaries locally, with full control over voice, models, and tools.
Problem
Dental clinics miss appointments because phones ring while staff are busy and no one answers.
Outcome
Frontdesk.ai provides a self‑hosted, open‑source AI receptionist that eliminates missed calls, automates appointment booking, answers FAQs, and stores all call data locally, eliminating subscription costs and enabling full customization.
Workflow
- 1. User runs
docker compose upto start the stack. - 2. Browser requests a LiveKit room and token from the server.
- 3. Voice worker joins the room and streams audio via WebRTC.
- 4. Voice worker runs Groq Whisper for speech‑to‑text, then a Groq‑hosted LLM with tools
check_availability,book_appointment,search_knowledge. - 5. LLM responses are validated with Zod before database writes.
- 6. On hangup, transcript, recording, summary, and outcome are saved to Supabase.
- 7. User can paste a website URL to auto‑populate business profile and services.
Evidence
Frontdesk.ai is an open-source AI receptionist that picks up instead. It answers the call, books the appointment against a real calendar, answers questions from the business's own website, and leaves a transcript, a recording and a summary behind.
It runs on your own system. One docker compose up on your laptop or your server. Your calls, clients and recordings live in your own Supabase project.
The agent has three tools: check_availability, book_appointment and search_knowledge. Two rules apply to every tool call: Arguments are validated with Zod before anything is written. The business is resolved on the server, never from an ID the client sends.
No inbound phone calls yet. Calls happen in the browser today. Real phone numbers are the top item on the roadmap.
- Record date: 2026-10-10T12:40:55.934Z