Every doctor their own diary, and one assistant that knows them all.
OpusDone gives each doctor in your clinic their own calendar — their hours, their appointment length, their break, their specialisation — and one AI receptionist that books across all of them. A patient asks for a consultation and is offered only the times the doctor who does it actually has free. Availability is read from Google Calendar or Cal.com at the moment of writing, so two patients cannot take one slot. It answers at 22:10 as readily as at eleven in the morning, and anything clinical goes to a person.
Reviewed

A diary for every doctor. One assistant.
opusdone.com/go/demo
The code opens a real OpusDone assistant running a demo clinic with several doctors, each with their own diary, their own hours and their own specialisation. Ask for something only one of them does and it offers you only that doctor’s real availability. Ask for the first appointment with anyone and it looks across all of them. This is your receptionist, working a shift nobody is paid for.
Name what you need. It routes by specialisation and offers only the doctors who actually do that work.
It looks across every diary in the clinic and comes back with the earliest real opening, labelled with whose it is.
It names the doctor before it writes anything, because an appointment with nobody in particular is not an appointment.
It stops, says a person will help, and flags it with the content withheld from the alert. That limit is in the runtime, not in a prompt.
This is a live demo clinic with several doctors, not a recording. Print the same code on your own door and it is your clinic the patient reaches.
They can ask for a doctor by name, ask for a treatment and be routed by specialisation, or ask for the earliest slot with anyone and get the first real opening across the whole clinic — each time labelled with whose diary it came from.
A person is required before an appointment is written. It cannot leave one in nobody’s diary.

Own working hours, own appointment length, own break, own specialisation, own list of services, own closed days. Nothing is merged and nothing is shared, so one doctor’s twenty-minute appointment never becomes another’s ninety. Availability is read again at the moment of writing, so two patients cannot take the same time.
Google Calendar or Cal.com, per person. No other provider connects.
Five it will answer today, from knowledge you approved: “Are you taking on new patients?” · “How much is a first consultation?” · “Do you see children, and from what age?” · “Is there parking near the clinic?” · “Can I pay for treatment in instalments?”.

Each person becomes one lead with a plain score out of 100 — a phone number is worth 40, an email 40, a booking 40 — and you are alerted at 50, because one way to reach somebody is enough. People who showed real intent and left no contact go on their own list so you can see what you nearly had.
Filter, search, sort, export to CSV.

Reception is on the phone. The assistant is answering everybody else.
Reception is on the phone to the lab. The patient scans the card, picks the doctor she always sees and takes a Thursday slot out of that diary rather than anyone else’s.
The clinic closed at six. He asks about a treatment only one of your doctors does, is offered only that doctor’s real availability, and books before he has looked anywhere else.
It explains how an emergency appointment works from the answers you approved, says nothing about her tooth, and offers the first time anyone in the practice has free.
The message is treated as sensitive, so the alert tells you a sensitive topic needs you and withholds what she wrote.
Three appointments are already in, each with the right doctor’s name on it, and the one alert that needed you is waiting with a single button.
Most of it is not complicated. It is a diary problem, and then it is an unanswered message.
Your receptionist is holding a handset, three people are waiting at the desk, and the question is whether one particular doctor has anything before the end of the month. Every booking is a look across every doctor’s calendar, and nobody outside the clinic can see any of them.
Are you taking new patients. What does a first consultation cost. Do you see children. Where do I park. Every one of them has been answered before, by someone standing up with gloves on.
A cancellation at four leaves a gap nobody fills, because filling it means working through a list while the next patient is already in the chair.
Nothing here needs a supplier visit or a change to how the surgery already runs. You can do the whole of it between two patients.
Each doctor keeps their own hours, appointment length, break and specialisation, and the assistant books across all of them — offering only the times that person actually has free. A patient who asks for anyone gets the earliest opening in the clinic. Five people are included on Business and ten on Pro.
The limits are the product. A front desk that guesses is worse than one that is closed.
No triage, no opinion on what that pain might be, no “it sounds like”. It says a person will help and fetches one.
If the fee for a treatment is not in the knowledge you marked live, it says it does not have that and passes you the enquiry. Drafts, website imports awaiting approval and archived entries are invisible to it.
There is no image or document understanding. An attachment it cannot read skips the model entirely: it says so plainly and brings in a person.
The AI disclosure required by EU AI Act Article 50 is added after the model writes, once per conversation, in the patient’s language, and it cannot be prompted away.
Website widget and Telegram, on Google Calendar or Cal.com. It handles logistics and hands anything clinical to a person. Every captured lead is written to a Google Sheet in your own Drive within a minute, free on every plan — and the conversation summary is off by default, so you can send a patient’s contact details without ever transmitting what they said.
Request access