Knock on Door
← Back to hub
DRAFTA working draft — not yet checked against reality by a person. Read it, but confirm before you rely on it.

Handoff to David + GHL Sync

GHL bridge — the sync + handoff flow from KOD into GoHighLevel. · tap to zoom & pan
Covers the closer's on-site protocol after a signed PSA and the sync of that deal into GHL so the app and David stay in agreement.
WhoDavid (from Jason/closer)
WhenRight after a PSA is signed, on any GHL disposition, or when a sale needs a surplus or redemption check
Time~20 min
THE ONE RULEA signed contract is halftime not the finish line, so the on-site protocol happens before driving off

The steps · 17

  1. 1
  2. 2
  3. 3
    Scan the signed contract with the scanner app and send it to the TC immediately.
  4. 4
    Upload the photos you took of the property to the shared drive.
  5. 5
    Update the CRM with the signed status and attach the brain-dump, scan, and photos to the…
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
    In a redemption state (Kansas 3 to 12 months, Michigan 6 months), also route the lead…
  17. 17

Before you drive off (the closer's on-site protocol):

Tap a step to open its detail.

NEVERNever mark a lead Lost just because its sale already went through at auction
ALWAYSDeliver the ghost proof exit script and save the three trusted names in the seller's phone before leaving
ALWAYSConfirm the kod_lead_id lands in GHL before trusting anything downstream in the sync
Why this matters

The instant a PSA is signed, the deal is only half done. This SOP is what happens in the driveway before you drive off, and what happens in the days after so the deal doesn't fall apart from a missed handoff. It covers the closer's on-site protocol (brain-dump, scan, photos, CRM, ghost-proof exit script), the sync into GHL so David and the app agree on every lead's status, and the surplus/redemption routing so a lead that goes to auction gets worked, not closed out dead.

When to use this
  • The moment a Purchase & Sale Agreement is signed, before leaving the seller
  • Any time a disposition happens in GHL (a reply, a booked appointment, an opt-out, a call outcome) and needs to show up back in the KOD app
  • A lead's sale has already happened and needs to be checked for surplus funds or redemption rights instead of being marked dead
  • David delivers a new batch of workflow IDs, pipeline IDs, or field IDs that need to be plugged in
Before you start
  • A phone with a voice memo app and a document scanner app (Genius Scan or similar) ready before the appointment, not downloaded after
  • GHL_ENABLED is on and the Private Integration Token, Location ID, and workflow IDs from David's handoff sheet are already configured
  • The KOD Lead ID custom field (kod_lead_id) exists in GHL under the KOD Sync folder and is never edited by hand
  • The webhook receiver at /api/integrations/ghl/webhook is live and the x-ghl-secret header value matches what is configured in GHL's Result Sync workflow
  • A2P 10DLC registration is approved before any SMS workflow goes live, unregistered texting is blocked by carriers
How to know it worked
  • The brain-dump, contract scan, and photos were sent and the CRM was updated before leaving the seller's property, not hours later from memory
  • The seller can name the three people they're supposed to answer the phone for (you, the TC, title), because you had them save the numbers on the spot
  • A newly synced lead shows up in GHL as a Contact carrying the correct kod_lead_id and sits in the correct workflow for its badge and stage
  • A GHL disposition (reply, booking, opt-out, call result) shows up in the KOD app as a crm_dispositions row within the expected delay, not lost silently
  • No plain-DNC number is receiving auto-texts, and no litigator-flagged number was ever imported
  • Every lead whose sale went through at auction sits on the Surplus Recovery board, not marked Lost, unless surplus and redemption were both explicitly checked and ruled out
  • The pipeline stage and the foreclosure_stage field are not being confused with each other when troubleshooting why a sequence did or didn't fire
If it goes sideways
  • Problem: You're already driving and realize you skipped the brain-dump. Fix: Pull over and record it now, late is better than never, but do not wait until you're back at the office. Details fade fast and the TC needs price, sale date, condition, and problems while they're still accurate.
  • Problem: The seller says someone else has already called them about the property. Fix: Confirm the ghost-proof exit script was actually delivered, meaning the seller has your name, the TC's name, and the title contact's name saved in their phone. If it wasn't delivered, call the seller now and walk them through it over the phone.
  • Problem: A lead was pushed to GHL but the wrong sequence fired. Fix: Check the badge tier variant, the core stage sequences each have Gold/Silver/Bronze versions and the app defaults to Silver unless the tier-specific workflow ID was also configured. Confirm the right workflow ID is wired for that badge.
  • Problem: GHL results aren't showing up in the app. Fix: Confirm the Result Sync workflow's Custom Webhook action still has the correct URL and the x-ghl-secret header value. A rotated secret or a changed URL on either side breaks the sync silently.
  • Problem: SMS isn't sending at all. Fix: Confirm A2P 10DLC registration is actually approved, not just started, unregistered texting is blocked by carriers regardless of how the workflow is built.
  • Problem: A lead whose sale already happened is sitting marked Lost. Fix: Re-open it and run Step 15 and Step 16 regardless of how long ago it closed out, surplus and redemption checks are not blocked by a stale CRM status.
  • Problem: Unsure which board a re-default, probate, divorce, or tax lead belongs on. Fix: All of them stay on KOD Acquisition. They are distinguished by Lead Source or Deal Type and worked by their own sequence, not by a separate board.

Linked resources