Pipeline Navigator
Engine 1 β Inquiry to Legacy (12 Stages)
Overall Build: 47%
25 production Β· 8 beta Β· 16 alpha Β· 2 prototype Β· 19 not built Β· 70 total across 12 stages
Lead Intake + Acknowledgement
Website Form
PRODUCTIONstephanboekerfilms.com β Gravity Forms (typeform-style)
π§ WordPress + GF Form 34
Zapier Trigger
PRODUCTIONGF submission β Zapier v15 fires
π§ Zapier (GF Form 34 trigger)
AC Contact Created
PRODUCTIONContact created/updated with AI Research, tags, investment link
π§ Zapier β AC API
AC Deal Created
PRODUCTIONDeal auto-created in SBF - Wedding Enrollment pipeline
π§ AC Automation 136 (status: active, 29 entered)
Acknowledgement Email
PRODUCTIONReceived: Your inquiry for %WEDDING_DATE% β 24hr review protocol, scarcity
π§ AC Automation 136 (1:1 email via connected account)
AI Triage & Scoring
Notion Fetch
PRODUCTIONCode step pulls 100 venues/planners from Notion DB (live, dynamic)
π§ Zapier Code Step β Notion API
AI Fuzzy Match
PRODUCTIONGPT-4o mini matches venue + planner names (handles misspellings)
π§ Zapier AI Step (gpt-4o-mini)
High-Intent Comment Check
PRODUCTIONGPT-4o mini classifies inquiry comment as high/low purchase intent
π§ Zapier AI Step (gpt-4o-mini)
Deterministic Scoring
PRODUCTIONPremium Venue +30, Premium Planner +30, Standard Planner +10, Guestsβ₯75 +20, Fairytale +10, Micro wedding at premium venue +10, High-intent comment +10
π§ Zapier Code Step (JavaScript, v15)
Tier Tag + Commission + Investment Link
PRODUCTIONβ₯50 = Tier 1, <50 = Tier 2. Planner commission always overrides venue. Investment guide URL with #elopement or #multi-day anchor.
π§ Zapier β AC tags + fields + investment link
First Touch (Drip Sequences)
Voice Architecture: Both tiers fully automated via AC. Stephan SMS only on Tier 1. No human gates. Patrick/REPS reviewed 2026-03-07.
Tier 1 Email #1
PRODUCTIONStephan's notes on your %WEDDING_LOCATION% inquiry β Gatekeeper positioning
π§ AC Automation 114 (1:1 email, active, 40 entered)
Tier 1 SMS
PRODUCTIONStephan personal SMS 8 min later β Director's Touch (only Tier 1 gets this)
π§ AC Automation 114 (SMS step, 9am-9pm window)
Tier 1 Email #2
PRODUCTIONThe Invisible Filmmaker β fires if no Calendly booking after 5 days
π§ AC Automation 114 (1:1 email)
Tier 1 Email #3 (Breakup)
PRODUCTIONClosing the loop β auto-lost after 7 more days
π§ AC Automation 114 (1:1 email β deal lost)
Tier 2 Email #1
PRODUCTIONYour inquiry for %WEDDING_DATE% β Investment Guide delivery (auto-routed: commission tier + #elopement/#multi-day anchor)
π§ AC Automation 135 (1:1 email, active, 7 entered)
Tier 2 SMS
PRODUCTIONCharis SMS 8 min later β points to Investment Guide
π§ AC Automation 135 (SMS step)
Tier 2 Email #2
PRODUCTIONWhat our work actually sounds like β Yiling & Zhi film + audio design
π§ AC Automation 135 (1:1 email)
Tier 2 Email #3 (Breakup)
PRODUCTIONClosing the loop on %WEDDING_DATE% β archive file
π§ AC Automation 135 (1:1 email β deal lost)
Vision Call Booking (Tier 1)
Calendly Link Active
PRODUCTIONCreative Call with Stephan β single canonical URL (fixed 2026-03-07)
π§ Calendly
Booking Detection
PRODUCTIONPolls Calendly API hourly (7am-9pm HST) for new Vision Call bookings. Writes trigger files for dossier pipeline. Calendly token + dedup via known_events.json.
π§ calendly_poll.py (204L, deterministic Python). Cron: Stage 4.2 β Calendly Vision Call Monitor (Sloane, hourly 7-21 HST). Trigger files: triggers/{slug}-vision-call.json. State: .calendly_poll_state.json + .known_events.json. Verified 2026-04-09.
AC Tag + Stage Update
PRODUCTIONCalendly tag triggers Tier 1 - Engaged, deal stage moves
π§ AC Automation 114 (wait condition β tag β stage)
Calendly Reminders
PRODUCTION24hr (Workflow, Charis voice) + 1hr (Basic + SMS). REPS-optimized.
π§ Calendly Workflows + Basic Notifications (deployed 2026-03-08)
Calendly Confirmation Page
PRODUCTIONCustom redirect to stephanboekerfilms.com β 'You're on Stephan's calendar' + one-moment question
π§ WP page + Calendly redirect (deployed 2026-03-08)
Calendly Cancellation Email
PRODUCTIONREPS cancellation with scarcity + rebooking link, Charis voice
π§ Calendly Basic Notifications (deployed 2026-03-08)
Call Prep Dossier
PRODUCTIONLiving Dossier: scout_gather β compress_briefing (92% reduction) β AI writer (gpt-5.4) β QUEST dossier β weasyprint PDF. HITL task auto-created (due 1 day before call). Cron-driven hourly.
π§ Dossier Swarm Pipeline cron (Sloane, hourly, gpt-5.4). Scripts: scout_gather.py + compress_briefing.py + dossier_render.py + dossier_autorun.py. 16 PDFs generated. HITL: OmniFocus task with PDF path, Notion URL, call time, Dropbox link. Notion page + Calendar event updated. PATCHED 2026-04-30: dossier_autorun can upload via Dropbox API (curl) when configured; if Dropbox isnβt available in the runtime, upload may be skipped (PDF still generated locally).
Post-Vision Call (Commitment)
Stage 5 verified working in dry-run (2026-03-31). stage5_pipeline.py (1057 lines) orchestrates data gather β compress β writer agent (gpt-5.4 via Pro plan) β OODA review β WP proposal page β Gmail draft β AC deal move β OF tasks. Critical fix: dossier matching now requires exact slug or 2+ tokens (prevents false matches). CURRENT BLOCKER (2026-04-17): agent Discord sessions are still hitting `exec denied: allowlist miss` for python3, preventing generate_proposal.py runs in-session. FIXED (2026-04-24): Pipeline Sentinel OmniFocus check no longer uses a hanging JXA/osascript query, so OF monitoring alerts are resolved. ALERT (2026-04-23): LIVE_MUSEY/MNTR (Patrick backend) is currently stalling (no complete event) β live OODA outputs may be delayed until backend recovers. UPDATE (2026-04-29): MNTR query path restored (mntr-query.py rebuilt) β Patrick REPS audits working again, but responses can still stall intermittently. UPDATE (2026-05-02): LIVE_MUSEY runner preflight updated to accept DM/TEXT/MESSAGE audit prompts (PST-120). ALERT (2026-05-02): internal labels like βLIVE_MUSEY OODAβ surfaced in artifacts; opsec/UI hygiene hardening required. UPDATE (2026-05-03): severity escalated; PST-121 opened to implement sanitizer + cleanup/audit + regression test. LIVE RUN (2026-04-30): Heather Thomas Stage 5 executed (email sent, AC deal advanced); WP proposal page was reverted after unintended overwrite. ALERT (2026-04-27): pipeline-sentinel.sh appears missing; Sentinel cron runs but errors until script location is restored.
Intelligence Gathering
ALPHAAC contact + custom fields, Fathom transcript, Stage 4 compressed briefing. All via stage5_pipeline.py.
π§ stage5_pipeline.py gather_activecampaign() + gather_fathom() + find_stage4_compressed_briefing(). Tested on Wabick + Nakamura.
Proposal Content + Email Draft
ALPHAWriter agent produces What I Heard + 3 custom collection paragraphs + director email. Couples own words reflected back, not Stephan's methodology.
π§ sessions_spawn(mode='run', model='openai-codex/gpt-5.4') via Pro plan. Template: write-proposal-content.md. Tested on Wabick + Nakamura. NO direct API calls.
OODA Loop
ALPHAPatrick grades email on REPS, rewrites if better, captures learning rule β LEARNINGS.md β qmd update.
π§ sessions_spawn(mode='run', model='openai-codex/gpt-5.4'). Template: run-ooda-review.md. Runs as sub-agent, not browser/Musey.
Format + Gmail Draft
ALPHAOODA-reviewed email β Gmail API draft. Falls back to proposal_email_draft.py if OODA unavailable.
π§ create_gmail_draft_direct() or proposal_postflow.py fallback. NEVER sends β draft only.
WordPress Proposal Page
ALPHADivi page with personalized What I Heard + custom collection paragraphs + correct pricing from Notion.
π§ generate_proposal.py via subprocess. Writer output used for --narrative and --custom-paragraphs. Double-normalize bug fixed 2026-03-16.
OmniFocus Tasks
ALPHAHITL review task (due today, tags: Stephan, HITL) + Day 3 follow-up (tags: Sloane, defer 3d, due 4d).
π§ AppleScript via osascript in stage5_pipeline.py. Tested and working.
AC Deal Stage Move
ALPHAMoves deal to Tier 1 - Proposal Presented after proposal + email created.
π§ ac_deal_move.py via proposal_postflow.py or direct import.
HITL Review Task
ALPHACreates OmniFocus review task for Stephan with proposal URL, collections, commission tier.
π§ Integrated into stage5_pipeline.py step 5. Tags: Stephan, HITL. Due: today.
AC Deal Stage β Proposal Presented
ALPHAMove deal stage after proposal sent.
π§ ac_deal_move.py (working) β triggered after Stephan sends
Post-Proposal Follow-Up Drip
Stage 6 verified working in dry-run (2026-04-01). stage6_pipeline.py (854 lines) handles reply detection β context gathering β writer prompt β Gmail draft β tracker update β OF tasks. of-monitor.sh rewired to call stage6_pipeline.py Steps AβD (no inline prompt-building; Gmail drafts via create-gmail-draft.py).
Reply Detection
ALPHABefore any follow-up: checks draft-tracker.json status + Mail.app SQLite + Gmail API for replies. Reply found β drip stops immediately.
π§ stage6_pipeline.py step 1. check-replies.sh + Gmail API thread search. Updates tracker to 'replied' status.
Context Gathering
ALPHAPulls AC contact, Fathom transcript, Stage 4 compressed briefing, QMD REPS learnings, and full draft tracker history.
π§ stage6_pipeline.py step 2. Same gather pattern as Stage 5. QMD search for email-type-specific REPS content.
Writer Prompt + Agent
ALPHABuilds email-type-specific prompt from couple/planner template + all gathered context. Sloane spawns writer via sessions_spawn (Pro plan).
π§ Templates: draft-enrollment-email.md (couple) / draft-planner-email.md (planner). Writer saves JSON to generated/. NO direct API calls.
Gmail Draft Creation
ALPHACreates threaded Gmail draft from writer output. Threads to existing conversation if found.
π§ Gmail API via OAuth token. Threaded replies using gmail_thread_id_for_couple(). Draft only β never sends.
Drip Sequencing
ALPHAAuto-creates next follow-up OF task: Day 3β7β14 (direct couples), Day 7 plannerβ9 couple (planner track). Day 9/14 = drip complete.
π§ create-of-task.sh via subprocess. Defer/due days per email type. Tags: Sloane for follow-ups, Stephan+HITL for review.
Draft Tracker Update
ALPHALogs every draft to draft-tracker.json with full context: email_type, proposal_url, collection, call_moment, draft_id.
π§ Compatible with existing tracker schema (36 entries). check-sent.sh + of-monitor.sh read same tracker.
HITL Review Task
ALPHAEach draft creates OmniFocus HITL task for Stephan with Gmail draft ID and prompt path.
π§ create-of-task.sh. Tags: Stephan, HITL. Due: today.
Contract β Dashboard β Welcome Email β Signed β Booked
3-gate architecture with human-in-the-loop. BoldSign Growth API ($5/mo) replaces ApproveMe/OpenSign. Booking state files on disk (not agent memory). EA or Stephan triggers in #sloane-bookings. Codex CLI build plan: STAGE7-CODEX-BUILD-PLAN.md. All pipeline scripts are pure Python β zero LLM.
GATE 1 β Data Review
BETAEA/Stephan says 'Book [couple]' in #sloane-bookings. Sloane pulls data from draft-tracker + Notion + AC. Posts all fields. EA replies APPROVED or corrects. All required fields must be populated β no TBD unless EA says 'send anyway'.
π§ stage7_pipeline.py initiate (~1800L) β gate-based subcommands. Creates bookings/{slug}.json state file. Tested with live bookings 2026-04-08.
Contract β BoldSign Draft
BETAGenerate PDF contract via reportlab, then upload to BoldSign as DRAFT (DisableEmails=true). Returns edit_url for Charis to review in BoldSign web UI. N/A fields stripped from contract. Contract link added to dashboard.
π§ boldsign_send.py --draft. fill_template() strips N/A values. Templates: contracts/direct-booking-contract-template.txt + agency-contract-template.txt. Built 2026-04-06, N/A fix 2026-04-08.
QBO Invoice (DRAFT)
BETACreate DRAFT invoice in QuickBooks Online. Deduplication guard prevents re-creation on re-runs. Post-creation verification checks customer name matches expected β blocks Gate 2 on mismatch.
π§ create_invoice.py β QBO REST API with auto token refresh + DRAFT mode + dedup guard + customer name verification. send_invoice() uses no JSON body. Built 2026-04-06, send fix 2026-04-08.
Client Dashboard
BETAWordPress Project page with Divi template. Hero banner, event details, BoldSign draft review link + invoice links. Idempotent refresh β re-run updates links without creating duplicates.
π§ create_dashboard.py β WP REST API POST /wp-json/wp/v2/project. Auth: sloanekessler (ID 87). Built 2026-04-06, idempotent refresh added 2026-04-08.
Welcome Email DRAFT
BETAGmail DRAFT from Charis with dashboard link. Subject: 'Securing your date: The {LastNames} Wedding'. Template-based β no LLM needed.
π§ draft_welcome_email.py β Gmail API draft creation + Charis signature. Built 2026-04-06.
GATE 2 β Full Package Approval
BETASloane prompts Charis with clickable links: BoldSign draft URL, QBO invoice links, dashboard. validate_gate2_readiness() blocks if artifact missing. Creates OmniFocus HITL task for Charis with all links. On approval: activates BoldSign contract (cancelEditing + getEmbeddedSignLink), sends welcome email, sends retainer invoice.
π§ stage7_pipeline.py prepare + approve-gate2. HITL OF task: tags Charis,Sloane,Waiting For,Human-in-the-Loop. BoldSign activation via cancelEditing API, not /send. Built 2026-04-06, BoldSign/QBO/OF fixes 2026-04-08.
Booking Monitor (Signature + Payment + Follow-ups)
BETACron polls BoldSign API every 2h for signature status and QBO API for payment status. On signature: cancels contract reminders, resets retainer dates, transitions state. Follow-up email drafts from Charis (days 2/4/6 contract, days 3/5/7 retainer, 7d before balance) with OF tasks. Defers follow-ups if recent email activity detected (48h). Patrick OODA-approved templates.
π§ booking_monitor.py (~600L). Cron f5b42404: 7 8-20/2 * * 1-6 HST. BoldSign GET /v1/document/properties (NOT Gmail). QBO GET /invoice/{id}. Gmail activity check defers stale reminders. OF tags: Charis,Human-in-the-Loop. Built 2026-04-08.
GATE 3 β Post-Signature
PROTOTYPESignature detected β Sloane posts in #sloane-bookings. Charis replies EXECUTE. Phase 1 only β removed once system proves reliable.
π§ stage7_pipeline.py approve-gate3. Triggers: AC β Booked (stage 19) + tag, OF pre-wedding task (7 days, tags: Sloane,Charis), dossier update, tracker update. Built 2026-04-06.
BOOKED Summary
PROTOTYPEFull booking summary posted to #sloane-coo-wedding-engine (Stephan + Sloane only, Charis no access). Couple name, date, venue, collection, deposit, contract type, dashboard link.
π§ stage7_pipeline.py final step. Posts to #sloane-coo-wedding-engine channel. Built 2026-04-04, refactored 2026-04-06.
Booking State Machine
BETADurable JSON state files on disk. States: gate1βpreparingβgate2βsendingβawaiting_signatureβawaiting_paymentβgate3βbooked (+ test_closed). All steps idempotent. Resumable after any failure. Structured error hints with recovery commands.
π§ booking_state.py (243L) β CRUD for bookings/{slug}.json. Atomic writes. Blocked exception carries hint + recovery_cmd for agent self-recovery. Built 2026-04-06, states + error hints added 2026-04-08.
Pre-Wedding Communications
Value Reinforcement
NOT BUILTRemove buyer's remorse, build excitement, REPS-optimized touchpoints
π§ NOT BUILT
Upsell Opportunities
NOT BUILTRush delivery, add-ons, extended coverage
π§ NOT BUILT
Pre-Wedding Questionnaire
NOT BUILTDay-of logistics, key people, special moments to capture
π§ NOT BUILT
Timeline Coordination
NOT BUILTLogistics, vendor contact, schedule alignment
π§ Google Calendar only β no automation
Post-Wedding / Pre-Delivery
Status Update to Couple
NOT BUILTInform couple of edit timeline and what's happening
π§ NOT BUILT β couple waits in silence
AI-Generated Teaser
NOT BUILT10-second teaser delivered via IG/TikTok during edit period
π§ NOT BUILT
Social Media Collaboration
NOT BUILTTag couple, planner, venue on teaser posts
π§ NOT BUILT
Film Delivery
Strategic Delivery Framing
NOT BUILTNot a Dropbox dump β positioned as legacy archive reveal
π§ NOT BUILT
Client Dashboard Download
NOT BUILTFilms accessible through client portal (from Stage 6)
π§ NOT BUILT β depends on client dashboard
Review Request
NOT BUILTTimed request at emotional peak β mission reframe, not 'help my business'
π§ NOT BUILT
Social Sharing Kit
NOT BUILTPre-formatted clips/stills for couple to share
π§ NOT BUILT
Value Multiplication
Month 3: Vibe Check
NOT BUILTRe-watch prompt β reignite emotional connection to film
π§ NOT BUILT
Month 6: Legacy Cross-Sell
NOT BUILTFamily Archive / Anniversary project offer
π§ NOT BUILT
Month 12: Anniversary Cut
NOT BUILTDirector's Cut scene or anniversary edit
π§ NOT BUILT
Referral Activation
NOT BUILTHappy couple β referral program
π§ NOT BUILT
Planner Leverage
Planner Asset Kit
NOT BUILT48hr after film goes live β BTS clips, styled photos for planner portfolio
π§ NOT BUILT
Social-Ready Highlight
NOT BUILTNo-watermark reel for planner's own marketing
π§ NOT BUILT
Year in Review Edit
NOT BUILTAI-assisted annual compilation for top planners
π§ NOT BUILT
Quarterly Nurture Cadence
NOT BUILTOngoing relationship touchpoints (no-ask, value-first)
π§ NOT BUILT β follow-up timing framework documented