Sales process and
system SOP
One unified process for both offers. DFY and AC routed through the same application, the same two calendars, the same pipeline, and the same speed-to-lead and follow-up discipline. This document is the single source of truth for how we sell at Acquisition Network.
Why we are rebuilding the process
DraftWe have two offers and (soon) four lead sources but no single, documented sales process that ties them together. The funnel leaks in predictable places. Reps don't follow the systems that already exist. Leadership is not holding the operating discipline. The new SOP fixes the leaks AND makes the day-to-day execution boringly repeatable.
What is broken today
- No formal lead scoring. An application exists but qualified vs unvetted is not codified, so routing is inconsistent.
- Speed to lead is inconsistent. The 5 minute target is a goal, not a system. New leads can sit unworked.
- Leads slip into limbo. Open opportunities can exist without a task, without a dialer queue, and without an owner watching them.
- Two dialer systems in parallel. Reps currently dial from both Wave Power Dialer and Go High Level. We are transitioning to GHL only so there is one source of truth for dial activity, cadence, and reporting.
- Pipeline stages have no enforced entrance or exit criteria. The stages exist but reps don't follow them consistently. We need to write them down AND get the team to actually follow them.
- Follow up is ad hoc. FU1, FU2, FU3 are not tracked as a system. Per-offer call structure (one-call-close vs two-call-close, what happens on call one vs call two) is not defined.
- Contracts and payments are not centrally visible. No single view of who has a contract out, who signed, who paid.
- Sales reps are not following the existing infrastructure. Root cause: sales ops leadership is broken. Process exists in places; enforcement does not.
- Daily reporting is not accurate. Closed-won documentation is not accurate. Reps are not held accountable to update either daily reporting or closed-won records.
- Show / no-show rates are not updated in GHL. Reps skip the appointment status step, which corrupts every downstream conversion metric.
- Too many calendars. Current calendar sprawl is creating routing confusion. Resolved in Section 06.
- No clear KPI dashboard. No single view of conversion rates, drop-off points, or per-rep performance against targets. Belongs to the AN dashboard sub-project.
- Lost reasons are not consistently tracked. The lost-reason custom field exists in GHL with 10 options, but reps don't update it when moving leads to Disqualified or Closed - Lost. Taxonomy and enforcement defined in Section 11.
- No daily sales meeting / KPI review. No standing forum to review yesterday's numbers, today's plan, blockers.
- No client wins or sales training in cadence. No structured time on the calendar for skill-building.
- No call reviews or coaching. Setters and closers are not reviewed or coached on thinking and approach during sales calls.
What this SOP guarantees
- Every lead is touched within 5 minutes of arrival.
- Every open opportunity is either in a power dialer queue or has a future-dated task. No exceptions.
- Every pipeline stage has a written entrance and exit rule.
- Every rep starts and ends the day with the same checklist.
- Every contract has a tracked status all the way through to paid and onboarded.
- One dialer system: GHL. Wave Power Dialer is deprecated.
- Sales ops accountability rituals. Daily KPI review, weekly client wins / training, weekly call coaching cycle. (Section 17.)
- Every lost lead has a written reason from the lost-reason taxonomy. (Section 11.)
The two offers
DefinedEvery lead is either a fit for one of these two offers, both, or neither. The sales process is built so either offer can be the upsell or the downsell depending on what the lead can afford and what they want to do with their time.
Done For You (DFY)
We acquire a profitable business on the client's behalf using their funds. Full-service: find, vet, negotiate, close.
Acquisition Consultant Program (AC)
We train the lead to become an acquisition consultant. They earn commissions by finding, vetting, and helping clients close deals.
Lead sources
DraftFour lead sources, two live and two coming. All four route through the same unified application (Section 04) into the same two calendars (Section 06). No special-case routing per source. Source attribution is captured as a custom field for reporting only.
1. Meta paid ads → DFY VSL funnel
LiveCold traffic from Meta paid ads runs to a VSL pitching the DFY angle. Viewers click through to the unified application. Most arrivals from this source self-identify on Page 1 as DFY-track, but the application still computes both DFY and AC scores so cross-sell is structural.
2. Job platforms → AC reframe
LiveInbound from LinkedIn and other job-application sites. Applicants think they are applying to a job; we reframe the opportunity as a paid acquisition-consultant path. They land on the unified application and most self-identify as AC-track on Page 1. If a high-capital outlier shows up here, the dual-score catches it and routes appropriately.
3. Web / app self-serve
Coming soonFuture. Visitors to the main marketing site (and the AN app once live) can apply directly. Same unified application, same routing. Source attribution = "web" or "app".
4. AC webinar funnel
Coming soonFuture. AC-focused webinar drives registration → application. Webinar attendance signal is captured but does not skip the application; we want the dual scores on every lead so cross-sell stays structural.
Application and lead scoring
Draft v0.2Page 1. The capital fork (the honest qualifier)
Page 1 asks one question. It splits the form into two branches with tailored downstream questions, AND it serves as the first honest qualifier. We chose capital over preference because asking "do you want DFY or AC?" is aspirational (everyone says DFY); asking "do you have the capital?" is the truthful axis.
Do you have $100k+ liquid capital available to deploy toward acquiring a business in the next 6 months?
- (A) Yes. → DFY branch (Page 2+ asks about capital structure, target industries, hands-off vs involved preference, prior business experience).
- (B) No, less than $100k. I am looking to build wealth first by becoming an acquisition consultant who finds and brokers deals for clients. → AC branch (Page 2+ asks about prior sales experience, current income, weekly time available, network strength).
Universal questions (asked of EVERYONE regardless of branch)
These power the dual scoring and the cross-sell intelligence. They are asked on both branches.
- Full name, email, phone, city/state
- Declared liquid capital amount (range select, finer-grained than the Page 1 yes/no)
- Timeline (when do you want to acquire / start earning?)
- Hours per week available to commit
- One sentence: why do you want to do this?
- Source attribution (auto, hidden field)
Why this beats the obvious alternatives
- Two separate applications (one DFY, one AC) loses the cross-sell signal. An AC applicant with $300k who never gets asked the capital question is a missed DFY booking.
- One unified app with no fork means everyone answers all 10+ questions. Worse UX, less ICP fit, and no signal for branding the form.
- One unified app with capital fork gives each branch tailored questions (feels custom-built per lead) AND keeps the universal questions for dual scoring.
Edge case handled
Lead lies on Page 1 (says yes to $100k+ but later declared-capital amount is <$100k). The contradiction shows up in the universal questions. DFY score lands low, lead routes to Universal Discovery (Section 06) where the setter probes and pivots to AC if appropriate.
Scoring rubric (proposed weights)
Two scores compute on every submission. The higher score determines primary routing; both scores are stored on the contact record so the closer can see them pre-call.
DFY score (max 100)
| Factor | Tiers and points |
|---|---|
| Capital (declared amount) | $250k+ = 35. $100k–249k = 20. $50k–99k = 10. <$50k = 0 |
| Timeline | <30 days = 20. 30–90 days = 12. 90–180 days = 6. >180 days = 0 |
| Experience | Prior business owner = 20. Operator/exec = 12. Investor only = 8. None = 0 |
| Income | $200k+ = 15. $100k–199k = 10. $50k–99k = 5. <$50k = 0 |
| Page 1 fork answer | Picked DFY (option A) = 10. Picked AC (option B) = 0 |
AC score (max 100)
| Factor | Tiers and points |
|---|---|
| Sales / business experience | Owner or sales pro = 25. Operator/exec = 18. Some experience = 10. None = 5 |
| Time available | 20+ hrs/wk = 25. 10–19 hrs = 15. 5–9 hrs = 8. <5 = 0 |
| Cash runway | Stable income $75k+ = 20. $40–74k = 12. <$40k or unstable = 5 |
| Motivation quality (free text) | Closer judgement on the why-question free text. Strong/specific = 20. Generic = 10. Vague/red flag = 0 |
| Page 1 fork answer | Picked AC (option B) = 10. Picked DFY (option A) = 0 |
Routing thresholds
- Qualified (either offer). Either DFY score ≥ 70 OR AC score ≥ 70. Routes to Universal Consult (closer, 60 min). Closer sees both scores pre-call and pitches the better-fit offer.
- Unvetted. Both scores between 40 and 69, OR application data is incomplete. Routes to Universal Discovery (setter, 30 min). Setter confirms path and either upgrades to consult or pivots offers.
- Disqualified. Both scores below 40 AND capital <$50k AND time <5 hrs/wk. Goes straight to Disqualified pipeline stage with the lost reason logged. No calendar booking.
Where it lives
Future state (within 30 days): the application form lives on Brendan's rebuilt main website. Form submission triggers a webhook that writes both scores AND the routing decision (Disqualified / Discovery / Consult) into the GHL contact record as custom fields. A GHL workflow then assigns the right calendar invite and pipeline stage automatically.
Today (transitional): two parallel forms exist (Femi's software for AC-side job applicants, GHL form for DFY). Both will be deprecated when Brendan's unified form ships.
Routing model
DefinedThree lanes, decided by the application scores from Section 04. No 2x2 matrix, no per-source rules, no per-offer calendars. Simplest version that still respects qualification.
| Score outcome | Route | Pipeline entry |
|---|---|---|
| Either score ≥ 70 | Universal Consult Closer, 60 min | New Leads → Free Consultation (after booking) |
| Both scores 40–69 OR data incomplete | Universal Discovery Setter, 30 min | New Leads → Discovery Call (after booking) |
| Both scores < 40, capital <$50k, time <5 hrs/wk | Disqualified | Disqualified (lost reason required) |
Cross-sell is the default mode
On every Universal Consult, the closer reads BOTH the DFY score and the AC score before the call. The closer picks the primary pitch based on the higher-scoring offer, and keeps the other offer ready as the upsell or downsell during the conversation. Cross-sell is not a fallback for failed pitches; it is the structural default.
Setter pivot mechanic
On Universal Discovery, the setter qualifies the lead in real time. If new info changes the routing decision (lead claimed $100k+ on the application but real capital is $40k → pivot to AC consult; or vice versa), the setter books the appropriate consult on the spot. The setter is trained as a generalist on both offers.
Calendar architecture
DefinedThe two calendars
Universal Discovery
Setter, 30 min, outbound when possible. For unvetted leads (Section 05).
- Generic reminder sequence: "your discovery call tomorrow at X"
- Same calendar regardless of which offer the lead leans toward
- Setter qualifies + pivots offers in real time
Universal Consult
Closer, 60 min. For qualified leads (Section 05).
- Generic reminder sequence: "your consult tomorrow at X"
- Closer reads BOTH DFY and AC scores pre-call
- Cross-sell is the default mode, not a fallback
Reminder sequences are generic
Reminder copy talks about "your call" or "your consult", not "your DFY consult" or "your AC discovery". This is deliberate: the lead's offer fit is finalized at the call, not before. Generic copy lets the closer pivot the framing in the call without contradicting earlier reminder language.
Per-offer nurture is post-call, custom-field driven
After every call, the rep tags the interested_offer custom field on the contact record. Values:
DFY, AC, Both, Neither. This tag triggers the appropriate
offer-specific nurture sequence:
- DFY tag → DFY nurture drip (case studies, capital deployment content, deal flow updates)
- AC tag → AC nurture drip (consultant earnings stories, training modules, networking events)
- Both tag → mixed nurture, cross-sell positioning
- Neither tag → re-engagement drip, then disqualified after N touchpoints with no reply
Calendar deprecation
Today's sprawl includes separate DFY-Discovery, DFY-Consult, AC-Discovery, AC-Consult calendars (and possibly duplicates from prior experiments). All deprecated when v0.2 ships:
- Migrate any future-dated bookings on old calendars to the new Universal Discovery / Universal Consult
- Disable old calendars (do not delete; archive for historical reporting)
- Update GHL routing workflows to use only the two new calendars
- Update reminder automations: deprecate offer-specific copy
Speed to lead protocol
DefinedTarget: every new lead is on a phone call attempt within 5 minutes of arrival.
Notification path
- New contact created in GHL → SMS notification fires to assigned setter
- App push notification fires to setter device
- Lead is added to the New Leads pipeline stage AND to the GHL Power Dialer manual action queue
The single mechanism: GHL Power Dialer manual action
New leads enter the dialer via a manual action queue. The setter opens the GHL Power Dialer and burns the queue top to bottom. This is the ONLY mechanism for new-lead intake. No smart lists, no parallel task lists, no Wave Power Dialer.
Hard rules
- 5 minute target is non-negotiable. Tracked on the dashboard. Violations are coached.
- Any new lead notification interrupts whatever the setter is doing, except a live call.
- If the setter is unavailable, the routing workflow reassigns to the on-call setter within 5 minutes.
Dialer cadence
Defined
One workflow drives the whole call cadence. Trigger: contact is new or
the Total Outbound Call custom field updates. Workflow checks pipeline stage (must be New Leads or
No Answer) then routes by call number:
| Total outbound calls | Wait | Behavior |
|---|---|---|
| 0 | Immediate | New lead. Manual action added on entry. Setter calls within 5 minutes. |
| 1 | + 3 hours | Same-day double tap. Catches leads who missed the first ring. |
| 2 | + 1 day | Move to daily cadence. |
| 3 to 6 | + 1 day each | Daily attempts through call attempt 6. |
| 7 to 9 | + 3 days each | Cooling cadence. Lead is colder, less aggressive. |
| 10 to 11 | + 7 days each | Final stretch. Weekly attempts only. |
| 12 | Stop | Disqualify. Move to Closed - Lost or Long Term Follow Up. |
Why same-day double tap
Hours 0 and +3 catch leads in the same emotional window they were in when they applied. Every additional day is a measurable drop in pickup rate. We pay for the lead. We earn the right to call them twice in their first day.
Re-entry
Each outbound call increments Total Outbound Call, which re-enters the lead into this workflow. The
workflow is therefore self-driving: rep just keeps working the dialer queue and the cadence rebuilds itself.
Ordering caveat
GHL Power Dialer does not let us sort the manual action queue. It plays from oldest to newest. To prioritize New Leads ahead of No Answer, we run two workflows that drop into two different manual actions. Setter dials the New Leads action first, then the No Answer action.
Pipeline stages. Entrance and exit criteria
DefinedAll 15 GHL pipeline stages with the rules for moving in and out. Stages are listed in lifecycle order (front of funnel down to closed), then the side-stages (Long Term Follow Up, Re-Assigned, Disqualified) below. Entrance criteria are checked by the rep before moving the opportunity. Exit criteria tell the rep where the opportunity is allowed to go next.
New Leads
Contact created from any source (regardless of grade or routing decision).
First outbound call attempt placed → moves to No Answer, Answered (Not Scheduled), Discovery Call, or Free Consultation depending on outcome.
Power dialer manual action (call within 5 minutes of arrival).
Assigned setter
No Answer
Outbound call placed, no answer, no booking. Workflow re-enters here on every subsequent unanswered attempt.
Lead answers → Answered (Not Scheduled). Lead books → Discovery Call or Free Consultation. Attempt 12 reached → Closed - Lost or Long Term Follow Up.
Power dialer manual action per cadence ladder (Section 08).
Assigned setter
Answered (Not Scheduled)
Lead answered the phone but did not book a call.
Booked → Discovery Call or Free Consultation. Explicit "no" → Closed - Lost or Long Term Follow Up.
Follow-up call/SMS within 24 hours.
Assigned setter
Discovery Call
Discovery call booked AND lead showed up.
Setter qualifies up → Free Consultation. Needs more time → Follow Up. Disqualifies → Closed - Lost.
Post-call within 15 min: book consult OR set FU task with reason.
Assigned setter
Discovery Call (No Show)
Scheduled discovery call, lead did not show.
Rebook → Discovery Call. Or moved to Follow Up. Or 3 no-shows → Closed - Lost.
No-show recovery: call + SMS within 5 min of the no-show.
Assigned setter
Free Consultation
Consult booked AND lead showed up.
Verbal yes → Contract Negotiations. Needs more time → Follow Up Consults. Hard no → Closed - Lost. Soft no → Long Term Follow Up.
Post-call within 15 min: send contract OR book FU consult OR set FU task with reason. Tag the interested-offer custom field for nurture routing.
Assigned closer
Free Consultation (No Show)
Scheduled consult, lead did not show.
Rebook → Free Consultation. Or 3 no-shows → Closed - Lost.
No-show recovery: call + SMS within 5 min of the no-show.
Assigned closer
Follow Up
Setter or closer set lead aside without scheduling another consult (e.g. waiting on capital, spousal conversation, info request).
Re-engages → back to Discovery Call or Free Consultation. Becomes unreachable → cadence then Closed - Lost. Long-dated → Long Term Follow Up.
Future-dated FU task with reason and FU number (FU1, FU2, FU3).
Original rep
Follow Up Consults
Closer scheduled a second (or third) consult to close.
Same as Free Consultation (Contract Negotiations, Follow Up, Closed - Lost, Long Term Follow Up).
Post-call: send contract OR another FU consult OR move stage with reason.
Assigned closer
Contract Negotiations
Closer sent contract or has verbal commit.
Contract signed AND payment received → Closed - Won. Contract dies (lead goes silent past cadence, or hard no) → Closed - Lost or Long Term Follow Up.
Daily contract follow-up task until signed. Ops adds tracking task in parallel.
Assigned closer (sales) + Ops (contract status tracking)
Long Term Follow Up
Lead said "not now" with specific future timing OR rep judgement that they will be ready later.
Future-dated task fires → moves back to Follow Up or directly to a booked call.
REQUIRED future-dated task with written reason. No task = not allowed in this stage.
Original closer or setter
Re-Assigned Leads
Ops manually moves a lead from one rep to another (rep left, vacation, capacity, ownership change).
New rep accepts → moves to whichever active stage the lead was in before reassignment.
Hand-off task assigned to new owner with context note.
Ops temporarily, then new rep
Disqualified
Hard fail at application (Section 04 disqualification rule) OR rep decision after disco/consult that lead is structurally not a fit (e.g. fraud, geographic restriction, unfixable expectation gap).
Only by manual re-qualification (rare).
REQUIRED lost-reason custom field updated (Section 11 taxonomy).
Ops
Closed - Lost
Lead said no, contract died, hit attempt 12 with no answer, or 3 cumulative no-shows.
Only if lead returns inbound and is re-qualified.
REQUIRED lost-reason custom field updated from the Section 11 taxonomy. EOD report rejects entries without it.
Original rep
Closed - Won
Contract signed AND payment received.
Handoff to onboarding completes → opportunity moves out of sales pipeline entirely.
Handoff task to onboarding (kickoff scheduled, welcome packet sent, intro call booked).
Closer → Ops/Onboarding
- Long Term Follow Up requires a future-dated task. No task means the opportunity is leaking. Daily audit catches it (Section 10).
- Closed - Lost requires a lost-reason custom field update from the Section 11 taxonomy. EOD report rejects entries without it.
- Contract Negotiations is owned by both sales (closer) and ops (contract tracking). Ops sees the same opps the closer does.
- Show / no-show updates fire automatically from calendar status, but reps must verify on every call (currently a major gap, see Section 01).
The never-lose-a-lead rule
DefinedThe only legal limbo
Long Term Follow Up. A lead can sit there only if the rep has placed a future-dated task on them with a written reason (e.g. "Capital available in Q3, follow up 2026-08-15"). No future task = not allowed in Long Term Follow Up.
Daily audit
Every morning, the daily setter and closer routines (Sections 12 and 13) include a query: all open opportunities owned by me without an open task. That list must be zero by end of day. If it isn't, something is leaking and the rep stays late or pages ops.
Disqualification is a positive action
We never let leads die through neglect. The only ways a lead exits active pipeline:
- They tell us no (lost reason logged from Section 11 taxonomy)
- They tell us they are not interested (lost reason logged)
- We close them on an offer
- We hit call attempt 12 with no answer (lost reason: Never Answered)
- They are explicitly moved to Long Term Follow Up with a future-dated task and reason
Anything else is a process failure.
Lost reason taxonomy
Definedlost_reason custom field on the contact is REQUIRED before moving an opportunity to Disqualified or
Closed - Lost. EOD reports reject entries without it.
The 10 reasons (current taxonomy)
| Reason | When to use it |
|---|---|
| Do Not Contact | Lead explicitly opted out or asked not to be contacted. |
| Never Opted-In | Lead did not consent to be contacted (data quality / source issue). |
| Went With Competitor | Lead chose another acquisition broker, business-buying program, or training provider. |
| Bad Contact Info | Phone disconnected, email bounced, no reachable channel. |
| Never Answered | Hit cadence cap (12 outbound attempts) without ever connecting. |
| Bad Timing | Real intent but circumstances misaligned (life event, business change). Often paired with Long Term Follow Up. |
| Insufficient Funds | Lead does not have capital to deploy and is not a fit for AC. |
| Not Interested | Lead engaged but explicitly declined the offer after a real conversation. |
| Abandoned / Ghosted | Was engaged then went silent past full cadence. Different from Never Answered (we did connect at least once). |
| Proof of Concept Objection | Lead wanted more proof, case studies, or guarantees than we can provide. Often a coaching/material gap to fix. |
Enforcement
- GHL workflow: opportunity cannot move to Disqualified or Closed - Lost without
lost_reasonset. - Daily audit (Section 12 / 13): query for any opps closed in the last 24 hours with no lost reason → must be zero.
- Weekly sales ops audit (Section 17): pull lost-reason distribution and review with the team. Trends inform coaching topics.
- Reps cannot edit a lost reason after EOD without ops approval (prevents revisionism).
This taxonomy is v0.1, open to revision
These 10 reasons are the current GHL options. We may consolidate (Abandoned/Ghosted vs Never Answered have overlap) or add new ones (e.g. "Not Decision Maker", "Lost to Internal Hire"). Revisions get reviewed quarterly in sales ops cadences (Section 17).
Daily workflow. Setter
Draft v0.2The setter's job is two things only: burn the call queues and book qualified leads into closer consults. Everything in this routine serves one of those two outcomes. Single dialer (GHL), single discovery calendar (Universal Discovery), single mission.
Daily targets (provisional)
The day, hour by hour
- 8:00a · Clock in. Open GHL (Conversations + Pipeline + Calendar tabs), the AN dashboard, and today's tracking sheet. Mute Slack except #sales-floor.
- 8:05a · Daily sales meeting (15 min). Section 17. Yesterday's numbers, today's plan, blockers.
- 8:20a · Morning audit (10 min). Pipeline filter: my opportunities · open · no open task. List must reach zero before 8:30a. For each: add a task with due date, or move to Long Term Follow Up with a written reason.
- 8:30a · New Leads queue (GHL Power Dialer). Burn until empty. Every answered call updates the stage immediately. Every no-answer increments cadence automatically.
- 9:30a · No Answer queue (GHL Power Dialer). Work the cadence-driven queue.
- 10:30a · Universal Discovery calls. Booked calls run on calendar slots. Post-call (within 15 min):
update stage, write notes, set the next task, tag the
interested_offerfield, and either book the consult on the spot or set a follow-up task. Then back to dialer. - 12:00p · Lunch (30 min).
- 12:30p · New Leads queue refresh. Pull anyone who applied during the morning. Speed-to-lead still applies even on the second wave.
- 1:00p · Tasks. Work due-today task list, top to bottom. Tasks that cannot close today get a new due date and a one-line reason in the note. Never a blank reschedule.
- 2:30p · No Answer queue (second pass).
- 3:00p · Universal Discovery calls (afternoon block).
- 4:30p · Closing audit (15 min). Re-run the morning's "no open task" filter. List must be zero. Update tracking sheet (dials, conversations, sets, shows, no-shows). Every Closed - Lost from today has a lost reason.
- 5:00p · Submit EOD. Post in #sales-eod: dials, conversations, sets, shows, no-shows, lost reasons logged, blockers, tomorrow's first action.
Hard rules
- 5 minute rule. Any new lead notification interrupts whatever the setter is doing (except a live call). Within 5 min on the phone.
- No-show rule. Discovery no-show triggers a call + SMS within 5 min of the missed slot.
- Stage move = same minute. Stage gets moved during or immediately after the call, not at end of day.
- Audit must be zero. Open opps without tasks is a fireable pattern, not a one-off. End-of-day = 0 every day.
- Lost reason required. Every Disqualified or Closed - Lost move requires a Section 11 taxonomy entry.
- Show / no-show update. Every appointment status updated in GHL within 5 min of the call.
Daily workflow. Closer
Draft v0.2The closer's job: run consults that end in a contract sent, and chase contracts to signed and paid. Single Universal Consult calendar; cross-sell is the default mode (always read both DFY and AC scores pre-call).
Daily targets (provisional)
The day, hour by hour
- 8:30a · Clock in. GHL (Calendar + Pipeline + Conversations), dashboard, tracking sheet.
- 8:45a · Daily sales meeting (15 min). Joins setter standup. Section 17.
- 9:00a · Pre-call prep block (45 min). For every consult on today's calendar: read the application, BOTH scores (DFY and AC), setter notes, prior call notes. Write a one-line "primary pitch + upsell/downsell" note for each. Pre-prep beats winging it; cross-sell preparation is non-optional.
- 9:45a · Morning audit (15 min). Pipeline filter: my opportunities · open · no open task. Must reach zero before 10a. Special attention to Contract Negotiations: every contract older than 24 hours gets a touch today.
- 10:00a · Contract Negotiations block (30 min). Call/SMS every open contract. Update status note in opportunity. Trigger ops re-send on any contract that needs a fresh link.
- 10:30a · Universal Consult block 1. Consults on calendar. Within 15 min after each call: stage move,
notes, tag
interested_offercustom field, send contract OR book FU consult OR set FU task. Loss reason logged from Section 11 if Closed - Lost. - 12:30p · Lunch (30 min).
- 1:00p · Follow Up Consults block. Booked second-touch consults run here.
- 2:30p · Tasks. Work due-today tasks, top to bottom. Reschedule uncompleted with reason.
- 3:30p · Universal Consult block 2.
- 4:30p · Closing audit (15 min). Re-run the no-task filter. Zero. Update tracking sheet: consults run, shows, no-shows, contracts sent, contracts signed, dollars committed, dollars collected. Every Closed - Lost has a lost reason.
- 5:00p · Submit EOD. Post in #sales-eod: consults, shows, contracts out, contracts signed, $ committed, $ collected, blockers, tomorrow's biggest opp.
Hard rules
- Cross-sell prep is mandatory. Closer reads BOTH scores before every consult. No exceptions.
- Stage move + post-call task within 15 min. Not at end of day. Not at end of block.
- No-show rule. Consult no-show triggers a call + SMS within 5 min.
- Contract touch rule. Every open contract in Negotiations gets a touch every day.
- Lost reason required. Every Closed - Lost move requires a Section 11 taxonomy entry.
- Interested-offer tag required. Every consult ends with the
interested_offerfield updated, which fires the right nurture sequence. - Audit must be zero. Same as setter. End-of-day open opps without tasks = 0.
Follow up system
TBD- Live as tasks vs workflow steps vs both
- Cadence: same as dialer ladder, or its own schedule
- Channel mix per attempt: call vs SMS vs email vs voicemail drop
- Where rep sees "this lead is on FU2" at a glance
- Exit criteria: when does FU stop and move to Long Term Follow Up or Closed - Lost
- Per-offer nurture (Section 06) runs in parallel with rep follow-up; how do they coordinate?
Contracts and payments
TBD- Contract platform (PandaDoc, DocuSign, GHL native)
- Trigger automation: who fires the contract, where from
- Tracking: single view of every contract out, signed, expired, voided
- Payment platform and link to opportunity record
- Handoff to onboarding once payment clears
- Stage gating: which pipeline stage requires contract sent vs signed vs paid
Tracking sheets and EOD reporting
TBD- What stats: dials, conversations, sets, shows, no-shows, consults, closes, contracts out, contracts signed, revenue, lost-reason distribution
- Sheet location: Google Sheet vs dashboard auto-pull from GHL
- Cadence: real-time updated vs end of day
- Who reviews when: daily standup vs weekly
- What rolls into the AN dashboard (the existing dashboard sub-project) automatically
- Show/no-show enforcement: how does the sheet flag missed updates?
Sales ops cadences
DefinedDaily sales meeting (15 min)
- When: 8:05a, every weekday
- Who: all setters, all closers, sales ops lead (runs it)
- Format: yesterday's KPIs (per rep + team total), today's plan (consult load, queue depth), blockers (one minute per person max)
- Output: any blockers get an owner and a deadline before the meeting ends
Weekly client wins / sales training (45 min)
- When: Monday 9:30a
- Who: all setters, all closers, sales ops lead, founder (rotating)
- Format: 15 min wins recap (closes from last week, contract signs, big saves), 30 min sales training (one topic: objection handling, opener, transition to close, etc.)
- Output: training notes captured in shared doc; one specific tactic to apply this week
Weekly call review / coaching cycle (1 hr)
- When: Wednesday 3p
- Who: sales ops lead + 2 reps (rotating: alternate setters and closers each week)
- Format: review 2 recorded calls per rep (one win, one loss). Coach on thinking, framing, transitions, pivot mechanics, cross-sell execution.
- Output: rep gets 2 specific coaching points to apply. Logged in coaching tracker.
Weekly sales ops audit (built into Friday EOD)
- When: Friday 4:30p
- Who: sales ops lead
- Format: pull lost-reason distribution, no-show rates, call cadence compliance, audit-zero compliance per rep, contract aging in Negotiations.
- Output: any rep failing standards gets a 1:1 with sales ops Monday. Repeat failures escalate to founder.
Quarterly taxonomy review
- Lost reason taxonomy (Section 11) reviewed every quarter
- Pipeline stage criteria (Section 09) reviewed every quarter
- Calendar architecture (Section 06) reviewed every quarter or whenever volume shifts trigger sprawl
Cadence ownership
- Sales ops lead owns running every cadence above. If the role is not staffed, founder fills in until it is.
- Founder attends weekly client wins and the Friday audit by default; daily and coaching are sales-ops-led.
- Reps attend mandatory cadences. Three misses without prior approval triggers a coaching conversation.
Open items and build backlog
DefinedThe complete list of unfinished work for this SOP, ranked. v0.2 closed most of the v0.1 gaps. What remains:
Locked in v0.2
- Section 02 Two offers · Defined
- Section 05 Routing model (3-lane decision tree) · Defined
- Section 06 Calendar architecture (2 calendars + post-call interest tag) · Defined
- Section 07 Speed to lead (GHL Power Dialer manual action locked as single mechanism) · Defined
- Section 08 Dialer cadence (GHL only, Wave deprecated) · Defined
- Section 09 Pipeline stages · Defined
- Section 10 Never-lose rule · Defined
- Section 11 Lost reason taxonomy · Defined
- Section 17 Sales ops cadences · Defined
Drafted in v0.2, needs team review
- Section 01 Why · Draft · expanded with all team-named gaps; review for accuracy
- Section 03 Lead sources · Draft · 4 sources now; sources 3 + 4 still future
- Section 04 Application + scoring · Draft v0.2 · capital fork + dual scoring; thresholds and weights need calibration once Brendan's form is live and we have submission data
- Section 12 Setter day · Draft v0.2 · run for a week, revise from observation
- Section 13 Closer day · Draft v0.2 · same
Empty, needs to be designed
- Section 14 Follow up system · TBD · tasks vs workflow vs both, channel mix, FU number visibility, coordination with Section 06 nurture
- Section 15 Contracts and payments · TBD · platform, automation triggers, tracking view, payment link, onboarding handoff
- Section 16 Tracking sheets and EOD reporting · TBD · stats list, location, cadence, dashboard pull-through
Cross-cutting open items
- Brendan's platform rebuild ships (target: within 30 days). Until then we run the transitional Femi + GHL state.
- AN dashboard sub-project needs to wire the KPI views called out in Section 01 ("no clear KPI dashboard").
- Source 3 (web/app) and Source 4 (AC webinar) need launch dates and source-attribution fields wired in GHL.
- Sales ops lead role needs to be staffed (or founder owns it explicitly until staffed).