Skip to content
Daleel CRM

The operating system for medical complexes

Every patient conversation — in one place

Instagram · WhatsApp · Facebook · TikTok · Google Maps

One inbox that turns into bookings — and tells you which ad produced them.

Book a diagnostic Sign in 45 minutes · no commitment

Built for Saudi medical complexes. Arabic-first, not translated.

How many conversations arrived yesterday with no reply?

Instagram blocks replies after 24 hours. A conversation you miss does not come back.

Meta's rule — not a setting in our system

The problem

Patients arrive on five channels — and land on one phone

Patients reach you through Instagram, WhatsApp, Facebook, TikTok and Google Maps — and all of it lands on one receptionist's phone.

Management cannot see what arrives

No number for conversations received, none for those left unanswered, none for reply time.

Nobody knows which ad produced it

Budget goes out on campaigns, and the result is judged by impression rather than by riyal.

And nothing remains when that employee leaves

Conversations, promises and follow-up dates walk out of the door with them.

The solution

One inbox for every channel — it becomes bookings, and it is measured in riyals

  1. 1

    Every conversation in one place

    With a counter showing when the reply window closes.

  2. 2

    Every conversation has an owner

    Routed automatically by shift, daily cap and channel.

  3. 3

    Turn it into a booking in one click

    And the campaign it came from stays attached to it.

  4. 4

    Every riyal attributed

    To the channel, the campaign, the branch, the employee and the service.

Inside the system

Three screens the clinic runs on daily

What arrived, then the booking, then the number that says what worked.

  • Noura Instagram How much is a laser session? 4 min ago 20:11 left
  • @rand_k Instagram Any slot on Thursday? 22 min ago 18:40 left
  • Abu Mohammed WhatsApp I need to move my appointment 1 hr ago Open
  • Sara Google Maps Review awaiting a reply Yesterday Closed

Reply window: Every channel in one list, with a counter for what is left of the reply window. Window closed — reply from the app

New 8

Noura A.

Facial cleanse

Instagram 450 SAR
Booked 5

Khalid M.

Implant

Dental campaign 3,200 SAR
Delivered 12

Abu Mohammed

Consultation

WhatsApp 150 SAR

From conversation to booking to attendance — with the source attached to the card.

Return on ad spend
Source Bookings Attributed income
Instagram 64 86,400
Dental campaign 31 52,000
Google Maps 22 28,900
Unattributed 17 19,300

Income attributed to each channel — and what is unattributed stays visible, never distributed. "Unattributed" is always its own row — distributing it across campaigns makes every one of them look better than it is.

An illustrative representation of the interface — the figures shown are for illustration only and belong to no complex.

Product

What you run from Daleel

Six groups, exactly as they appear in the system.

Daily work

Inbox · Posts and comments · Google reviews · Ad lead forms · Google Sheets sync · Bookings · Customers · Tasks and reminders · Customer campaigns

Reports and analytics

Six axes over one date range: services · clinics · doctors · staff · customer statuses · sources.

Marketing

Story Center · Ads · Landing pages with live links.

Channels and integrations

Connected accounts · WhatsApp · Message templates · Tracking and pixels.

Catalogue

Clinics within the complex · Doctors · Services · Offers · Packages · Before/after.

Complex administration

Complex profile · Team and its four roles · Team activity log · Rewards · Subscription · Trash.

What sets it apart

Four differences a button cannot copy

It starts from the message, not from a contact

Most Instagram messages arrive with no phone number — just an @username. That is the normal case here, and the exceptional one everywhere else.

The 24-hour window is a first-class rule in the product

A counter on the conversation, an alert before it closes, and a report of the customers lost.

The loop is closed

From ad spend to realized riyals — by attribution recorded on the row itself, not by guesswork.

Multi-branch

Central administration · a scope per region and city · visit any branch as yourself, and everything you do is logged under your name.

How it works

You start with a diagnostic, not an installation project

There is no installation. The first step is connecting one channel, and it takes minutes.

  1. 1

    We connect one channel

    Through the platform's own authorization. We never take your password, and you can disconnect it yourself at any time without us.

  2. 2

    We measure your current reply time

    Median and 90th percentile — not a single average that hides the worst cases.

  3. 3

    We extract your missed windows

    Over the last 30 days: how many conversations closed before anyone replied.

  4. 4

    You keep the report

    Whether we continue together or not. The number is yours.

What moves with you: customers, historical bookings, services and prices. What does not: your old conversation history — there is no source for it; conversations begin the day the channels are connected.

Value

Seven questions that get an answer

We do not promise a percentage improvement. We promise you will know your number within 30 days.

Seven questions that get an answer
Today After
How many conversations went unanswered yesterday? A number on the screen
How many patients did we lose to a closed window? The "missed windows" report
How long does our first reply take? Median and 90th percentile
Where did this booking come from? The channel and the campaign
Which service, doctor, clinic or employee produces? Six reporting axes
What did last month's campaign produce in riyals? Return on ad spend
Who did what, and when? A full audit log

Your patients' data

The controls by name — not a general description

Complete isolation between complexes

One complex cannot see another's data — guaranteed by automated tests that fail the build.

A separate private disk for patient files

Patient photos and attachments sit on storage with no public URL at all, readable only through an authenticated request.

Hourly encrypted backups

And the upload key cannot read them — so whoever holds the server cannot open a single one.

A full audit log

Every change recorded under its author, and an export is logged before the first byte leaves.

We do not hold a formal security certification today, and we will not claim one. What we have is exactly these controls, and we will put them in the contract.

Under the hood

Built to last, not to be shown off

The technical choices a user actually feels — not a list of tools.

Arabic-first, not translated

The interface was built right-to-left, and the Arabic fonts are self-hosted, so nothing waits on an external server at first paint.

One API behind three panels

The complex panel, the group panel and the operator panel all read from one documented API, so two screens cannot disagree about a number.

Permissions on the route, not in the interface

Hiding a button is not a control. Every route declares the ability it requires, and a test that reads the route table refuses any new route without one.

Official channel authorization

Authorization through the platforms themselves, with no passwords, and revocable from your own account without going through us.

Plainly

What we do not do

We say it here, not after you sign.

  • Not a medical system: no patient record, no prescriptions, no insurance billing. We integrate with those who do.
  • Your old conversation history does not migrate — conversations begin the day the channels are connected.
  • TikTok: campaigns yes, but there is no path for its lead forms today.
  • We do not promise a percentage improvement. We promise you will know your number within 30 days.
  • No ready-made integration with any specific medical system. Name the system, and we will come back with a specific answer.

FAQ

The questions people actually ask

We already have a CRM — what is different?

Most systems start from a contact that has a phone number. We start from the message: an Instagram conversation with no number, just an @username, is a normal case here. And if your system already answers "how many conversations went unanswered yesterday?", you do not need us.

WhatsApp works fine for us — why change?

WhatsApp works for replying. But it will not tell you how many conversations were missed, how long your reply took, or which ad produced the booking — and nothing of it remains when the employee leaves. We do not replace the reply; we put it somewhere it can be measured.

Is migration hard? How long does it take?

What moves with you: customers, historical bookings, services and prices. What does not: your old conversation history — there is no source for it, and conversations begin the day of connection. The important step is not the import but connecting the channels, which takes minutes. And we can start with a single branch before expanding.

Is the system secure?

Controls instead of adjectives: complete isolation between complexes guaranteed by automated tests · patient files on a private disk with no public URL · hourly encrypted backups whose upload key cannot read them · and an audit entry written before the first byte of any export leaves. And plainly: we do not hold a formal security certification today, and we will not pretend otherwise.

Is your WhatsApp official?

Outbound WhatsApp currently goes through a provider that automates WhatsApp Web. It works and has been tested on a real number, and there is a risk of a ban if it is misused — which is why the system enforces spacing between messages and a daily cap. Those are protective controls, not performance settings. The official path (WhatsApp Business API) is built as a ready alternative.

Does it integrate with our systems?

Inbound is ready: Instagram, Facebook, WhatsApp, Google Maps, Meta ad forms and Google Sheets, plus a documented API. There is no ready-made integration with any specific medical system — name the system and the data you want to move, and we will come back with a specific answer.

Why connect my channels to you? Is that not risky?

Connection is through the platform's official authorization — we never take your password, and you can revoke it at any time from your own account settings without going through us. The more important question: today your messages sit on an employee's personal phone. Which is riskier?

You are a new product — how many customers do you have?

We are early, and we will not invent a number. That means two things: direct attention from us, and your feedback reaching the product quickly. We are not asking for blind trust — we are asking for 30 days on one branch with your own figures, and if it tells you nothing you did not know, we stop.

What happens to my data if you shut down?

You export your data yourself at any time from inside the system — customers and bookings. And we can add an exit clause to the contract committing to a full copy on request.

Does it support more than one branch?

Yes: a central administration above the branches, with a scope per region and city, and the ability to visit any branch as yourself — everything you do during that visit is logged under your name, not the branch staff's.

Next step — a 45-minute diagnostic

We connect one channel, measure your reply time, and extract your missed windows over the last 30 days. You keep the report whether we continue or not.

Request the diagnostic No commitment · no contract

Talk to the people who built it

One question or a full session — both reach the same person.