The proposal · Marketing systems
One new control layer in front of the sales lanes, plus a shared lead pool that rewards the reps who actually call. Built to run on GoHighLevel without disrupting what is live.
Decisions needed first
Nothing is built yet. This is the yes/no. Two calls are Nestor's; the rest are quick.
How long an old-lane lead sits with no response before it moves to the pool. Calendar 72 hours (easy to build) or true business days that skip weekends (fiddly).
When a pool lead moves from WARM to COLD. Drawn as WARM 15–60 days, COLD 60+ days.
The gate needs a marker to know a contact came from the portal. Data check ran: integration-synced contacts carry source-integration / source-shopify tags; existing customers and practitioners carry gemowner, mihealthv2, e4l practitioner.
How a rep pulls from the pool once their own leads are worked.
Already decided
The structure at a glance
The problem, in the live data
How it works
Every lead hits it first, before any owner is assigned and before it enters a pipeline. It does three things: filters who does not belong (DND suppressed, portal contacts routed to customer service), reintroduces returning contacts (Re-Entry on, old tags removed, opportunity reset), and routes to the right lane.
Owner assigned on arrival. Round robin between Barb and Shanna. Their own leads are protected. Their world does not change. That is the point.
No owner until an appointment is booked. Threads 1–5 nurture runs on everyone. The rule is simple: claim to call, book to own. A rep holds a 3-day soft claim (hidden from others); book it and it is theirs; the lease expires and it returns to the pool. Effort scales with lead age — HOT (0–14 days) up to 2 claims, WARM (15–60 days) one claim a week, COLD (60+ days) one claim a month.
Why Barb and Shanna will want in. The pool is open opportunity with no cap. Work your own leads, then the pool is there, and every lead you book from it is yours. Effort is the only gate.
Can GoHighLevel build it
About 80% is standard GHL work. The pool's leasing is custom. One rule is honor system, not a hard lock.
Confirm in the builder: portal detection tag (item 3) · business-days timing (GHL can't do it cleanly) · that update-opportunity can set owner to unassigned.
The build
The front controller. Easy, high value. Do first.
Downstream workflows fire off the gate's output (tag/stage), not raw form/FB events. The quiet but necessary step.
Publish the existing draft, scoped to Barb + Shanna only.
Old lane to pool on the window.
Publish Threads 1–5, wire appointment-to-owner.
The heavy lift. Native attempt first, or an API service if it gets brittle.
Michael builds the report that flags access-gate violations.
Current state · appendix
Pipelines: "Main Pipeline - Sales 2026" (old lane, 3,166 open opps) and "Sales 2026 - New Process" (new lane, 0 opps, ready). Both already exist.
Threads: Thread 1–5 workflows exist, all in draft.
Assignment workflows: the round-robin and FB-assign workflows exist but are draft (not running) — a likely cause of leads landing with no routing.
Follow-up: 89 of the last 100 opportunities never moved after creation.
Contact base: 357,162 contacts, recent activity dominated by leads added 60+ days ago.
Portal source: no single "portal" source, but origin is stamped via source-integration / source-shopify and product-owner tags. The gate branches on those.
GHL's API does not expose the steps inside a workflow. Round-robin and re-entry settings must be confirmed in the GHL UI. Everything else above is from live API data.