Context Our GHL automation for onboarding/enrollment only triggers on completed (full) payments. When a client makes a partial payment, nothing fires, which means we can miss action items like scheduling prep sessions.
This came up because Abel from Tidewater paid a $5k initial payment for his onsite on 7/7 but never got his two prep sessions scheduled since the partial payment didn't trigger the workflow. The Ask Investigate whether we can add a step to the GHL automation that triggers on partial payments. The goal is to either: Create a ClickUp task, or Send a notification prompting the team to review the invoice and last meeting for action items before the payment is fully complete.
Invoices are sent directly from GHL. Slack Thread 04_onboarding discussion
v2 Follow-On: Full-Payment Gate for Coaching Onboarding Status: Drafts built in GHL, awaiting Jet sign-off | Design doc: docs.topreptraining.com/coaching-onboarding-gate/
Owners: Paul (build), Jet (review + onboarding owner), Ashlee (onboarding) Problem Coaching onboarding fires on every payment_received event. Payment-plan clients (e.g. Matt Peterson / MN Paint Pros, invoice #001316 on 50/50 plan) get duplicate ClickUp tasks (36 subtasks created) and never receive the welcome email or Flight School link because the installment payment lacks product routing details. Root Cause Onboarding reacts to "a payment happened" when it should react to "the invoice is fully paid." The Rule [table-embed:1:1 Payment State | 1:2 Action | 2:1 Partial/deposit | 2:2 AR notification only. No onboarding. | 3:1 Fully paid | 3:2 Full onboarding fires once (welcome email, Flight School link, ClickUp task, session credits). | 4:1 Manual (Ashlee) | 4:2 Ashlee applies coaching tag herself to onboard a partial-pay client intentionally. |]Design (v2): Two Signals, AND'd The original v1 idea ("trigger on invoice paid, condition = coaching product") was not buildable because the GHL invoice trigger exposes only invoice.status, not product/price data. Product identity is only on the payment signal. Additionally, tag-only entry breaks on repeat purchases (tag already present = no re-fire).
Solution: two new draft workflows C1 Coaching | Purchase Staging (DRAFT): Triggers on payment_received + status succeeded + coaching product IDs (8-session: 6568b9771db33175e052ae07, 4-session: 65560a91c553264563526946). Sets Coaching Sessions field, adds [pending] coaching full payment tag. Idempotent on retries. C2 Coaching | Full Payment -> Onboarding Tag (DRAFT): Triggers on invoice.status == paid. Waits 2 min for staging values to land. Branches on: pending tag present + session count + new vs renewal. New clients get the onboarding tag applied; renewals only get credits + notification. Clears the pending tag. Why This Fixes It Full-payment gate: Tag only applied on fully-paid invoice (or manually by Ashlee). Installments never trigger onboarding. No duplicates: "Tag added" fires only once (unlike payment_received). Structurally eliminates duplicate tasks. Welcome + Flight School lands reliably: Fulfillment runs exactly once off the clean tag event. Renewals handled: Existing coaching clients get credits without re-onboarding. Decisions (Jet, 7/27) Q: Confirm the rule: onboarding only on full payment, partial = manual by Ashlee. ✅ Looks good. Q: Is coaching ever sold outside a GHL invoice? Should such a sale auto-onboard? No, but other products sometimes do if they opt to pay an annual payment. Rarely happens but it does. Q: Preferred manual tag for Ashlee: reuse "coaching - manual," or apply the session tag directly? Let's use a different tag. (Paul to propose name.) Q: Do you want a team notification when a coaching client fully pays and onboarding fires? YES. Always mention Ashlee in the message and ask her if she wants to activate onboarding right away or wait for the complete payment. Q: Renewals (existing client buying another package): v2 adds credits + notifies without re-onboarding. Confirm? Yes, we'll have another process for upsells. Q: The 4-session credit bug is live (every 4-session client gets 8 sessions). Fix immediately or only as part of this promote? Hmm, in ClickUp both 4 and 8 sessions get the same onboarding checklist. Needs investigation before fixing. Q: 1-session price has a live trigger but no branch. Should a 1-session purchase onboard? No, this is an edge case and usually just happens for current clients. Exclude. Next Steps Paul: propose a dedicated Ashlee manual-override tag name. Paul: add Ashlee @mention + "activate now or wait?" prompt to the C2 notification step. Paul: exclude 1-session product ID (65737097c89a74324dc90c84) from C1 staging trigger. Paul: investigate the 4/8 session credit discrepancy and report back before fixing. Jet: final sign-off once above items are addressed, then promote drafts to live.
Due 2026-08-03