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
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
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
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
| Trigger | Fires when | What happens | Owner |
|---|---|---|---|
| T-01 | Assessment started, not finished, 30 minutes | Flow F1 enrols. No opportunity yet, because this is not a lead | System |
| T-02 | Details submitted | Contact and P1 opportunity created. Source locked, consent stamped, first response inside five minutes | System |
| T-03 | Time selected | Slot held twenty minutes, payment request issued | System |
| T-04 | Twenty minutes elapsed, unpaid | Flow F2. Hold released at twenty-four hours, task to the front desk | Front desk |
| T-05 | Payment clears | Confirmation, preparation notes, reminder sequence | System |
| T-06 | Marked attended | P1 won. P2 created within two hours. Task to issue the written plan | System |
| T-07 | No-show, or thirty minutes past with no status | Recovery begins inside thirty minutes, never mentioning the fee | Coordinator |
| T-08 | Objection tag set before the patient leaves | Flow F4 selects its branch. No tag raises a task rather than guessing | Dr. Morgan |
| T-15 | Any inbound reply, any channel | Every running sequence pauses. Nothing automated talks over a live conversation | System |
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.
| Flow | Name | Enters from | What it recovers |
|---|---|---|---|
| F1 | Assessment abandoned | Started the scan, never finished | Interest that never became an enquiry |
| F2 | Booking abandoned | Chose a time, never paid | Appointments already half-made |
| F3 | Consultation booked | Paid and booked | Attendance, through preparation and reminders |
| F4 | After the plan | Consultation attended | The largest recoverable revenue in the practice |
| F5 | The standing letter | All consented contacts | Authority, fortnightly, one idea at a time |
| F6 | Enquiry, no reply | Enquired, went silent | Six touches, three channels, then it stops |
| F7 | Members only | Active plan members | Retention, and the at-risk call before cancellation |
| F8 | Reactivation | Lapsed and dormant | The database you already paid to build |
05 · Sequence
Build order, and why.
Each phase produces before the next begins. A system nobody trusts gets routed around within a month.
| Phase | Weeks | Built | What it proves |
|---|---|---|---|
| 1 | 1 to 2 | Missed-call recovery, source attribution, speed to lead | Response time drops from hours to minutes |
| 2 | 3 to 4 | Booking, payment, confirmation, reminders, Flows F2 and F3 | Attendance rises and no-shows get recovered |
| 3 | 5 to 6 | P2 pipeline, Flow F4, objection branching | Consultation to treatment becomes a visible number |
| 4 | 7 to 8 | Aftercare, reviews, recall, Flow F1 | Patients return on schedule rather than on impulse |
| 5 | 9 to 11 | Database cleanup, P4, Flow F8 | Revenue from people the practice already knows |
| 6 | 12 | Membership, social templates, dashboards | The 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.
| Who | What | How long |
|---|---|---|
| You | Set one objection tag before each patient leaves the room | About ten seconds per consultation |
| You | Approve message copy once per flow, before it goes live | Two sessions of forty-five minutes, front-loaded |
| Coordinator | Issue the written plan within twenty-four hours | Already the job |
| Front desk | Set appointment status at completion, not end of day | Seconds, and load-bearing for all reporting |
| Manager | Clear the task queue in a ring-fenced twenty minutes | Twenty 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 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.