\t\tYap Chan Kor Case Study | Autoflow Solutions
← All case studies Connected AI System
Yap Chan Kor / Malaysia

One connected system: an AI ad dashboard, a WhatsApp chatbot, and the clinic CRM.

A four-branch pain-treatment clinic ran its ads, its patient chats, and its clinic operations in three separate places, with no line from ad spend to a booked patient. Autoflow built the connected system: an AI marketing dashboard, an AI WhatsApp chatbot, and a clinic CRM that share one attribution spine.

Scope
  • 3-part AI system
  • 4 branches
  • EN / MS / ZH
  • Ads-to-CRM attribution
Stack
  • Next.js + Modal (dashboard)
  • ManyChat + Make.com (bot)
  • React + Supabase (CRM)
  • Python (e-invoicing)

The challenge

Yap Chan Kor is a Malaysian pain-treatment clinic chain across four branches (Ampang, Old Klang Road, Shah Alam, Subang Jaya), serving patients in English, Malay, and Chinese.

Three things ran in three separate places. Ad spend lived in Google and Meta. Patient conversations lived in WhatsApp. Clinic operations lived in an off-the-shelf system the clinic could not shape. Nothing connected them, so no one could draw a line from a ringgit of ad spend to a booked, paying patient.

How the pieces connect

AI Marketing Dashboard AdsPulse: Google + Meta in one place, an AI planner, and a guardrailed executor.
AI WhatsApp Chatbot ManyChat + Make.com over a retrieval knowledge base. Answers, captures, books.
Clinic CRM Supabase PWA: patient records, clinical capture, invoicing, reporting.

Campaigns bring patients in. The chatbot books them. The CRM records what happens, tagged back to the campaign that paid for it.

Autoflow’s role

Autoflow Solutions designed and built the full system end to end: discovery, architecture, all three applications, the automation layer that connects them, migration off the clinic’s old software, and deployment.

Constraints

  • The build had to connect three tools that normally never talk: two ad platforms, a WhatsApp bot, and a clinic database.
  • It is the system of record for both care and money across four branches, so reliability came before features.
  • Patients speak three languages, so the bot, the CRM, and the patient guides all had to work in English, Malay, and Chinese.
  • An AI touching live ad accounts and patient data needed hard guardrails, not blind trust.

How we built it

  1. 01

    One attribution spine across all three tools

    We tied every step together. An ad click carries its campaign tags into the WhatsApp chat, the chatbot books the patient, and the booking lands in the CRM still tagged to the campaign that paid for it. For the first time the clinic can see which ad produced which patient.

  2. 02

    The chatbot touches the CRM only through a locked-down contract

    The bot reads and writes patient data through a small set of server-side functions, never the database directly. A returning-patient lookup needs both phone and full name and never echoes stored details back, so the chat cannot be used to fish for who is a patient.

  3. 03

    A guardrail layer between the AI and the live ad accounts

    The dashboard’s AI proposes changes, but every recommendation is graded eligible, manual-only, or suppressed before anything reaches the live Google or Meta account. Entity IDs are validated and changes can be rolled back, so the AI can optimise without spending money by mistake.

What we delivered

  • AI marketing dashboard (AdsPulse): Google and Meta ads in one place, an AI planner that ranks optimisations, and a guardrailed executor that applies approved changes through the ad APIs.
  • AI WhatsApp chatbot (ManyChat + Make.com) backed by a retrieval knowledge base: answers pain-condition questions, captures and attributes ad leads, looks up returning patients, and books, reschedules, or cancels appointments.
  • Clinic CRM (Supabase PWA) replacing the old system across four branches: patient records, scheduling, clinical session capture with pain scores and a body diagram, invoicing, and reporting.
  • Multilingual marketing website (Next.js) in English, Malay, and Chinese, with dedicated ad landing pages.
  • Malaysia LHDN e-invoicing service and a full data migration off the incumbent clinic system.
  • Trilingual new-patient recovery guides, delivered automatically by the chatbot after a patient’s first plan.

Evidence

The AdsPulse marketing dashboard overview: unified spend, blended CPA, conversions, and an AI alert.
The marketing dashboard (AdsPulse) pulls Google and Meta into one command centre. The image shows the live account overview: unified spend, blended CPA, conversions, and an AI alert flagging campaigns that need attention.
The recommendations engine grading AI suggestions, several marked manual required.
The AI proposes changes, but a guardrail decides what is safe. The image shows the recommendations engine grading each action, with several marked "manual required" rather than applied automatically.
The Make.com scenario canvas for the YCK WhatsApp chatbot, wired to ManyChat and the CRM.
The WhatsApp chatbot runs on a Make.com scenario wired into ManyChat and the CRM. The image shows the live automation: the router and modules that answer questions, capture leads, and write bookings back to the clinic database.
The clinic CRM daily view on a phone: appointments, arrivals, collections, and sessions needing documentation.
The clinic CRM, installed as an app on staff phones. The image shows the daily view: appointments, arrivals, collections, and sessions still needing documentation, across all four branches.
A CRM patient profile showing condition, sessions remaining, outstanding balance, and booking actions.
One patient record holds care and money together. The image shows a patient profile with condition, sessions remaining, outstanding balance, and booking, on a test record.
The CRM campaign report grouping leads and attendance by originating source and campaign.
The attribution spine made visible. The image shows the CRM’s campaign report: leads and attendance grouped by the originating source and campaign, so ad spend ties back to real patients.

Want a system your business actually owns?

Tell us what breaks or slows you down. If a build makes sense, we will tell you. If it does not, we will tell you that too.

See other work