Built GTM
SANITIZED BUILD RECEIPT · builtgtm.ai/builds
THE FIT SCORE WORKING SESSION · 2026-06-16

End-to-End GTM Enrichment Pipeline

Headless through Claude today · one master Deepline workflow once the gaps close. Account in → fully enriched buying committee + scored account out.

The pipeline - five stages, one run

STAGE 1
Deepline play

Firmographic

PDL + LeadMagic + BuiltWith
Headcount, industry, funding, LinkedIn, CRM/tech
Account fields
● LIVE v3
STAGE 2
Deepline play

Buying Committee

FullEnrich (internal waterfall)
Discover committee + email, mobile, LinkedIn, title
Contacts (create/reconcile)
● INTERIM write
STAGE 3
Claude skill

Product

Amplitude + Snowflake
product-engagement score, verdict, DAU, dialer, AICompose
Account product fields
● LIVE
STAGE 4
Claude skill

Octave

Octave qualify_company
ICP fit, playbook, hard-DQ
Account Octave fields
● LIVE
STAGE 5
Deepline play

Scoring

v7.5 composite (noisy-OR)
Pure read of stages 1-4
Composite_Score + Strike
● LIVE v9
Deepline play (CLI) Claude skill (MCP) Live & writing Interim write path Gap to close with the fit score

Stage detail

StageExecutorProvider(s)WritesDone-stamp (idempotent)
1 · FirmographicDeepline play the company-account-enrichment-salesforcePeopleDataLabs (primary) · LeadMagic · BuiltWithAccount: employees, industry, funding, LinkedIn, CRM, tech stack, email hostFirmographics_Last_Verified__c
2 · CommitteeDeepline play the company-buying-committee-salesforce + MCP writeFullEnrichContacts: name, title, work email, mobile, LinkedInper-contact reconcile
3 · ProductClaude skill /product-enrichment-analystAmplitude · Snowflakeproduct-engagement score, verdict, DAU, Tasks, extension, dialer, AICompose, SF-connectedProduct_Usage_Verified__c
4 · OctaveClaude skill /octave-enrichment-analystOctaveOctave fit score, playbook, disqualified, DQ reasonOctave_Verified_At__c
5 · ScoringDeepline play the company-lead-scoring-salesforcev7.5 scorer (reads 1-4)Composite_Score, Strike_SignalComposite_Scored_At__c
Order is load-bearing: firmographic first (Octave's gate + scoring's FIT read it); scoring last (pure read). Every stage skips accounts already stamped today → the whole pipeline is resumable; re-running the same IDs converges.

How it runs headless - one orchestrator

Today: Claude orchestrates

A single scheduled task (enrichment-pipeline) runs all five stages in one pass - Deepline plays via the deepline CLI (stages 1, 2, 5), product & Octave via their MCPs (stages 3, 4). One trigger, not five tools poked by hand.

Committee dedupe - solved by Salesforce itself

Salesforce duplicate rules are ON. We let them do the dedupe: attempt create → on DUPLICATES_DETECTED, Salesforce returns the matching record → we update that record. More robust than any scan.

Live proof: Quantum Metric's CRO already existed under a stale email (contact@example.com from his old job) - fuzzy name-match caught what an email query missed. Bonus: enrichment refreshes stale emails & surfaces duplicate contacts (RevOps hygiene).

What closes the loop - the the fit score asks

① Octave as a Deepline connector

Octave isn't a Deepline provider, so Stage 4 runs as a Claude skill. If Octave is reachable inside Deepline, Stage 4 moves into the master play.

② Amplitude product data in Deepline

Canonical product-engagement score v2 is Amplitude-derived; AICompose & dialer aren't warehoused in Snowflake. Stage 3 stays a Claude skill until Amplitude (or a clean product-usage view) is reachable in Deepline.

③ Per-account contact query / duplicate-aware upsert

Deepline's Salesforce provider can't query contacts by account (no SOQL), so committee writes run through the MCP today. A duplicate-aware contact upsert would pull Stage 2 fully into the play.

Deepline can already call AI

Plays can invoke deeplineagent / ai_inference and Deepline has native contact tools - so the reasoning steps don't block a master play. Only the three connector gaps above do.

End-state

Once ① + ② + ③ land, the five plays collapse into one master Deepline workflow (cron- or webhook-triggered in Deepline cloud) that chains firmographic → committee → product → Octave → scoring and calls AI for the reasoning - fully headless, single platform. Until then, the Claude orchestrator delivers the same end-to-end result from one trigger. No Apollo anywhere - bake-off proved PDL most accurate (414 vs true 420); firmographics = PDL+LeadMagic+BuiltWith, contacts = FullEnrich.

Built GTM
A sanitized build receipt · company name and account examples generalized, the method left intact · builtgtm.ai