# Build Plan — Glow Aesthetics

A full lead-to-member account for your med spa, at Tier 1 v2 depth: your staff as users, a pipeline that follows your own sales stages, the fields and tags to track every lead, a booking calendar assigned to a real person, an A2P-compliant inquiry form and funnel, 32 send-ready messages in your voice, and eight workflows that keep working for 60 days without anyone touching them. Below is what GHL Command builds for you automatically, and the short list of things only you can do, in order.

Generated from the **Med Spa** preset (v2.0.0) · brief source: intake_form · schema v0.1.
This is a plan for your review. Nothing is built yet. Edit anything below, then approve.

> Validated 2026-08-26: `validate_build_plan` (v2 rules) → valid, 137 refs, 0 errors, 0 warnings; `examples/validate-plan.cjs` → valid. A live `apply_build_plan` dry-run of the v2 plan has not been captured yet; the v1 proof is in [`medspa-dry-run-report.md`](medspa-dry-run-report.md).

---

## 1. GHL Command will build this automatically (once you approve)

**Users (2)** — from your staff answers
- Dana Reyes (admin) — gets every new-lead alert and every call task; on the consult calendar.
- Priya Nair (user).

**Pipeline**
- "Glow Aesthetics Patient Journey" with 7 stages: New Lead → Contacted → Consult Booked → Showed → Treated → Member / Rebooked → Lost.

**Custom fields (6)**
- Lead Source (dropdown), Service Interest (multi-select), Top Concern (text, filled by staff from the first reply), Appointment Date, Consult Deposit Paid (checkbox), Estimated Lifetime Value (monetary).

**Tags (24)**
- Source: website, instagram, facebook, google, referral, phone, other.
- Lifecycle: new-lead, contacted, nurturing, booked, showed, treated, member, lapsed, lost.
- Hand-off triggers: nurture-start, winback-start, missed-call, no-show.
- Interest: injectables, filler, facials, membership.

**Custom values (4)** — every message reads from these, so the copy stays right when details change
- business_name (Glow Aesthetics), business_phone (filled once your number exists), owner_first_name (Dana), booking_link (filled after you connect your calendar).

**Calendar**
- "Consultation" (round-robin, Mon-Fri 9-5 default, 30-minute slots) assigned to Dana Reyes.

**Form**
- "Glow Aesthetics New Client Inquiry": First name, Last name, Email, Phone (required), plus Service Interest mapped to the custom field.

**Funnel**
- "Glow Aesthetics Lead Funnel": a Free Skin Assessment opt-in page (→ the inquiry form, with the A2P-compliant consent block) and a Thank You page (booking widget). Page content is yours to fill from the funnel template — see Part 2.

**Message templates (15 emails + 17 texts)** — complete, send-ready, editable in GHL without opening a workflow
- Speed to Lead: instant email + text, 20-minute text, 3-hour email, next-day text.
- Missed call: instant text-back, 1-hour text.
- Lead Nurture: 6 emails + 5 texts across 31 days (refreshed vs overdone, what happens at the first visit, why we treat less, about the price, what waiting costs, the decision sheet; one-word question texts in between).
- Win-back: 3 emails + 2 texts across 31 days.
- Consult: confirmation email + text, 24-hour text + prep email, 2-hour text; no-show text + email, next-day text, day-4 email.
- _(Texts will not send until you have a number and A2P is approved — steps 1 and 4 below.)_

**Workflows (8)** _(all build DRAFT; you choose when to publish)_
- "Speed to Lead" (14 actions) — on inquiry → tag new lead, create the opportunity, assign the contact to Dana, instant text + email, alert Dana, create a "call now" task, wait 20 min → text, wait 3 h → email, wait 1 day → text, note, then hand off to Lead Nurture with the nurture-start tag. _(stops on reply)_
- "Missed Call Text-Back" (7 actions) — on an unanswered inbound call → text back within seconds, tag, alert Dana, call-back task, wait 1 h → text. _(stops on reply)_
- "Lead Nurture (30 days)" (28 actions, 11 touches, 31 days of waits) — give, give, ask; ends by tagging lapsed and handing off to Win-back. _(stops on reply)_
- "Replied - Stop & Route" (9 actions) — the moment a lead replies → pull them out of every sequence, note it, tag contacted, alert Dana, create a 15-minute reply task.
- "Win-back (30 days)" (13 actions, 5 touches, 31 days of waits) — one reason to come back per message; ends by tagging lost. _(stops on reply)_
- "Consult Booked - Confirm & Move" (8 actions) — on a confirmed consult → stop every sequence, tag booked, alert Dana, confirmation email + text, then move the opportunity to Consult Booked (create it there if none exists).
- "Consult Reminders" (5 actions) — 24 h before: text + prep email; 2 h before: text.
- "No-Show Rescue" (14 actions, 4 touches over 7 days) — on a no-show → tag, alert Dana, call task, same-day text + email, next-day text, day-4 email, then hand off to Win-back and move the card back to Contacted.

_Total: 99 workflow actions, 32 customer touches from inquiry to lost before the consult sequences. Every alert and task points at a named person._

---

## 2. You must do these yourself, in this order

1. **Get a phone number in GoHighLevel** — **You (in GHL)**
   - What: Settings > Phone Numbers > Add Number, then paste it into the business_phone custom value.
   - Why now: every text step and the missed-call text-back wait for it, and A2P registration needs it.
   - Done when: a number shows under Phone Numbers and business_phone matches it.

2. **Confirm your business details** — **You (in GHL)**
   - What: Settings > Custom Values: owner_first_name is pre-filled as "Dana"; confirm it and business_phone.
   - Done when: neither value is blank.

3. **Connect your calendar (Google / Outlook)** — **You (in GHL)**
   - What: open the Consultation calendar > Connections and authorize Google or Outlook, then copy the booking link into the booking_link custom value.
   - Why now: a login only you can approve; every email and text with a booking link reads this value.
   - Done when: the calendar shows a connected account and the booking link resolves.

4. **Register A2P 10DLC (so texts can send)** — **You (external: carrier)**
   - What: submit your A2P brand and campaign through the GHL Trust Center. Save your submission package first.
   - Why now: the seven SMS-bearing workflows stay DRAFT and their texts stay dark until A2P is approved (7-14 day review).
   - Done when: the A2P campaign shows submitted/approved.

5. **Design + populate your funnel pages** — **You (in GHL)**
   - What: fill the opt-in and thank-you page content from the funnel template. The opt-in page MUST carry the A2P consent checkbox (not pre-checked), your legal business name + mailing address, and Privacy/Terms links.
   - Done when: both pages are published with the required A2P, SEO, and FAQ elements.

6. **Connect Stripe (to take payment)** — **You (external: Stripe)**
   - What: connect Stripe in Payments > Integrations and create your consult-deposit and membership products.
   - Done when: Stripe shows connected and your products exist.

_Not included (not needed for this build): an add-staff step (two staff came from your intake), an email-domain step (email sending is already set up)._

---

_When you approve, the automatic list above is staged via `apply_build_plan` (dry run first, then execute; confirm the account first). Each manual step is verified before the steps that depend on it run. You will be asked, before any workflow goes live, whether to publish now or leave them DRAFT for review — they default to DRAFT. The 32 messages are yours to edit in Marketing > Templates and Conversations > Snippets before you publish; the workflows read them by name._
