The proposal · Marketing systems

Lead Routing
+ Shared Pool

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.

Harry — approve Nestor — sales Juan — build

Decisions needed first

What we need signed off

Nothing is built yet. This is the yes/no. Two calls are Nestor's; the rest are quick.

Open item 1

Crossover windowNestor

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).

Recommendation: 2 business days. Fair to Barb and Shanna, still frees dead leads fast.
Open item 2

Age-tier boundariesNestor

When a pool lead moves from WARM to COLD. Drawn as WARM 15–60 days, COLD 60+ days.

Recommendation: Confirm or adjust the day counts.
Open item 3

Portal detection signalMichael · 1 check

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.

Recommendation: Branch the gate on those tags. One thing left: confirm the exact tag the portal sync sets, in the Integration Contacts Identification workflow. No new stamping needed.
Open item 4

Feeder 2 (manual push)Nestor · Michael

How a rep pulls from the pool once their own leads are worked.

Recommendation: Park for a follow-up. Feeder 1 (auto crossover) covers the main flow.

Already decided

3-day soft claim
Up to 2 claims while HOT
Gated pool access (honor system)
Notify rep on ownership loss
Pool runs own-on-booking
Threads 1–5 published before go-live

The structure at a glance

Sources → Gate → two lanes

E4L lead routing and shared pool target structure
Every lead hits the Tertiary Gate first. Then the old lane (Barb + Shanna) or the shared nurture pool (Andrew, and the reps who move over).

The problem, in the live data

Why we are doing this

3,166
Open opportunities piled in the 2026 pipeline. Every new contact lands in "New Lead."
E4L GHL, live pull 2026-09-18
89/100
Recent opportunities that never moved after they were created. The follow-up engine is off.
Last 100 opportunities, same pull
357k
Contacts in the system. Most recent activity is old contacts resurfacing, then getting dropped.
Contact base, same pull

How it works

One gate, two lanes, one shared pool

The Tertiary Gate — the one new object

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.

Old Lane — unchanged

Owner assigned on arrival. Round robin between Barb and Shanna. Their own leads are protected. Their world does not change. That is the point.

New Lane — the shared nurture pool

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

Honest feasibility

About 80% is standard GHL work. The pool's leasing is custom. One rule is honor system, not a hard lock.

Native
The whole Tertiary Gate, routing, old-lane round robin, and the crossover actions.
  • DND check, portal route, RESET, routing, Re-Entry
  • Round robin (workflow already exists, just draft)
  • Strip owner, move pipeline, notify rep, tag
Custom in GHL
The pool's leasing and cadence — real dev effort.
  • Soft-claim lease (tags + "claimed-until" field + smart list + expiry workflow). GHL has no claim button; how a rep starts a claim is the piece to design.
  • Age tiers (timed re-tagging), the "max 2 claims" counter, weekly/monthly cooldowns
Not a hard lock
The access gate cannot be auto-enforced in GHL.
  • "Clear your own leads first" is policy + a report, not a technical block. Michael builds the report that flags violations.

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

Order of operations

01

Tertiary Gate

The front controller. Easy, high value. Do first.

02

Repoint existing triggers

Downstream workflows fire off the gate's output (tag/stage), not raw form/FB events. The quiet but necessary step.

03

Old-lane round robin

Publish the existing draft, scoped to Barb + Shanna only.

04

Crossover valve

Old lane to pool on the window.

05

Pool: nurture + book-to-own

Publish Threads 1–5, wire appointment-to-owner.

06

Pool: claim-lease + tiers + cooldowns

The heavy lift. Native attempt first, or an API service if it gets brittle.

07

The honor-system report

Michael builds the report that flags access-gate violations.

Current state · appendix

What the live system looks like

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.