Agent Recruiting Wrapper
One-line description. Build the operational wrapper (voicemail + SMS + landing assets + booked-call nurture + no-show recovery + measurement) around the agent-recruiting cold call so the existing world-class script actually converts the 10,388 Courted agents in MM Ops FUB.
Why
The cold call script at handbook.rycolston.com/ryan-colston/anthony-lee/handbook/#part-12-recruiting is excellent. Pattern-interrupt opening, no-oriented questions, Status Quo capture in the prospect's own words, 5-touch lever-rotated follow-up cadence. The script itself is not the gap.
The gap is everything around the script. ~80% of cold dials hit voicemail and produce zero residual signal. There is no SMS parallel channel. The magnet is offered reactively at step 11 and Day 30 only. Booked calls have no confirmation cadence. No-shows have no recovery script. None of this is measured.
Per both Hormozis: a world-class cold outreach motion isn't a great call; it's a great call wrapped in a multi-channel asset delivery system that creates the "this team is everywhere" effect and protects every booked meeting. Without the wrapper, the script is doing 30% of the work it could do on the same dial volume.
This project builds the wrapper. Phase 1 (this weekend): voicemail recordings + SMS templates + landing video assets + the Touch 5 one-pager. Phase 2 (next): booked-call nurture + no-show recovery. Phase 3 (next): list enrichment + behavioral triggers + measurement dashboard.
Current state
- Status: in-flight (pre-production; VSL v2 §2/§3/§4 locked 2026-07-24; open: §5-§7 unreviewed, consent pass, shoot date)
- Linear: RYR-206 — open items tracker (related: RYR-70 inbound landing page)
- Last update: 2026-07-24
- 2026-07-23 — VSL restructured to v2 and the ads system cut down for a solo operator. (1)
ads/VSL/script-v2.mdrebuilt against the Hormozi pre-appointment VSL skeleton (promise → pain → proof → old/new → four-step plan → objection loop → anti-pitch → pre-call close); v1script.mdandoutline.mdretired in place with banners. (2) Delivery clarified: this is the setter-booked pre-call VSL — Anthony books the call onto Ry's calendar, prospect watches before it, so there is NO self-book CTA. Section 8 reframed from "book 15 minutes" to a pre-call warm-up close; the public-booking-page gap belongs to the separate inboundads/funnel, not this VSL. (3) Ry meets them; Ry is the closer as of 2026-07-22. (4) Two Fable reviews (system + dependency) ran; system cut to 2 angles — angle-01 (trained-wrong) and angle-03 (renamed "The 30 for 30 Number"), both rewritten to the frame; angles 02/04/05/06 retired in place. (5)Avatar - Stuck Agent.mdtier corrected from "20-35 deals / 30-deal plateau" to the locked under-12 avatar. Review saved atads/2026-07-23-ads-system-review.md. Still open (Ry decisions): the 3 proof agents + real before/after numbers (unblocks the VSL proof section, the Team Proof short rebuild, and landing-page copy), and whether to strip the remaining Carruth references inads/. - 2026-07-24 — Proof agents picked, a third pain added, and §3/§4 rewritten. The VSL's front half is locked. (1) Proof agents: Brandon Plummer, Marissa Tah, Paul Harding, one per pain, in that order. Precious Jefferson held as reserve only — she is currently flagged inactive on a self-disclosed seasonal absence and her numbers in the 2026-07-08 1x1 are unusable. (2) A third pain was added to §2: "you're doing this by yourself." It is the inverse of the retention research (1000WATT/HousingWire, 600 agents, Fall 2025: 43% stay for culture and leadership, 13% for pay). Culture stays out of the ads and does its work on the call instead — 88% of agents get recruiting pitches and 4.5% switch because of one, so the pitch is not the lever. (3) §3 restaged from three testimonial clips to Ry narrating. This is closer to the source than the clip version was: in the MoreMozi transcript the operator narrates the customer examples rather than cutting to them speaking. Agent-voiced segments moved to a v3 section at the bottom of
script-v2.md. (4) §4 and §5 merged into one section, "The Way We Work." The source runs the plan and the old-way/new-way contrast as one beat. My invented four-step plan was wrong and Ry replaced it with the real process: diagnose the constraint → unconstrain it against the ABS number → repeat. It is a loop, not a service menu; the role play, setter build, calendar block and weekly 1x1 are tools reached for depending on what the diagnosis finds. (5) All figures pulled frompos_raw.agent_raw_bookings_ytd(Orchard's Looker feed) on 2026-07-24 and approved same day. Video now targets 9:00, down from 9:30. - 2026-07-24 — The "most agents hold 4" claim was removed everywhere. It was the surviving half of the retired Carruth framing — the "15-20" half became 30 on 2026-07-23, the 4 never moved and has no source. Replaced in
angle-03(core message plus two hooks) with a count-yours challenge, and dropped from the VSL. Also flagged and not yet resolved: the "about 200 deals across roughly 27 agents" stat is live in six recruiting script files and unverified (RYR-259). Ry's call 2026-07-24 was to keep it and ship. Separately, two of MOTION-FLOW's three research citations are wrong — the 43%/13% figures are attributed to Mike DelPrete, whose 2025 study is ten qualitative interviews containing no statistics at all; the real source is the HousingWire/1000WATT survey, which is also cited separately, so one study is counted twice. - 2026-07-24 — No switching story exists in writing for any of the four agents. Every 1x1, year-end review and transcript in Drive was read. No prior brokerage named, no reason they left, no first-ninety-days account. That is a fact about what a 1x1 is for, not a records failure, and it is why v3 needs interviews. The referral-trap gap closed anyway: Ry supplied it first-hand — Marissa left her entire sphere behind when she moved to Texas. Correction on the record: an earlier read that the research "undercuts angle-01 trained-wrong" was wrong; that angle is about closing scripts versus diagnostic questions, not about a prior brokerage, and on its real definition Brandon's conversion flip is its evidence.
- 2026-06-29 — Call length resolved to 15 minutes (supersedes the 6-08 "20-min vs 15-min, pick one" open item below). Matches the Recruiting type on schedule.rycolston.com.
Resume here (cold pickup)
If you're picking this up fresh, read in this order:
1. This hub (decisions log + open issues below)
2. Wrapper Analysis.md — the 7-layer "what does world-class look like" frame
3. VM and SMS Build Spec.md — Phase 1 SMS + VM detailed spec
4. Pipeline Email Mapping.md — Kit vs Brevo across the funnel (added 2026-05-26)
5. Brevo Trigger Map.md — per-stage trigger contracts (added 2026-05-26)
Immediate next move: lock the FUB tag taxonomy (9 tags listed in Brevo Trigger Map.md §"FUB tag taxonomy"). Smallest decision, biggest downstream unblock for the email layer. Three parallel tracks are scoped in §"Next 3 actions" below.
Blocked on: Rode model + iPhone cable confirmation; SMS-provider decision (Mojo native vs Twilio vs Salesmsg); TCPA compliance posture for cold-B2B SMS in Texas; FUB tag taxonomy lockdown.
What's locked as of 2026-05-28:
- Run 1 production model = solo MVP (no hired team this weekend; document everything for Run 2)
- Run 2 production model = hired team (Director + DP + Sound + Editor), 4-6 weeks out, briefed from Run 1 lessons
- Audio gear = Rode wireless (model TBC) — pending iPhone cable confirmation (SC15 USB-C / SC19 Lightning)
- Pre-Production Checklist + Run 1 Production Log + all 4 spec docs written to hub
- Email layer: Brevo for transactional spine + cold cadence; Kit for relationship layer + broadcasts; handoff point = FUB tag ica-signed
- Email cadence engine: custom Cloud Run service pos-recruiting-mailer in pospj-480915 (NOT FUB-native, NOT Zapier — closes the §"Open issues" item from 2026-05-23)
- FUB integration = polling, verified live against MM Ops FUB API (Agent role; webhooks gated to Account Owner)
- DocuSign dropped — brokerage owns ICA; Stage 11 reframed as brokerage-handoff expectation email
- Sender = Ry on every email, every stage (single-operator system)
- Two calls — discovery + vision, both run by Ry, separate stages
- Two-lane sender architecture — ry@rycolston.com transactional; ry@team.rycolston.com cold (throwaway subdomain)
- CC ryan.colston@orchard.com on every transactional-lane send
- CAN-SPAM footer address for cold-email lane: 1800 S Loop 288, Ste 396, Denton TX 76205
- Funnel model = cold-outbound-first (not inbound-first); new Stages 0e/1e (6-touch cold email cadence) + Stages 3a/3b/3c (landing-page CTA opt-in receipts)
What's still open for shoot day: - Script lock (the next session's critical-path work — 11 pieces of copy to finalize, time-check, Hormozi-audit) - Location/backdrop choice - Lighting plan - Wardrobe choice - Teleprompter app + position decision - Friday-night rehearsal
Next 3 actions
- Script lock (this week). Walk all 11 pieces of copy through Hormozi audit + readability check + read-aloud time-check. Save to
Locked Scripts.mdin the hub. - Rode kit verification (this week). Confirm model + acquire correct iPhone cable (SC15 / SC19). Friday: charge to 100%, pair TX/RX, test recording into Voice Memo, listen back through headphones.
- Execute solo shoot (Saturday). Follow the call sheet in
Recording Shot List.md. Fill theRun 1 Production Log.mdduring AND after every shot — that log IS the Run 2 brief.
Decisions log
- 2026-05-23 — Project hub set up at
Projects/Agent Recruiting Wrapper/, not underWork/Recruiting Team/. Reason: this is a build initiative with a date, not an operational SOP. The SOPs atWork/Recruiting Team/Agent Recruiting Cadence - Expert.mdremain the spec; this project is the implementation. - 2026-05-23 — Run 1 = solo MVP. No hired videographer. Production discipline = document every decision and failure mode in
Run 1 Production Log.mdso Run 2 ships with a real brief instead of an aspirational one. - 2026-05-23 — Run 2 = full team (Director + DP + Sound + Editor), targeted 4-6 weeks after Run 1 ships and produces measurable performance data. Same SMS / VM / one-pager assets stay live during the video swap.
- 2026-05-23 — Audio gear = Rode wireless. Mic acquired same day. Pending model confirmation + iPhone cable check.
- 2026-05-23 — Scope confirmed as full Phase 1 build (not MVP-of-MVP). Phase 1 deliverables: 4 Ry videos, 1 written one-pager, 6 VM recordings, 6 SMS templates, 5 landing pages, SMS provider wired, FUB cadence automation, STOP listener, per-touch measurement.
- 2026-05-26 — Email layer = Brevo + Kit, split by job. Brevo owns transactional spine (form receipts, booking confirmations, night-before, no-show, verbal recap, brokerage handoff) + the cold-email cadence on a separate sender lane. Kit owns relationship layer (onboarding kickoff, pre-start drip, declined-warm 90-day orbit, recruiting broadcasts). Handoff point = FUB tag
ica-signed. Capability matrix saved to reusable docReference/Email Tooling - Kit vs Brevo.mdfor future setter + admin pipelines. - 2026-05-26 — Polling, not webhooks, for FUB integration. Verified live: MM Ops FUB key is Agent role; FUB returns
"Only the account owner may access webhooks."Cadence engine polls/v1/people?updatedAfter=every 5 min from custom Cloud Run service. Replaces the open question "in-FUB native vs Zapier vs custom Cloud Function" from 2026-05-23. - 2026-05-26 — DocuSign dropped from the architecture. Brokerage owns ICA paperwork. Original Stage 11 (DocuSign written-offer delivery) reframed as a brokerage-handoff expectation email — fires on FUB tag
brokerage-handoff-startedto prevent the dead-air gap between verbal offer and brokerage outreach. - 2026-05-26 — Sender = Ry, every email, every stage. Single-operator system; closer and Ry are the same person. No per-stage sender variance.
- 2026-05-26 — Two calls (discovery + vision), both run by Ry, kept as separate stages. Architecture matches the cadence SOP's future-state where closer and Ry vision call are separate roles; in current state both seats are Ry.
- 2026-05-26 — Two-lane sender domain architecture.
ry@rycolston.com(already Brevo-verified) for transactional sends.ry@team.rycolston.com(new throwaway subdomain) for cold outbound. Protects transactional deliverability from cold-outbound reputation risk. Subdomain chosen so it's disposable if reputation tanks. - 2026-05-26 — CC
ryan.colston@orchard.comon every transactional-lane Brevo send. Parallel audit trail in work inbox. NOT applied to cold lane (volume) or Kit sends (different mechanism). - 2026-05-26 — Funnel model reanchored on cold outbound. Initial mapping assumed inbound-via-Google was primary; corrected after working session — setter dials the 10,388-contact queue, CTAs in touches drive opt-ins. Added Stages 0e/1e (6-touch cold email cadence parallel to VM+SMS) and Stages 3a/3b/3c (landing-page form variants: "send me the one-pager" / "show me the team intro" / "I'd like to chat"). Original Stage 3 (full inbound application) retained as long-tail variant.
- 2026-05-28 — Email layer spec committed to vault (commit
e86fc0f):Pipeline Email Mapping.md+Brevo Trigger Map.md+Reference/Email Tooling - Kit vs Brevo.md. Hub references added. Ready for plumbing build to start. - 2026-06-08 — "30 for 30" adopted as the recruiting pitch spine, Carruth attribution dropped. The framework: hold 30 active buyers and sellers at all times (people who've told you they're moving in the next six months and are considering working with you), built by having 30 real conversations every workday. When one of the 30 executes a contract or becomes an active listing, you replace them, so the pipeline never drops below 30. 30 ABS is about a deal a week, which is how an agent breaks the one-deal-a-month ceiling. Owned outright, no Carruth — we changed his number (30, not his 15-20), wrote our own ABS definition, added the replacement mechanic, and named it, so it's an expanded framework, not his idea; and the target agent may not know who Carruth is, so naming him reads as random. Ripple (propagation pass — partly done 2026-07-23): the 2 surviving angles were rewritten to 30 for 30 and the avatar corrected; angles 02/04/05/06 retired;
outline.mdretired. Still Carruth-framed (pending Ry's strip-or-keep decision):Carruth Frame.md,Voice & Tone Rules.mdlayer 2,Ads System - Plain English Walkthrough.md, andscripts/asset-videos.md. - 2026-06-08 — Avatar locked to the under-12-transactions-a-year DFW agent (the "one deal a month ceiling"). Supersedes the
ads/Avatar - Stuck Agent.md20-35-deal tier, now the outlier to reconcile. - 2026-06-08 — Proof = real agents who run 30 for 30, not the team average. The team average (~7 deals/agent from ~200 homes / 27 agents) deliberately never goes on camera — a sub-12 recruit watching a 7-average claim doesn't add up. Proof comes from featuring 2-3 agents who actually hold the standard and the deals it produced (numbers still to lock). Consequence: the Team Proof short video (built on the 7-vs-3 team-vs-DFW-median stat) needs a rebuild around an agent example.
- 2026-06-08 — VSL + asset video scripts drafted.
ads/VSL/script.md(the anchor VSL) is locked in Ry's voice from the hook through the team section (hook, intro+diagnosis with the two reasons, the 30-for-30 framework, the bridge). Anti-pitch / CTA locked in Ry's voice 2026-06-08 (see entry below); Team section deferred to a second pass.scripts/asset-videos.mdholds the 4 short videos (Team Intro, Coaching Explainer, Switching-Cost, Team Proof) but they were written before the 30-for-30 / Carruth / avatar decisions, so they're stale and need a pass.ads/VSL/outline.mdscript-drafted box checked. - 2026-06-08 — Email architecture superseded by the Comms Platform. The hub's email-layer section below (Brevo +
pos-recruiting-mailerCloud Run +team.rycolston.comcold subdomain) is out of date. The actual built layer is Resend (not Brevo) +pos-commsCloud Run (not pos-recruiting-mailer) +orchard.rycolston.comcold lane (not team.rycolston.com), with the recruiting FUB instance keyed by Secret Managerfub-recruiting-api-key. SeeProjects/Comms Platform/Comms Platform.md. The email-layer section here needs a rewrite (parked). - 2026-06-08 — VSL anti-pitch + CTA locked in Ry's voice; standalone Close cut. Completed the VSL 1×1 review. Anti-pitch rewritten by Ry to screen on both halves of 30 for 30 — "challenged and pushed" (the doing), "buy more leads" (the wrong fix), and "held accountable to the doing and tracking actions that actually make you money" (lever + gauge), closing on "I have the proven system, but if you won't do your part, the work, the rest doesn't matter." CTA is a "20-minute business audit call... no pitch, no sell," reframed as insider treatment ("I'll treat you like the top agents on my team"), payoff = a strategy to grow GCI "at zero risk." The CTA is now the close — the separate reiterate-the-diagnosis Close section was deleted; the video buttons out on the CTA so the ask isn't softened. Open word-choice flags (Ry to decide): "unlock your potential" and "absolutely" both edge toward the posturing register the rest of the script avoids. Open consistency item (RESOLVED 2026-06-29 → 15 min):
VSL says 20-min call, the 4 asset shorts say 15-min — pick one.Whole VSL is now locked except the Team section (Ry's second pass) + the verify-before-shoot numbers.
Open issues
Production (Run 1 weekend)
- Confirm Rode model + acquire iPhone cable (SC15 for USB-C iPhone 15+, SC19 for Lightning ≤iPhone 14)
- Script lock — 11 pieces (4 video, 6 VM, 1 one-pager) —
Locked Scripts.mdto create. Also gates Brevo email templates (tpl-1throughtpl-11,tpl-0ethroughtpl-5e). - Brand palette hex values pulled from
Reference/Brand.mdand loaded into Canva / CapCut templates
SMS / VM / dialer (Phone Platform overlap)
- SMS provider decision (Mojo / Twilio / Salesmsg) — 30-min eval
- TCPA / cold-B2B SMS compliance scope (Texas) — 30-min call
- Mojo VM-drop configuration access (who owns Mojo admin)
- Calendar booking link audit: does the existing link send a confirmation that includes Ry's name + role + photo + agenda line? (Layer 5 requirement)
Email layer (decisions needed before plumbing ships)
- FUB tag taxonomy lockdown — confirm or rename the 9 tags in
Brevo Trigger Map.md §"FUB tag taxonomy". Smallest decision, biggest unblock. Highest priority. - One-pager content briefs — Touch 5 farewell one-pager + team intro one-pager (gates Stages 1, 2, 3a, 5e)
- Form field designs — 4 Cloudflare Pages form variants (
one-pager/team-intro/chat/application). Likelyfirst_name,email,current_brokerage, optionallyphone.
Email layer (build, Phase 1 — can start now)
- Brevo domain auth on
rycolston.com— 3 TXT records to Cloudflare DNS (15 min). Unblocks every transactional send. - Add
team.rycolston.comsubdomain in Cloudflare + verify in Brevo. Unblocks cold-lane warm-up. - Secret Manager entries in
pospj-480915:brevo-api-key,fub-api-key-mm-ops,kit-api-key - BQ tables in
recruitingdataset:email_events,fub_poll_cursors,cold_cadence_state(schemas inBrevo Trigger Map.md) - GCS bucket
pos-recruiting-assetsfor one-pager PDFs + GIF thumbnails - Cloud Run service skeleton —
pos-recruiting-mailerwith 6 endpoints stubbed - Cold-lane warm-up curve: 50/day weeks 1-2 → 250/day weeks 3-4 → 1000/day thereafter
Email layer (build, Phase 2+)
- 16 Brevo templates drafted from locked scripts
- 4 Cloudflare Pages form variants wired to
/webhook/form - Cloud Scheduler entries:
/poll/fubevery 5 min,/cron/cold-cadencedaily,/cron/nightbeforehourly,/cron/noshowhourly - Kit sequences:
seq-3a,seq-3b,seq-12-onboarding-kickoff,seq-13-prestart,seq-14-declined-warm-orbit - Brevo events webhook →
/webhook/brevo-eventfor delivery/open/click/bounce → BQ
Measurement (Phase 4)
- Per-touch measurement: where does the dashboard live (BQ + Looker / Streamlit / Google Sheet for v1)
- Daily reconciliation report: contacts who hit a trigger tag but didn't get a send
References
- Cadence spec (the operating model this project implements): Agent Recruiting Cadence - Expert
- Setter-side cadence spec (sister doc): Setter Recruiting Cadence - Expert
- The actual cold-call script (the thing the wrapper wraps):
~/rylobasic/domains/handbook-rycolston-com/content/ryan-colston/_overrides/recruiting.md— rendered at https://handbook.rycolston.com/ryan-colston/anthony-lee/handbook/#part-12-recruiting - Repo audit (gap analysis against the SOPs):
Projects/Agent Recruiting Wrapper/audit/Cadence Audit - 2026-05-22.md(mirrored fromWork/Recruiting Team/Recruiting Setter/Cadence Audit - 2026-05-22.md) - VM + SMS build spec (the detailed Phase 1 spec):
Projects/Agent Recruiting Wrapper/VM and SMS Build Spec.md - Recording Shot List (this weekend's punch list):
Projects/Agent Recruiting Wrapper/Recording Shot List.md - Wrapper Analysis (the full 7-layer breakdown):
Projects/Agent Recruiting Wrapper/Wrapper Analysis.md - Pipeline Email Mapping (Kit vs Brevo per stage):
Projects/Agent Recruiting Wrapper/Pipeline Email Mapping.md - Brevo Trigger Map (per-stage trigger contracts):
Projects/Agent Recruiting Wrapper/Brevo Trigger Map.md - Recruiting Ads workstream (organic → paid, Carruth-framed):
Projects/Agent Recruiting Wrapper/ads/README.md— paid/inbound funnel, sibling to the outbound cold-call wrapper. Built on Hormozi organic→paid methodology + Carruth philosophical frame. - Email tooling reference (reusable for setter + admin pipelines): Kit vs Brevo capability matrix
- Related projects: Marissa Tah Setter Program (sibling agent-level pilot), Phone Platform (dialer + SMS infrastructure)
- Hormozi reference master:
Reference/Hormozi Files/Hormozi-Recruiting-And-Hiring.md - Brand palette (use on all landing assets):
Reference/Brand.md(Olive / Bamboo / Concrete)
Phase plan
| Phase | Scope | Target |
|---|---|---|
| Phase 1 — Run 1 (Solo MVP) | Solo-shot footage. VM scripts + SMS templates + 4 Ry videos + 1 one-pager + 5 landing pages + SMS provider + FUB automation + STOP listener + per-touch logging. Documented end-to-end so Run 2 has a real brief. | This weekend → end of next week |
| Phase 1.5 — Run 2 (Team Shoot) | Hired team — Director + DP + Sound + Editor. Re-shoots the 4 videos at full quality, sourced from Run 1 lessons. Same SMS / VM / one-pager assets stay live during the swap. | 4-6 weeks after Run 1 ships and produces measurable data |
| Phase 2 | Booked-call nurture (confirmation, 24h, 1h, night-before asset) + no-show recovery script + automation | Following week from Run 1 ship |
| Phase 3 | List enrichment (behavioral triggers: recently listed, expired, brokerage change, social signal) + per-tier copy variants (Schwartz pyramid) + measurement dashboard (per-stage, per-tier) | Within 30 days of Run 1 ship |
Success criteria (how we know the wrapper is working)
Measured against baseline (current dial → discovery-call conversion):
- Connect-rate hold: voicemail + SMS doesn't degrade the rate at which prospects pick up the next live dial (proves the wrapper isn't being seen as harassment).
- VM-to-link-click rate: ≥8% of VM drops result in a click on the SMS link within 48h.
- SMS reply rate: ≥3% of cold SMS get a non-STOP reply.
- Booked-call show rate: improvement of ≥20 percentage points after Phase 2 booked-call nurture ships (industry default for cold-booked recruiting calls is 40-60%; target 75%+ with the wrapper).
- STOP-rate ceiling: <2% of SMS-recipients send STOP. Above that = copy is too aggressive.
- Compliance: zero TCPA complaints. Hard floor.