Read-only staging package. Nothing here is connected to live email, CRM, calendar, ads, or spend.

L3 · Business Map

Business Map

Lead magnet: rule-based mini web app that gives a founder a ranked "what to hand off first" plan, plus an emailed PDF copy (approved in Research/Part 1 Recommendation.md).

Status as of 07-10-2026: the ads (review mock-ups), landing page, mini app, capture stand-in, booking mock, thank-you page and PDF template are built, tested and hosted on Cloudflare Pages (pareto-final-project.pages.dev). CRM, email and booking workflows are modelled and tested in the local simulator; nothing is live in GoHighLevel. Every node is labelled. Asset IDs (A1, A2…) match Asset Register.md; gap IDs (G1, G2…) match Gap Register.md.

Rendered copies of the diagram below: Business Map.png and Business Map.svg (same folder, drawn from this file with mermaid-cli; statuses refreshed 07-10-2026). Re-render after any change.

Legend

Label Meaning
LIVE (staging) Built, tested and hosted on Cloudflare Pages (no login)
MOCK (simulator) Specified and tested in the local CRM simulator; not created in GoHighLevel, OFF
NOT BUILT Planned asset, no URL yet
MOCK PAGE Hosted stand-in for a GoHighLevel page or calendar; not a live Pareto asset
ASSUMPTION Illustrative number or rule; must be labelled in the final project
HUMAN CHECK Nazim approves before anything goes live or is sent

Map

flowchart TD
    %% ---------- 1. TRAFFIC ----------
    subgraph T["1 · Traffic"]
        AD["A1 · 5 Facebook ads<br/>(one per persona angle)<br/>LIVE (staging) · review mock-ups, not published"]
        UTM["A2 · Tracking labels<br/>utm_source=facebook · utm_campaign=handoff-plan<br/>utm_content=ad1…ad5<br/>BUILT · defined in UTM Map"]
        AD --> UTM
    end

    %% ---------- 2. CAPTURE ----------
    subgraph C["2 · Capture"]
        LP["A3 · Landing page<br/>hero · what's inside · who it's for · proof · CTA<br/>LIVE (staging)"]
        APP["A4 · Mini app questionnaire<br/>pick recurring tasks + hours/week<br/>LIVE (staging)"]
        SCORE["A5 · Ranking rules<br/>rank tasks by hours × ease to hand off<br/>BUILT · 17 tests pass"]
        FORM["A6 · GoHighLevel form<br/>name · email · phone · 5 qualifiers · email consent<br/>MOCK PAGE · local stand-in live; GHL form is a gap"]
        LP -->|"CTA: Build my plan"| APP --> SCORE --> FORM
    end
    UTM -->|"click (UTMs carried)"| LP

    %% ---------- 3. QUALIFICATION & RESULT ----------
    subgraph Q["3 · Qualification and result"]
        RES["A7 · Personalised result<br/>ranked handoff list totalling hours<br/>LIVE (staging)"]
        ROUTE{"A8 · Routing rules<br/>ASSUMPTION thresholds"}
        FORM -->|"submit"| RES --> ROUTE
    end

    %% ---------- 4. CRM & DELIVERY ----------
    subgraph D["4 · CRM, delivery and nurture"]
        CRM["A9 · Contact + opportunity created<br/>stage: Opted In · tag: lm-handoff-plan<br/>MOCK (simulator)"]
        PDF["A10 · Opt-in workflow: PDF email<br/>sent to EVERY completed submission<br/>MOCK (simulator) · OFF"]
        NOTE["A11 · Internal notification<br/>new opt-in + fit tier<br/>MOCK (spec) · OFF"]
        CRM --> PDF
        CRM --> NOTE
    end
    FORM -->|"fields + UTMs passed"| CRM

    %% ---------- ROUTES ----------
    ROUTE -->|"High fit"| HI["Tag: fit-high<br/>Stage: Qualified"]
    ROUTE -->|"Potential fit"| PO["Tag: fit-potential<br/>Stage: Unqualified Leads"]
    ROUTE -->|"Low fit"| LO["Tag: fit-low<br/>Stage: Unqualified Leads"]

    %% ---------- 5. BOOKING ----------
    subgraph B["5 · Booking and call"]
        BOOK["A12 · Booking page<br/>Pareto Talent Right Hand Discovery Call<br/>30 min · mock availability<br/>MOCK PAGE · LIVE (staging)"]
        CONF["A13 · Booking workflow<br/>confirmation + reminder<br/>MOCK (simulator) · OFF"]
        BOOKED["Stage: Call Booked<br/>tag: call-booked"]
        CALL["A14 · Right Hand conversation<br/>(Pareto sales call)<br/>GAP — outside this build"]
        CLIENT["Stage: Client"]
        BOOK -->|"books"| BOOKED --> CONF --> CALL -->|"signs"| CLIENT
    end
    HI -->|"redirect after submit"| BOOK

    %% ---------- THANK-YOU & NURTURE ----------
    TY["A15 · Thank-you page<br/>confirms action + resource link<br/>LIVE (staging)"]
    PO -->|"redirect"| TY
    LO -->|"redirect"| TY

    QF["A16 · High-fit follow-up<br/>2 value emails + booking nudge<br/>stops when call-booked<br/>MOCK (simulator) · OFF"]
    PN["A17 · Unqualified nurture<br/>3 educational emails after delivery<br/>no booking CTA<br/>MOCK (simulator) · OFF"]
    LD["A18 · Low-fit handling<br/>same educational nurture<br/>no booking CTA<br/>MOCK (simulator) · OFF"]
    HI -->|"not booked"| QF -->|"books"| BOOK
    PO --> PN -.->|"if ready later"| BOOK
    LO --> LD

    %% ---------- HUMAN CHECKPOINT ----------
    GATE["HUMAN CHECK<br/>Nazim approves every email, page and<br/>workflow activation before live use.<br/>Test contact only until then."]
    GATE -.-> PDF
    GATE -.-> QF
    GATE -.-> PN
    GATE -.-> CONF
    GATE -.-> AD

Routing rules (A8)

From the approved Part 1 logic. Thresholds marked ASSUMPTION are illustrative mock values (decisions 4 and 5).

Tier Rule Route
High fit Team beyond the founder and 10+ hrs/week lost to operational work and considering help within 6 months and revenue range $500K+ (ASSUMPTION: illustrative mock threshold) PDF email → booking page → high-fit follow-up if not booked
Potential fit Has a team but fails one of: 10+ hrs, 6-month window, or $500K+ revenue (includes the $250K–$500K band, ASSUMPTION) PDF email → thank-you page → three educational nurture emails
Low fit No team, or no current delegation need, or under 2 hrs/week and no six-month hiring intent (ASSUMPTION) PDF email → thank-you page → three educational nurture emails, no booking CTA

Previous VA/assistant answer: stored as a field and used for messaging (Burned Buyer copy), never to disqualify.

Data capture and hand-off points

Where Data Passed to
Ad click utm_source, utm_campaign, utm_content Landing page URL → app → form hidden fields
Mini app Selected tasks, hours per task, total hours, ranked list Result page and PDF template
GoHighLevel form Name, email, phone, team (Y/N), hours/week, revenue range, hiring window, previous VA + outcome, email consent Contact record, custom fields, tags
Routing Fit tier Tag, pipeline stage, redirect URL, workflow choice
Booking calendar Appointment date/time Stage "Call Booked", confirmation and reminder

Pipeline stages (A19)

Opted In → Qualified → Call Booked → Client, plus Unqualified Leads (potential-fit and low-fit, split by tag).

Map decisions for review

  1. App vs form order — settled: keep the app first, then the GoHighLevel form at the end. Use hidden fields or an embedded form so GoHighLevel remains the system of record. Use a single GHL multi-step form only if the app-to-form handoff proves unreliable.
  2. Potential-fit stage — settled: keep potential-fit leads in Unqualified Leads with the fit-potential tag. The brief names one non-qualified stage, and the tag preserves the distinction.
  3. Strict-guidelines nurture length — settled: send the resource delivery email plus three educational nurture emails to all unqualified contacts. This follows the supplied guidelines DOCX; the Day 10 one-email version is retained as a documented discrepancy.
  4. Revenue band — settled: treat $500K+ as high-fit for the mock routing. Treat $250K–$500K as potential-fit. Label this as an illustrative assumption in the final project.
  5. Low-fit threshold — settled: use under 2 hours/week only when combined with no six-month hiring intent. Do not reject a founder on hours alone.
  6. Map tool for submission — settled: keep Mermaid as the source of truth and publish a static SVG/HTML view with no login when the build is hosted. Do not create a separate mapping account unless the public-link test fails.

Open the source Markdown file