Focal x Charm · CRM Funnel Review

The funnel, audited against the CRM.

A read-only pull of all 406 Attio deals on August 31, cross-referenced against the 32 audited outbound positives. Three questions: where each positive stands, what the CRM needs fixed before its numbers are quotable, and what the funnel needs to run without deals falling into purgatory.

406
Deals in the CRM, 301 open
29
Of the 32 outbound positives exist as deals
11
Outbound positives at Demo Requested or beyond
42%
Of open deals have no next step set
01 · The Positives in the Funnel

The positives are further along than the sending platform showed.

Stages as recorded in Attio, Aug 31
pending the reconciliation in 02

The email platform sees replies; the CRM sees what happened after. Per Attio, 11 of the 32 positives have reached Demo Requested or beyond: 2 completed demos (Tootsies, JAX Vineyards), 3 proposal requests (Waterfront Venice, Hofman Group, Bru Grill), and 6 more with demos requested or in motion. The positive-to-meeting motion is real and recorded. These stage labels are Attio's; treat them as claims until the reconciliation below is done.

Attio stageCountWho
Demo Completed2Tootsie's at the Stanford Barn, JAX Vineyards
Proposal Requested3The Waterfront Venice, Hofman Hospitality Group, Bru Grill & Market
Demo Requested4William Duff Architects, Shades of Green, Stoev Design Group, Plow
Lead Working11Fiddlers Green, Town's End, Nalu Vida, Edley's, Bluewater, Kaskaid (Crave America), Saffron, Rose Pizzeria, Block Party, Water & Wheat, Le Gamin
Lead Paused3WeHo Bistro, Shoreline Awning, Mersea
Closed out3Isa Restaurant (proposal lost), Lone Star Saloon (unqualified, see 02), Shade Power (unqualified, referral nurture)
No deal record3Vanguard (Cheryl Maloney), Elena Neustadt, Jon D'Angelica
Total323 not yet logged (see 02); Ballyhoo exists but is source-tagged Personal Connection

Two positives that looked hot in the report are parked in the CRM. WeHo Bistro (active purchase decision, asked to be texted) sits at Lead Paused. Isa Restaurant reached Proposal Sent and lost. Both are context the report alone could not see, and both change the follow-up play: WeHo needs a reason for the pause before anyone re-touches, and Isa's loss reason should feed the copy.

02 · Reconciliation

Nine fixes before the CRM's numbers are quotable.

Read-only findings · no records changed
each fix needs an owner and a decision

The deal records are close to reality but not clean. Every item below was verified against the actual reply threads. Nothing has been edited; this is the fix list.

#FindingFix
1Three positives have no deal record: Cheryl Maloney at Vanguard ("come on by, we reopened July 31"), Elena Neustadt ("please call me" + cell number), Jon D'Angelica (would build structure "if the dollars made sense").Create the three deals, source Outbound - Charm, with the reply text in notes.
2Duplicate deals: Tootsie's (Demo Completed + a June Lead Unqualified), Isa (two lost records), JAX Vineyards (two Demo Completed records), Saffron (Charm deal + a 2025 Upsell record).Merge each pair, keep the record with the furthest true stage.
3Stale identity: the Omakase World Market positive is recorded as "Traverse Marketplace," the previous operator that no longer exists. Geoffroy's reply said so explicitly.Rename the deal, update the contact, unpause.
4Disposition conflict: Lone Star Saloon is Lead Unqualified in Attio, but Charlie's reply was "our patio is our heart... how can I help you?" If something after the reply disqualified him, the reason isn't recorded.Confirm with Raj; either record the disqualification reason or reopen.
5Source tags split one motion: "Outbound" (175 deals), "Outbound - Charm" (41), "Outbound - Instantly" (2), "Outbound - GGRA" (2). Ballyhoo, an outbound reply Rohan worked, is tagged Personal Connection.Define the source taxonomy once; retag so channel performance is measurable.
6WeHo Bistro paused without a recorded reason, ten days after asking to be texted about an active purchase decision.Record the pause reason or resume with the September re-touch.
7Avli Taverna logged as Lead Working with a Call next step on Aug 31, but the reply was a brush-off ("if we are interested we will reach out").If the call is deliberate, keep it; otherwise close as unqualified so the pipeline count stays honest.
8EB and Attio disagree in both directions: District Oakland has a deal but no longer carries an interested flag in EB; several EB positives (item 1) have no deal.The daily sync (section 04) makes EB flags and deal creation one motion.
9Deal values and closed-won history remain unaudited. This review verified stage and identity only; the revenue fields still carry the accuracy doubts previously flagged.Separate pass with Raj: verify value, units, and dates on closed and late-stage deals.
03 · The Wider Pipeline

301 open deals, 127 with no next step.

All open deals, all sources

Purgatory is any deal without a next action. By that definition, 42% of the open pipeline is in purgatory, concentrated exactly where it hurts: 63 of the 111 deals sitting at Lead Received have no next step, and 16 deals at Proposal Sent (a proposal is out, a buyer is waiting) have nothing scheduled at all.

StageOpen dealsNo next stepRead
Lead Received11163Biggest pile, oldest risk
Proposal Sent4616Buyers waiting, nothing scheduled
Proposal Requested3612Asked for a proposal, no follow-up set
Lead Working3517Half untracked
Proposal in Negotiation183Mostly tracked
Demo Requested / Scheduled / Completed3112Post-demo gates would cover these
Pre-order / PO Received20+1Tracked

The stage model itself is heavy: 28 stages. Eleven of them are variants of paused, unqualified, or lost at different depths. That granularity is fine for history, but it makes "how many live deals do we have" a judgment call. The working definition this review used: the 9 active stages above. Worth ratifying that definition so everyone counts the same way.

04 · What the Funnel Needs

The schema mostly exists. The gaps are three fields, one rule, and the piping.

From the Aug 11/12 pipeline plans
+ this audit

Attio's deal object already carries most of what the funnel needs: stage, next steps, deal source, outdoor cover type, seats and units, install logistics. What's missing is small and specific.

Fields
Add three: Last Email Touch, Last LinkedIn Touch, Subsequence Step.
So anyone opening a deal sees "6th bump, hit on LinkedIn Tuesday, good person to dial" without leaving Attio. Everything else needed already exists as an attribute; population, not schema, is the problem.
Rule
No open deal without a next-action date. Zero exceptions.
This is the purgatory rule from the AE tasking plan. Friday hygiene pass: anything without a next action gets one or gets closed with a reason. The weekly report counts purgatory; target is zero.
Piping
Daily EB-to-Attio sync plus the silent-deal gates.
New EB positive creates or updates the deal (kills the both-directions drift in finding 8), stamps last-touch fields, fires the SMS alert. Post-demo: 7-day nudge task, 14-day switch-to-phone task, 28-day push-or-park decision, 60-day move to the re-engagement pool. The sync script slot already exists in the pipeline folder; it needed write scopes, and the current API token is read-only, which is correct for auditing but means the sync needs a second, write-scoped token when approved.
Sources
One source taxonomy, applied at deal creation.
Outbound - Charm / Outbound - [other] / Inbound / Referral / Event / Upsell, set by the sync for Charm deals so channel attribution stops depending on whoever logs the deal.
Unlocks
Measured funnel rates replace the report's assumptions.
Once the nine reconciliation items are done and the piping runs, positive-to-meeting and meeting-to-close become measured numbers, and the projection in the program report extends to deals with real inputs. Until then, stage counts here are working data, not quotable performance.