Prepared for Dr. Alex Morgan

Turning the demand you
already have into
booked, attended revenue.

Three workstreams: the email programme, the GoHighLevel pipeline and trigger build, and the social graphics. One outcome, which is that a patient who raises a hand stops disappearing between the enquiry and the chair.

01 · The diagnosis

You do not have a lead problem.

You have a leakage problem that looks like a lead problem, which is why changing agencies has never fixed it.

Demand arrives through the site, the phone, the DMs and the referral network. It then has to survive a gap: between an enquiry landing and someone seeing it, between a consultation ending and a decision being made, and between a treatment finishing and the next one being booked.

Nothing in the building makes any of those the next visible task. So they fall to whoever remembers, and by four o'clock nobody remembers who called at ten.

This is a structure problem wearing a people costume. The front desk is not slow. They are interrupted every ninety seconds by a phone, a walk-in, a chat window and a patient at the till, and follow-up is the first thing that falls when the day gets loud.

What this is not

  • Not another receptionist
  • Not another platform to adopt
  • Not another promotion
  • Not another agency running ads
  • Not another spreadsheet that decays in a fortnight

Every one of those has been tried in practices like yours. This is the connective tissue between the tools you already pay for.

02 · What gets built

Three workstreams.

Workstream A

Email and SMS programme

  • Eight flows, mapped to the patient lifecycle
  • Post-consultation nurture branched by the real objection
  • Booking recovery, no-show recovery, recall
  • Consent, quiet hours and unsubscribe handling built in
  • No discounting anywhere in the programme
The full email plan

Workstream B

Pipelines and triggers

  • Five pipelines covering enquiry to membership
  • Fifteen triggers, each with an owner and a rot timer
  • Website and funnel wired to the CRM end to end
  • Source locked at first touch, so attribution holds
  • Six numbers on one screen, every Monday
The trigger map

Workstream C

Social graphics

  • Ten sample graphics, built on the site's own system
  • Four educational posts to every one offer
  • Sourced from copy already on the website
  • No before-and-after, no testimonials, no outcome claims
  • Handed over as templates the front desk can run
See the ten samples

03 · The mechanism

Website, booking, trigger, pipeline.

What fires, in what order, and where the opportunity sits at every step. Nothing here is moved by feeling; every stage change is triggered by something observable, which is a payment, an appointment status, a reply or a timer.

flowchart TD
    L[Landing page]:::src --> S1
    PH[Phone]:::src --> S1
    DM[Instagram DM]:::src --> S1
    RF[Referral]:::src --> S1

    S1["/start"]:::fun --> S2["/assessment"]:::fun
    S2 -. "abandoned 30 min" .-> T01
    T01["T-01 · Assessment abandoned"]:::trg --> F1[["Flow F1"]]:::flw

    S2 --> S3["/match"]:::fun
    S3 -- "details submitted" --> T02["T-02 · Contact created
source locked · consent stamped
first reply inside 5 minutes"]:::trg T02 --> P1[("P1 · New Enquiry")]:::pipe P1 --> F6[["Flow F6"]]:::flw S3 -- "time chosen" --> T03["T-03 · Slot held 20 minutes"]:::trg T03 -- "unpaid" --> T04["T-04 · Hold released 24h"]:::trg T04 --> F2[["Flow F2"]]:::flw T03 -- "paid" --> T05["T-05 · Payment clears"]:::trg T05 --> P2[("P1 · Booked")]:::pipe P2 --> F3[["Flow F3"]]:::flw T05 --> AP{{"The appointment"}}:::mom AP -- "attended" --> T06["T-06 · Attended"]:::trg AP -- "no-show" --> T07["T-07 · No-show, +30 min"]:::trg T07 --> RC[["Recovery"]]:::flw T06 --> P3[("P1 WON · P2 created")]:::pipe T06 --> T08["T-08 · Objection tag set in the room"]:::trg T08 --> F4[["Flow F4"]]:::flw T08 --> P4[("P2 · Considering")]:::pipe P4 -- "treated" --> P5[("P2 WON")]:::pipe P4 -- "21 days quiet" --> P6[("P4 · Reactivation")]:::pipe P6 --> F8[["Flow F8"]]:::flw classDef src fill:#E9E5DB,stroke:#C9C2B2,color:#14191A classDef fun fill:#FFFFFF,stroke:#5F6866,color:#14191A classDef trg fill:#DFE6E0,stroke:#1D3B33,color:#1D3B33,font-weight:600 classDef pipe fill:#14251F,stroke:#14251F,color:#F4F1EA classDef flw fill:#F6EDE4,stroke:#9A4B22,color:#9A4B22,font-weight:600 classDef mom fill:#E9E5DB,stroke:#454E4E,color:#14191A
Mermaid source, to paste anywhere

Works in mermaid.live, Notion, GitHub, Obsidian, GitLab, and most documentation tools. Also saved as proposal/flow/trigger-map.mmd.

flowchart TD
    L[Landing page]:::src --> S1
    PH[Phone]:::src --> S1
    DM[Instagram DM]:::src --> S1
    RF[Referral]:::src --> S1

    S1["/start"]:::fun --> S2["/assessment"]:::fun
    S2 -. "abandoned 30 min" .-> T01
    T01["T-01 · Assessment abandoned"]:::trg --> F1[["Flow F1"]]:::flw

    S2 --> S3["/match"]:::fun
    S3 -- "details submitted" --> T02["T-02 · Contact created<br/>source locked · consent stamped<br/>first reply inside 5 minutes"]:::trg
    T02 --> P1[("P1 · New Enquiry")]:::pipe
    P1 --> F6[["Flow F6"]]:::flw

    S3 -- "time chosen" --> T03["T-03 · Slot held 20 minutes"]:::trg
    T03 -- "unpaid" --> T04["T-04 · Hold released 24h"]:::trg
    T04 --> F2[["Flow F2"]]:::flw
    T03 -- "paid" --> T05["T-05 · Payment clears"]:::trg
    T05 --> P2[("P1 · Booked")]:::pipe
    P2 --> F3[["Flow F3"]]:::flw

    T05 --> AP{{"The appointment"}}:::mom
    AP -- "attended" --> T06["T-06 · Attended"]:::trg
    AP -- "no-show" --> T07["T-07 · No-show, +30 min"]:::trg
    T07 --> RC[["Recovery"]]:::flw

    T06 --> P3[("P1 WON · P2 created")]:::pipe
    T06 --> T08["T-08 · Objection tag set in the room"]:::trg
    T08 --> F4[["Flow F4"]]:::flw
    T08 --> P4[("P2 · Considering")]:::pipe

    P4 -- "treated" --> P5[("P2 WON")]:::pipe
    P4 -- "21 days quiet" --> P6[("P4 · Reactivation")]:::pipe
    P6 --> F8[["Flow F8"]]:::flw

    classDef src  fill:#E9E5DB,stroke:#C9C2B2,color:#14191A
    classDef fun  fill:#FFFFFF,stroke:#5F6866,color:#14191A
    classDef trg  fill:#DFE6E0,stroke:#1D3B33,color:#1D3B33,font-weight:600
    classDef pipe fill:#14251F,stroke:#14251F,color:#F4F1EA
    classDef flw  fill:#F6EDE4,stroke:#9A4B22,color:#9A4B22,font-weight:600
    classDef mom  fill:#E9E5DB,stroke:#454E4E,color:#14191A
TriggerFires whenWhat happensOwner
T-01Assessment started, not finished, 30 minutesFlow F1 enrols. No opportunity yet, because this is not a leadSystem
T-02Details submittedContact and P1 opportunity created. Source locked, consent stamped, first response inside five minutesSystem
T-03Time selectedSlot held twenty minutes, payment request issuedSystem
T-04Twenty minutes elapsed, unpaidFlow F2. Hold released at twenty-four hours, task to the front deskFront desk
T-05Payment clearsConfirmation, preparation notes, reminder sequenceSystem
T-06Marked attendedP1 won. P2 created within two hours. Task to issue the written planSystem
T-07No-show, or thirty minutes past with no statusRecovery begins inside thirty minutes, never mentioning the feeCoordinator
T-08Objection tag set before the patient leavesFlow F4 selects its branch. No tag raises a task rather than guessingDr. Morgan
T-15Any inbound reply, any channelEvery running sequence pauses. Nothing automated talks over a live conversationSystem

04 · The email programme

Eight flows.

Structure adapted from a proven eight-flow library. The discounting was removed, because your position is that the price does not move, and one urgency email would contradict the entire website.

FlowNameEnters fromWhat it recovers
F1Assessment abandonedStarted the scan, never finishedInterest that never became an enquiry
F2Booking abandonedChose a time, never paidAppointments already half-made
F3Consultation bookedPaid and bookedAttendance, through preparation and reminders
F4After the planConsultation attendedThe largest recoverable revenue in the practice
F5The standing letterAll consented contactsAuthority, fortnightly, one idea at a time
F6Enquiry, no replyEnquired, went silentSix touches, three channels, then it stops
F7Members onlyActive plan membersRetention, and the at-risk call before cancellation
F8ReactivationLapsed and dormantThe database you already paid to build
The one number that justifies the programme. Flow F4 is measured at thirty and ninety days. The gap between those two figures is exactly what post-consultation follow-up recovers, in dollars, and no system the practice has owned could isolate it before.

05 · Sequence

Build order, and why.

Each phase produces before the next begins. A system nobody trusts gets routed around within a month.

PhaseWeeksBuiltWhat it proves
11 to 2Missed-call recovery, source attribution, speed to leadResponse time drops from hours to minutes
23 to 4Booking, payment, confirmation, reminders, Flows F2 and F3Attendance rises and no-shows get recovered
35 to 6P2 pipeline, Flow F4, objection branchingConsultation to treatment becomes a visible number
47 to 8Aftercare, reviews, recall, Flow F1Patients return on schedule rather than on impulse
59 to 11Database cleanup, P4, Flow F8Revenue from people the practice already knows
612Membership, social templates, dashboardsThe owner can stop asking

Reactivation is deliberately last. It usually pays for the whole engagement, and running it into a broken booking process wastes the one asset that cannot be rebought.

06 · Your part

What you personally have to do.

Stated plainly, because the real question is whether this becomes another thing you have to manage.

WhoWhatHow long
YouSet one objection tag before each patient leaves the roomAbout ten seconds per consultation
YouApprove message copy once per flow, before it goes liveTwo sessions of forty-five minutes, front-loaded
CoordinatorIssue the written plan within twenty-four hoursAlready the job
Front deskSet appointment status at completion, not end of daySeconds, and load-bearing for all reporting
ManagerClear the task queue in a ring-fenced twenty minutesTwenty minutes daily

Everything else runs whether or not anyone is in the building.

07 · Visibility

Six numbers, every Monday.

Speed to lead

Median seconds to first delivered response, by source and by hour. Written automatically and not editable by any user.

Enquiry to consultation

Split by source, which is what separates a lead-quality conversation from a follow-up conversation.

Attendance

Booked to attended, split by lead time so the cause is visible rather than inferred.

Consultation to treatment

At thirty and at ninety days. The gap between them is the value of the follow-up programme.

Revenue by source

Attributed to locked first touch, reconciled monthly against the payment processor.

Database revenue

Isolated from new acquisition. The number you have never been able to see.

The week-one baseline comes first. Published before anything is switched on. It will be uncomfortable and worse than expected, and it is the only thing that makes month six provable.

The next step is a conversation,
not a contract.

Forty-five minutes to walk the trigger map against your actual numbers, and to establish the baseline. If the leak is smaller than this proposal assumes, you will hear that plainly.

Prepared by Bea Trisha Basa, Revenue Growth Partner. All figures in this proposal are structural or illustrative; none are drawn from a live account. Baseline and forecast numbers come from the practice's own data at week one.