Next best action — your queue
One ranked list across the entire pipeline — the OS's recommended move for every open prospect, highest-leverage first. Click a row for the full profile; click a tile to filter. Drafts are prepared in Gmail for your one-click approval — nothing sends automatically.
Live alerts — high-value events
Fires the instant a quoted prospect replies, a call books, a payment/close lands, a no-show is detected, or a new /apply arrives — caught by the apply-webhook (instant) and the alert engine (3×/day business hours). Last 48h expanded; older collapse below. New events are drafted into one digest email for your review; nothing sends automatically. Click a row for the profile.
Follow-up queue — the watchdog
The Follow-up Watchdog scans this every morning and drafts the chase emails for your one-click approval. Click a tile for the records behind it — nothing sends automatically.
Calls — upcoming & no-shows
Synced from GoHighLevel 3×/day; "showed" is verified against Fireflies. No-shows feed the watchdog's re-book drafts. Click a row for the full profile.
Forecast to goal — weighted pipeline
| Open stage | Deals | Weighted $ | |
|---|
At-risk radar — deals going cold
Money-stage deals with no real contact beyond the safe window (quoted >7d, showed >14d, booked >10d) — same real-touch rule as the watchdog. Ranked by weighted $ at risk: the deals to save this week. Click a row to open the profile.
Predictive pipeline — win probability
Win probability blends stage (using your Fireflies-verified show→quote and quote→close), recency of real contact, engagement, and source — referrals close, YouTube fills. Value uses the quote when set, else the open-quote average (italic). Click a row for the full profile.
Show → quote — where every held call is stuck
GHL auto-advances every form fill to "Discovery Call Held", so the card lies. This panel classifies on evidence — Fireflies-verified meeting, calendar event, /apply survey — not on the GHL stage. Only 14 of 29 so-called "held" calls actually happened — this step, not lead volume, is what caps quote issuance. Every held call that hasn't been quoted gets its specific blocker named here rather than the same generic "invite them" for all. Click a name to open the profile.
Show → Quote — the Q3 number
—
held calls → quotes (measured)
held (grey) vs quoted (green)
The conversion the whole autopilot exists to lift. Weekly bars come from the nightly metrics rollup; Q3 is the planning-season push the rescue + showed-pool waves are built to move.
Signatures — closed-won feed
Live from TaxDome via Zapier once wired (see outputs/taxdome-zapier-setup.md) — each signature/payment writes a deal and moves the gap counter. Green = counts toward the goal.
Referrals & reviews — the compounding engine
| Referred | Status | Revenue | Referrer |
|---|
Referral is the #1 true source. The Referral & Review engine (weekdays 10am) drafts the referral ask at 60 days post-signature (one per client, ever), Google-review asks post-close, and referrer thank-yous — every draft waits for your approval in Gmail. ✓ = referrer thanked. Renewals bill automatically and need nothing.
Funnel — current pipeline snapshot
Snapshot of where opportunities sit right now. Stage transitions record from now on.
Pipeline detail — GHL stages
Reverse funnel — what the gap demands
Avg fee, show→quote and quote→close prefill from your real data; the grey-zone rates are editable estimates until new-funnel data accrues.
Prospect intelligence — the outbound bench
Trigger hotlist — tax pain is acute now
Triggers are mined from real employment data (new roles = fresh equity grants / comp jumps / ownership changes). These are the personalization hooks for outreach — nothing sends without your approval.
Marketing — campaign performance
Click any campaign to open its audience — non-won rows are your retarget list. Outbound campaigns are fully measured now (activity→funnel); per-video ROAS/spend light up once Google Ads access + the /apply UTM fix land. The Marketing Analyst agent posts weekly scale / cut / retarget calls in the strip above.
Attribution — true source (how they heard)
| Source | Prospects | Won | Revenue |
|---|
From the /apply survey "how did you hear about us" — the real channel, not the form name. Referrals close; YouTube fills. Click a source to see who. The outbound bench shows as "not captured" (never filled a survey).
Attribution — first-touch source
UTM-level attribution unlocks when the /apply redirect fix lands (Mark / site agency).
Channel & ad intelligence
Spend → applications → closed $ per channel lights up once ad spend is loaded (Google Ads access pending). The 5 YouTube CTAs are UTM'd (outputs/youtube-cta-copy.md) so each video maps to its applications here after the /apply redirect fix.
Outbound — status Sending blocked
| Warm-up week | Sends / mailbox / day | |
|---|
Send queue — next cold touch
One person per company (highest ICP), verified email, not suppressed, no company touched in 30 days — the exact order the send agent will work once domains go live. Click a segment tile to filter, a row for the profile. Nothing sends automatically.
Sequences — per-segment templates
First touch + 3 follow-ups per segment, all driving to /apply. Merge fields {{first_name}} {{company}} {{sender_name}} fill at send time; the sending platform appends the physical address + one-click unsubscribe (CAN-SPAM). Edit copy in Supabase sequence_steps.
Activity health — outreach engine
Nothing sends yet. This panel lights up in Phase 4: sends, reply rate, positive-reply rate, and deliverability warnings per inbox/domain — fed by the cold-email platform into the activities table. Prerequisite in motion: sending domains + 3-week warmup.
Autopilot — routines
Every automation that keeps the OS current, in one pane. Each writes a heartbeat when it runs (last run + status). Manage or "Run now" from the Scheduled sidebar — this shows what actually fired and whether it succeeded.
Data trust — self-healing
The Data Steward runs nightly: it auto-quarantines unambiguous test/spam/internal records (reversible — suppress + not-qualified) and flags the rest for you. Nothing real is ever auto-deleted. Click a row to open the record. "Unverified" = un-triaged, not necessarily bad — many resolve once the /apply survey syncs.