Simple CRM.
Smarter growth.
Built for clinics
CR8 CRM
Every message.
One queue.
Every way a patient reaches your clinic — one inbox, one patient record, one clock. And a diary that only ever offers a time that is really free.
Book a live demoFig. 1 Every door a patient can knock on leads to the same queue.
ways work gets in
live message channels
screens, each one switchable
sweep that catches late work
Eight ways in.
A patient messages, calls, or fills in a form. Reception sees one queue.
Fig. 2 What runs before anyone sees the message — about two seconds.
The same person on every channel — never three records.
Agents answer.
We do the admin.
1
2
3
4
5
- 1Every channel, one queue
- 2Who they are, across every channel
- 3A composer that knows the channel's rules
- 4Saved replies, internal notes, @mentions
- 5Their appointments, calls and history, beside the thread
Conversations by channel · 30 days
answered inside the promise
median first reply
Replying is what opens a patient record — so wrong numbers never reach your pipeline.
A time you offer
is a time that's free.
One engine answers "is this bookable?" — and the calendar, the lead drawer, the booking page and the waitlist all ask it. They cannot disagree.
Fig. 3 One column per practitioner. Nothing bookable is ever shown as free — and nothing free is hidden.
Free, and qualified for this treatment.
Only for treatments that need one.
Theirs, not the clinic's average.
Cleaning-down time after the last patient.
Anything they blocked out in Google.
Both were told the truth a moment ago. The clash check runs again at save, and the second booking is refused — naming whoever got there first.
The status turns Booked and the booked date follows the appointment whenever it moves. Mark a record Booked with nothing in the diary and it says so, and offers to fix it.
Fewer empty chairs.
Confirmations and reminders go out on the channel the patient already writes to you on. Nothing to set per booking.
With a link to manage it.
WhatsApp, or email.
Hours are yours to set.
A move un-confirms the booking.
One question, scored 1–5.
Fig. 4 The whole reminder schedule — set once, for the clinic.
A 3am reminder is a reminder that costs you a patient. It waits.
"Your appointment is in two hours", four hours late, is not a late reminder. It is a wrong one, so it is dropped.
WhatsApp shuts a thread 24 hours after the patient's last message. The reminder falls back to email, and records that it did.
The freed slot is offered to the first patient waiting who can take it — one at a time, held for them, passed on if they don't answer. Blasting it to everyone produces a race and a receptionist apologising.
Each session is a real appointment with its own reminders, movable on its own — or shift the whole remaining series. Sessions that can't land on their ideal date are shown to you before anything is booked.
Deliberately narrow: only those words, only against the soonest upcoming appointment, and only when we actually asked — so "yes" to a different question can never cancel a visit.
ScheduledConfirmedArrivedAttendedNo-showCancelled
Your diary,
on your website.
A public page showing the same free slots your front desk sees. Off until you switch it on.
Only the ones this page lists.
Or let the clinic decide.
Live from the same engine.
Patient record and booking, created together.
A treatment left off cannot be reached by editing the request.
A time is free, or simply absent. No response reveals another patient.
Rate limited per number, honeypot field, throttled slot search.
A signed link that rotates every time the appointment moves.
With the patient invited if you want — so they get a real calendar entry, Google's own reminders, and their RSVP comes back here. A Meet link for remote consultations.
A practitioner blocking out Thursday in the app they actually live in makes Thursday unbookable here. Drag one of our bookings and it comes back as a reschedule — and the patient is told.
One card.
Everything you know.
Channel, campaign, lead form or referral — decided by the conversation, not by what someone typed into a form.
Logged per patient, due today on top of the queue.
Referral letters, before-and-afters, consent forms.
Treatment value, department, and a reason when it's lost.
CSV import with a source column.
Two records of one patient become one, history intact.
Statuses, treatments, departments, sources, lost reasons — all yours to name.
A form per campaign, each with its own assignment order.
The phone rings.
You already know who it is.
Connect a Yeastar PBX and the console answers before your receptionist does.
The record opens at that number while the phone is still ringing.
Every call logged against the patient, recording attached.
Take and make calls from the console — no handset needed.
Missed calls become callbacks; daily call targets per agent.
Fig. 5 What reception sees before picking up.
A second pair of hands
at the front desk.
Off by default. Per channel, you choose how far it goes.
Nothing is drafted, nothing is billed.
A draft appears beside the thread. Offered, never inserted — it won't overwrite what an agent is halfway through typing.
It answers. Marked as automated, so it never claims the first response your promise is measured on.
Fig. 6 A bad suggestion costs an agent three seconds. A bad auto-reply is something your clinic said to a patient — so Suggest is the default.
Opening hours, treatments, prices it may quote, and what it must never promise.
An agent already replied, the patient asked for a human, the thread is assigned — it stands down and records that it looked.
A price per call, not per token. Every call writes a ledger row you can read.
And every morning, it reads your clinic back to you.
Twenty detectors run on your own numbers — a figure now, a figure before, a threshold. The model explains what they mean; it never goes hunting for problems on the mornings when nothing happened.
Volume against the four-week average, stalled records, never followed up, a source gone quiet, a lost reason taking over.
Waiting over a day, breach rate against the last three weeks, reply-time drift, unread backlog, windows about to close.
One person holding far more than the rest, slower first replies, assigned but silent, ratings gone soft.
A channel that carried traffic for a month and nothing for three days — an expired token looks exactly like a quiet week.
The same phone number on more than one patient.
Fig. 7 Findings are deduplicated across runs, clear themselves when the numbers recover, and never come back once dismissed.
One screen.
Three questions.
One date range and one channel filter across all of it.
Patients in, how many booked, conversion rate, by status, by treatment, by agent.
Conversations, first-response times, promise compliance, satisfaction.
Booked against attended, no-show rate, and how full each practitioner was — measured against their own hours, so part-time isn't reported as idle.
Booked against attended · 6 weeks
In your inbox, on a schedule
Choose the hour, the recipients, and what goes in: patients, calls, agents, follow-ups due. Attach a PDF for the owner who forwards it.
no-show rate this month
diary utilisation, Dr. Haddad
A promise
with a clock on it.
Two deadlines per priority — time to first reply, time to resolve — both counted in your working hours.
Time zones, split shifts, public holidays. An overnight message doesn't burn the promise.
Urgent and routine don't get the same promise.
Waiting on the patient doesn't count against you.
Due soon is a threshold you set, not a surprise.
Sent on the channel they already use, a set time after the thread closes — with a cooldown, so a regular patient isn't asked every week.
A reply of "5" is scored and the thread stays closed. Nobody owes an answer to the word "5".
Away, offline, or already at capacity — all three are skipped. An agent holding fifteen live chats is not really holding fifteen live chats.
One product,
sold several ways.
Around thirty switches. A clinic that never bought WhatsApp never sees a WhatsApp tab — and the endpoint behind it refuses the call.
Fig. 8 One clinic's configuration. Nothing is painted and then taken away — a tab never flickers on before something decides it shouldn't exist.
Their threads, their patients, their callbacks, their diary.
All data, assignment, coverage targets, imports, merges, scheduled reports.
Channels, routing, promises, integrations, lists, forms, diary setup.
Run it on your own server, or let us host it. Your database, your backups, your call.
None of the three roles can open the admin desk. The console is the product, and it's the only way in.
Name, logo, accent colour and currency are settings — including the emails patients receive.
See it running on
your own clinic's data.
A live demo with your treatments, your practitioners and your opening hours in it — not a generic tour.
Or book a demo at a time that suits the clinic.
Half an hour, on your own numbers. We set the diary up with your practitioners before we start, so you are looking at your clinic, not ours.
CR8 CRM — omnichannel CRM for clinics