Anonymous caseReal review — identity maskedDemonstration interface — fictional data

Case study · Dental clinic · Casablanca

How a dental clinic in Casablanca reduced its WhatsApp load without replacing its team

More than 100 WhatsApp conversations arrived every day. Some ran to around twenty messages each, roughly 2,000 messages to read and process daily. The goal was never to replace the front-desk team — it was to free their attention for the patients and situations that genuinely needed a person.

Clinics and practices in Morocco trust us

Dr. Ezzine Dental Clinic
Centre Dentaire Dr. Hamza Elouati
Centre Dentaire Halim
Centre Dentaire Dr. Elouazzani
Tanger Bay Dental Center
Dr. Dinani Hicham

Forteuno Web started with the clinic's procedures, then built a team of AI agents around those rules. After deployment, conversations needing human intervention dropped from over 100 to fewer than nine per day. The measurement period stays confidential. The 24-hour WhatsApp suspensions seen before stopped recurring after the migration to the official API.

100+

conversations received per day before the project

~2,000

messages to process on comparable days

< 9

conversations per day handed to the team after deployment

< 30s

per a five-star client review

The clinic remains anonymous to protect its confidentiality. Interface screenshots use exclusively fictional demonstration data. These results describe this project and are not a guarantee for any other practice.

The problem wasn’t simply “too many messages”

The clinic used WhatsApp for appointment requests and everyday communication. That choice reduced incoming calls and kept the phone line free for more urgent cases. But the channel had grown to a scale the organization could no longer absorb manually.

A single conversation could take many back-and-forth messages: understanding the request, answering approved questions, collecting information, checking the preferred language, offering an appointment slot, or handing the request off. At more than 100 conversations a day, the team risked spending its day repeating answers while some patients needed fast human follow-up.

A second problem compounded the workload. The WhatsApp Business account occasionally faced 24-hour suspensions amid a high volume of inbound and outbound messages. Dentipro was meanwhile still sending appointment and birthday reminders. A WhatsApp outage therefore cut off a central channel of the patient relationship.

We didn’t start with a chatbot

The first conversation was with the operations manager. Before configuring any agent, we asked for the clinic's SOPs: how to qualify a request, what information to give out, how to present approved treatments, which situations count as urgent, when to hand a conversation to a person, and which data must stay out of the system's reach.

This step is the foundation of the project. A generic agent can produce fluent replies without respecting how a clinic actually operates. Our job is the opposite: adapting the technology to the existing process. If a practice has no workable procedures and isn't willing to invest the time to define them, we'd rather not deploy an agent presented as reliable.

The length of the analysis and build phase depends on the size of the organization and the complexity of its processes. Testing continues until the client is satisfied the system respects the agreed scenarios. We don’t publish a generic "live in 48 hours" promise.

What the agent could do

  • book an appointment
  • share approved pricing
  • explain treatments using clinic-approved wording
  • give location and access information
  • answer questions already covered by its knowledge base
  • qualify a request before booking or handover

Before a handover, it collected the patient's name, date of birth, a callback number different from the WhatsApp number if needed, and the reason for the visit. That reason was reframed using the qualification questions defined in the SOPs. Thanks to conversation history and context, the agent avoided re-asking for information it already had.

What the agent was never allowed to do

The boundaries mattered as much as the capabilities. The agent had no access to medical records, insurance documents, or other private information reserved for the team. Any request of that kind was handed to a person.

It did not diagnose and did not guarantee a treatment. It could explain general possibilities approved by the clinic, then recommend a consultation. Urgent situations followed the clinic's set procedure and were escalated. Clinical staff kept full clinical responsibility and access to sensitive information.

Language handling based on the conversation itself

In Morocco, language can't be decided correctly with a simple rule. A phone country code can act as a first signal, but a +212 number doesn't automatically mean the person wants to speak Arabic or Darija. The system mainly watches the language actually used in the conversation and applies the standards approved by the clinic.

Migrating to the official WhatsApp API with coexistence

The clinic moved from an app-centered WhatsApp Business setup to the official WhatsApp Cloud API with coexistence. The team could keep using the app normally while the automations and dashboard ran on the official infrastructure.

We didn't change how Dentipro sent its reminders. We didn't add message queues, custom rate limits, or systematic human approval before every message as part of this project. After the migration, the 24-hour suspensions seen previously stopped recurring.

This result describes this specific implementation. It doesn't mean a migration alone guarantees freedom from restrictions for every account: platform rules, message quality, consent, and sending practices all remain decisive.

Understand the migration to the official WhatsApp API →

A workspace for the team, not just an AI

The clinic had a shared dashboard. Conversations moved through a pipeline that included: new conversation, handled by AI, qualification, appointment booked, awaiting patient, human assistance needed, urgent, and closed.

Demonstration interface — fictional data
Demonstration Kanban board: escalated, paused, follow-up, and AI-handled conversations, with fictional data
Demonstration interface — fictional data. This screenshot illustrates the team workflow; the volumes shown are not the Casablanca clinic's actual results.

A more condensed Kanban view grouped requests escalated to the team, patients waiting, conversations due for follow-up, and those handled by the AI agent. The team could see the reason for escalation, the information already collected, and the conversation's status instead of hunting for context through a long message list.

Demonstration interface — fictional data
Demonstration inbox: paused conversation, replies sent under the team's name, fictional data
Demonstration interface — fictional data. A human takeover pauses the AI; replies then go out under that person’s name.
Real review — identity masked
Five-star Google review: WhatsApp reply in under 30 seconds. The reviewer's identity is masked.
Real review shared by the clinic owner. The reviewer's identity is masked. The visible text confirms a reply in under 30 seconds.

What people are saying:

Audio review

Client testimonial

0:00

Voice message

Shared on WhatsApp

0:00

Voice message

Client, October 2026

0:00

Audio review

Client testimonial

0:00

Demo: an AI agent replies in Darija on WhatsApp

This video is a simulation with fictional data. It illustrates the product’s language behaviour, not a real patient conversation.

Preview of the Darija WhatsApp AI agent demonstration

Watch the full demonstration with context →

What other clinics can take from this

  1. The agent is only as good as the procedures behind it. A knowledge base doesn't replace operating rules.
  2. Confidentiality is also protected by what the system can't reach. Medical or insurance documents stay reserved for authorized people.
  3. The real product is a team system. Statuses, history, qualification, and human takeover turn automation into an operational tool.
  4. Language should follow the person, not their area code. A technical signal can help, but the actual conversation should guide the response.
  5. Some practices are bad candidates for automation. A clinic that refuses to formalize its procedures shouldn't get a generic agent presented as ready.

Yes, the method can be adapted for practices in Rabat, Marrakech, Tangier, Fez, Agadir, and the other cities we cover. But the case presented here took place in Casablanca. We don't swap out the city name to manufacture local proof.

Questions about this case study

Is your team answering the same questions all day on WhatsApp?

We can start by mapping the scenarios, the approved information, and the handover rules. If your procedures aren't formalized yet, we'll tell you what needs to be prepared before we build anything.