When a dental patient cancels at the last minute, the slot usually stays empty while a receptionist works through a paper waitlist by hand. Our agent, Alfred, notices the cancellation, ranks the patients who fit best, and calls down the list until someone takes the slot.
Role
Built with a team over one weekend at Hack Vienna '26, for the challenge set by Fonio.
Challenge
The whole loop had to run without a human. That meant spotting a cancellation in a call, matching it to the right calendar slot, picking the best replacement, and having a voice agent actually phone people. The agent also had to cope with "call me back later", voicemail, and chain reactions, since moving one patient into the slot frees up their old one.
Outcome
A working stack in three parts. An inbound agent books, cancels, and answers questions over the phone. A two-stage ranking engine picks the best candidate for every freed slot. Alfred, the outbound agent, calls candidates in order, books them in, falls back to SMS when it reaches voicemail, and starts over on any slot it frees along the way. Staff can watch the calendar fill back up and follow calls live in a Next.js dashboard.
Technologies used: