Case study · spec build

Smile Society — a complete dental clinic booking system in GoHighLevel

One job: turn a website visitor into a booked consultation, then make sure they actually show up — without anyone at the clinic touching a keyboard. Below is the entire system, shown from inside the real GHL account.

Honest framing: this is a spec build — created to demonstrate the method, not a paid client engagement. Every screenshot on this page is from the real GoHighLevel account running smilesociety.online, and the booking calendar above is live: you can click through the whole experience yourself.
5pipeline stages, from first form fill to accepted treatment plan
9published workflows running the follow-up automatically
<60sfrom form submit to confirmation email with booking link
24/7missed-call text-back, with business-hours logic built in
The problem this solves

Clinics don't lose patients to competitors. They lose them to silence.

A local dental clinic's website usually describes services and hopes people call. Leads fill out a form and wait. Calls go unanswered during procedures. Nobody follows up on no-shows. Each of those moments is a patient quietly choosing another clinic. This build closes every one of those gaps with automation.

The pipeline

Five stages. Every lead visible, nothing in anyone's head.

The pipeline mirrors how a clinic actually works — and every stage change fires its own automation, so moving a card is the work.

GoHighLevel Opportunities view showing the five-stage Smile Society sales pipeline: New Lead, Booked, Showed Up, Treatment Confirmation Sent, and Treatment Plan Accepted (Won), with a test opportunity card in the Treatment Confirmation Sent stage
The V2 Smile Society pipeline inside GoHighLevel. The card shown is test data.
  • New Lead — form submitted; instant confirmation email with booking link, 1-hour reminder if they haven't booked.
  • Booked — appointment confirmed; day-before and morning-of SMS + email reminders fire automatically.
  • Showed Up — thank-you email, patient tagging, and treatment-need routing kick in.
  • Treatment Confirmation Sent — multi-day confirmation sequence with timeout branches if they go quiet.
  • Treatment Plan Accepted (Won) — internal handoff tasks plus an automated review request a day later.
The workflows

Nine published workflows. This is the engine room.

GoHighLevel workflows list showing nine Smile Society workflows, every one with a green Published status badge
All nine workflows, all Published — not drafts, not mockups.

Featured: 001 — New Lead speed-to-lead

The moment the intake form is submitted, the system checks whether this contact already exists, creates or updates the opportunity, tags them, notifies the clinic, and sends the confirmation email with the booking link — then waits one hour and nudges anyone who hasn't booked. The lead never sits untouched.

Workflow canvas for 001 New Lead Stage: form-submitted trigger branching through find-opportunity, update or create opportunity, tagging, internal notification, confirmation email with booking link, one-hour wait, and reminder branches
001 New Lead Stage — the full canvas.

Featured: 009 — Missed Call Text-Back

A missed call triggers an instant SMS — with different messages during and after business hours — then waits 30 minutes for a reply. If the lead replies, they're tagged engaged and sent the booking link; if not, the clinic gets an internal task to follow up. A ringing phone during a procedure stops costing patients.

Workflow canvas for 009 Missed Call Text Back: incoming missed-call trigger, business-hours condition, branch-specific SMS, 30-minute reply window, engaged tagging with booking link on reply, and internal follow-up task on timeout
009 Missed Call Text Back — business-hours logic on the left, after-hours on the right.

Featured: 002 — Booked-stage reminders

Booking an appointment enrolls the patient in a reminder ladder: instant confirmation, then SMS + email the day before, then SMS + email shortly before the visit. No-show prevention runs on rails instead of on the receptionist's memory.

Workflow canvas for 002 Booked Stage: appointment-booked trigger, opportunity update, tagging, confirmation email, then timed waits with day-before and pre-appointment SMS and email reminders
002 Booked Stage — the reminder ladder.

The other six, at a glance

Workflow canvas for 003 Showed Up

003 — Showed Up

Thank-you email, patient tagging, and needs-treatment routing after the visit.

Workflow canvas for 004 Treatment Confirmation Sent

004 — Treatment Confirmation Sent

Multi-day confirmation sequence with condition and timeout branches for quiet patients.

Workflow canvas for 005 Treatment Plan Accepted

005 — Treatment Plan Accepted

Tag swap, internal notification and task, then an automated review request a day later.

Workflow canvas for 006 No-Show Follow-up

006 — No-Show Follow-up

Immediate rebooking SMS, then a "we missed you" email a day later. No-shows get rescued, not forgotten.

Workflow canvas for 007 Cancelled/Rescheduled

007 — Cancelled / Rescheduled

Needs-reschedule tagging, SMS nudge, and an internal heads-up the moment plans change.

Workflow canvas for 008 Needs Treatment Tag

008 — Needs Treatment Tag

Routes each appointment type to the right follow-up path with automatic tagging.

Inside the messages

The automation writes like a person, not a robot.

Every email and SMS in the system is written and personalized with contact fields — here's the confirmation email from workflow 001, exactly as it lives in the builder.

GoHighLevel workflow builder showing the confirmation email editor: subject line 'Thank You for Choosing Smile Society!' and a personalized message using the contact first-name merge field
The confirmation & booking-link email, open in the builder with its personalization tokens.
Want this for your business?

Same method. Your pipeline, your follow-up, your patients — or customers.

This structure adapts to any appointment-driven business: clinics, home services, agencies, coaches. We map yours on a free call.

Book a free call →

Or test-drive the demo booking calendar first →