Traction Complete
Convertiv
CO-LAB · GTM PLAYBOOKS

The L2O playbook: fix the funnel, trust the data.

How to rebuild a broken funnel and improve the data layer so AI, attribution, and reporting act on trusted data.

Contributors:

Shamus Kelley Tim Radwanski Tom Palmieri Bec Henrich
MARKET DRIVER

The broken funnel just got even more compounded, and you can’t ignore it.

Attribution, lead quality, handoffs and conversions are top concerns across revenue leaders today. The common denominator that feeds all challenges? Ranked #1, CRM or data quality issues.  

Now we have AI raising the stakes on all of it and compounding issues across the funnel. Pointing an agent at a funnel that’s already cracking doesn’t fix the breaks. It scales them faster than a human can fix. 

The end goal: trusted data that’s readable and actionable by both humans and AI. 

What is the biggest challenge in your lead funnel today?
Opening poll · RevOps Co-op Co/Lab, 2026
CRM / data issues40%
Hard to attribute source or performance20%
Poor lead quality17%
Low conversion from lead to MQL10%
Slow follow-up or routing7%
Reporting3%
Sales and marketing alignment3%
MEET THE EXPERTS
Shamus Kelley
Shamus Kelley
Director, Business Apps Recorded Future
Tim Radwanski
Tim Radwanski
EVP & Founder
Convertiv
Tom Palmieri
Tom Palmieri
Director, Tech Enablement
Convertiv
Bec Henrich
Bec Henrich
CMO
Traction Complete
WHERE TO START

Bring together every team and review what’s broken.

The funnel breaks in the seams that connect one team’s work to the next: leads disconnected from contacts, duplicates landing as routing fires, and handoffs that lose context.

Everyone has owned a piece of the journey, but no one owned the journey holistically.

Shamus Kelley · Recorded Future
Disconnected systems and data
×Leads disconnected from contacts and accounts
×MQLs tracked on Tasks or the Lead object
×Engagement visibility is linear; misses full transaction cycles
×Duplicates create mismatches between systems (MAP → CRM, routing)
Obscured reporting, attribution & AI outcomes
×Systems context missing or not aligned with process
×Over-complicated SLA tracking = missed SLAs
×Sales, marketing, leadership pulling different numbers
×Visibility muddied by the time deals close
Pro tip

Write the data dictionary and the end-to-end process down before you automate. The teams that skip this automate their misunderstandings. Keep it as a living document; training AI on last quarter’s decisions will only scale stale decisions.

For me, the tell isn’t in a report per se. It’s the 15 minutes of a pipeline review. If you spend the first 15 or more minutes trying to reconcile instead of making decisions.

Shamus Kelley · Recorded Future
Fixing the data layer

How to rebuild a fragmented funnel for full-context handoff

It’s time to rebuild L2O, lead to opportunity. In this example, five pillars connect every record, touchpoint, and handoff between form fill and closed-won, carrying the context your reps, your reporting, and your AI all depend on.

1
Record-type architecture
One record, all context. Determine your overall data and funnel architecture.
2
Data integrity
Ensure your data is deduplicated and cleansed.
3
Prioritization & Context
Context behind the score, and what reps need to qualify leads.
4
Routing & SLAs
Accurate routing. SLAs that stick, and reporting that proves it.
5
Attribution & visibility
Contact roles from day one. Transactions visible on the opp record.
→ The end result? Full-context opportunity handoff: sales walks in ready, and AI has a foundation it can trust.
Pillar 1 · Record-type architecture

One record for reps, all context for clear and trusted action

We did not eliminate the lead object, but we eliminated reps from having to think about it.

Shamus Kelley · Recorded Future

Keep the lead object or go contact-only? Every business answers this differently, and both standard options fail somebody: contact-only strips marketing of the place it nurtures and builds data points, and a visible lead record makes reps manage an object that was never theirs to manage. 

The handoff between the two is the auto-convert step. When a lead clears the qualification threshold, the flow converts it on the rep’s behalf and assigns the person as the primary contact on the opportunity. Sales reps see one clean transaction instead of a lead-to-contact relay, and every engagement lands on one record, ensuring the reporting behind handoff holds up. 

BUILD THIS · AUTO-CONVERT LEADS TO CONTACTS
Scoring Data AgentLEAD SCORE > 100 Auto-ConvertLEAD TO CONTACT Route by TerritoryFILTER TRUE FALSE END SMB Round RobinROUND ROBIN Mid-Market Round RobinROUND ROBIN Enterprise Round RobinROUND ROBIN
Pro tip

Set minimum data requirements before a lead can become a contact. If enrichment can’t fill the fields a rep needs, an email, a phone number, an address, the record stays in nurture instead of the queue. Reps prioritize their day instead of marking junk.

Pillar 2 · Data integrity

Fix the records everything else inherits

Data integrity is the pillar everything else stands on. Routing, scoring, and attribution all inherit whatever record quality you start with.

That is getting down to a single record of a person, a single record of an account, ensuring there are hierarchies.

Tom Palmieri · Convertiv

Connect Leads

Match, merge, and convert records before you route. Built in Complete Leads, this flow fires whenever a lead enters Salesforce, and only a clean, converted record ever reaches a rep. 

Here’s an example where you can also use AI to standardize, validate, or normalize as a part of the flow to help create better reporting and outcomes.

Build this · Lead-to-contact match, merge & convert flow
Lead entersTRIGGER Internal MatchCUSTOM MATCH Normalization Data AgentNORMALIZE & STANDARDIZE Duplicate Lead?FILTER TRUE Auto MergeMERGE DUPLICATE FALSE Duplicate Contact?FILTER TRUE Auto-ConvertLEAD TO CONTACT FALSE Route by territoryFILTER SMB Round Robin Mid-Market Round Robin Enterprise Round Robin
AI step prompt · verbatim
Current object: Lead → Lead.Title

“Standardize the {Current:Lead.Title} to a properly formatted job title. Correct abbreviations or typos and apply standard casing.”

Connect Account Data

Connecting accounts reveals the duplicates that exist within your CRM: like three records that share the same name but have three different owners. Until those records are merged, routing fires on the wrong one and reps work the same account without knowing it.

An AI enrichment step stamps a domain and parent domain on the account; this flow then works through several matching steps and flags what it finds for a person to approve. 

BUILD THIS · AI CORPORATE FAMILY DISCOVERY & ALIGNMENT FLOW
Hierarchycandidate?FILTER Domain/WebMatchCUSTOM MATCH AI Domain/WebMatchCUSTOM MATCH Fuzzy AccountMatchCUSTOM MATCH Flag forapprovalFIELD UPDATE Update hierarchyon approvalFIELD UPDATE

Each match step falls through to the next on no match; a final no-match result writes its own flag. The source flow also adds a contact-domain match before giving up. Approval gates every hierarchy change.

Enrichment prompt that feeds this flow · verbatim
Current object: Account → Complete_AI_Data__c.Domain__c / Parent_Domain__c

“Enrich this account for hierarchy matching. Return two values only: Complete_AI_Data__c.Domain__c = <base domain or blank> · Complete_AI_Data__c.Parent_Domain__c = <base domain or blank>. Return domains only (no http/https, no paths, no subdomains). If multiple corporate domains exist, choose the most commonly used corporate domain (e.g., pg.com over procterandgamble.com). Leave blank if unknown. Do not return explanations or extra text.”

Deduplicate Accounts

Account hierarchy data is not the same thing as Account Hierarchies in your CRM.  AI can augment account hierarchies from CRM patterns and email domains, then route them to an admin to approve before they commit. Having this visibility of the actual family tree helps you identify duplicates, merge duplicate accounts, and avoid territory disputes and route errors that break your speed-to-lead. If sales can see it on the account record, even better.

EXAMPLE · ACCOUNT HIERARCHY VIEW 
Account hierarchy view in Traction Complete: legal hierarchy of Berkshire Hathaway Inc. and its child accounts with closed-won values
Pro tip

Treat deduplication as both a proactive and reactive responsibility. Quarterly mass-merges fix duplicates that build up over time, while matching and merging on entry stops the next duplicate from firing routing on the wrong record. 

Dedupe on entry as well as in bulk. A quarterly mass-merge fixes history; matching and merging on entry stops the next duplicate from ever firing routing on the wrong record.

PILLAR 3 · PRIORITIZATION & CONTEXT

Give reps the context behind the score

Prioritization decides what a rep sees at handoff, and when a record reaches a rep at all. A score and a grade on their own don’t tell them anything. But behind that number is a history of webinars attended, whitepapers downloaded, and the difference between a first call that starts warm and one that starts from zero. 

I’ve got Tom Palmieri, his score is 80, and his grade is a B. What does that mean? What are those touch points in between that made him elevate to this transaction where he raised his hand?

Tom Palmieri · Convertiv

Surface the touchpoints behind the score so each handoff carries meaning. On top of that, leverage AI to add recent M&A activity or other information about the lead at the account level, arming your sales team with valuable intel. 

That added context comes from enrichment. This flow runs a Data Agents step using just an account name and domain, and writes firmographics back to your designated fields.

Build this · AI enrichment flow with field prompts
Account created or updatedTRIGGER AI Data Enrichment – Parent DomainAI DATA ENRICHMENT Write to designated fieldsFIELD UPDATE Confidence + sourceSTAMPED PER FIELD
Annual revenue · verbatim
Complete_AI_Data__c.Annual_Revenue__c

“Return the annual revenue for this company or brand without any explanation. Revenue should be in USD. If you do not know, return a response of Unknown.”

Employees · verbatim
Complete_AI_Data__c.Employees__c

“Return the number of employees for this company or brand. This should be a numeric value without decimal points. If you do not know, return a response of Unknown.”

Country · verbatim
Complete_AI_Data__c.Country__c

“Return the Country where this company or brand is Headquartered without any explanation. Ensure that the format is in the ISO 3166-1 alpha-2 code format. If you do not know, return a response of Unknown.”

Industry · verbatim
Complete_AI_Data__c.Industry__c

“Which industry from the below list does this business or brand most closely belong to? choose only one value with no additional explanation. If you do not know, return a response of Unknown.”

Pro tip

Give every AI-written field a confidence score, with the source and date stamped alongside. Sales reps can read the account knowing exactly how much weight each value carries. 

Pillar 4 · Routing & SLAs

Route accurately, and make SLAs stick

Firing assignments is just half of routing. Every lead routed inherits the matching upstream, and every SLA is only as fair as the clock behind it.

Ensuring that routing is accurate, ensuring that SLAs are adhered to… not just react to that data, but actually proactively look at the data and say, okay, maybe our SLAs are a little too tight. Maybe it needs to go from 8 hours to 10 hours, or 12 hours.

Tom Palmieri · Convertiv

Most traditional routing engines track speed-to-lead with formula fields that ignore a rep’s geography and or fire alerts after hours. The smarter rebuild routes on real business hours by time zone, escalates on breach, and rolls performance up for reporting.

The SLA timer flow
Step 1 · Salesforce
MQL created
Trigger event
Form fill or manual MQL writes a new record.
Step 2 · Rules engine
Priority check
Decision node
Priority A (high-fit) or Priority B (lead score + segment).
Step 3 · Timer service
Business-hours timer
SLA countdown
Priority A = 12 biz hrs · Priority B = 24 biz hrs. Rep time zone honored.
Step 4 · Notifications
Slack alert
SLA breach notification
Fires in rep’s local time zone. Repeats on escalation to manager.
Step 5 · Reports & dashboards
Hierarchy roll-up
Reporting layer
By rep + account (hierarchy). Replaces formula-field SLA workaround.
L2O configuration · copy-worthy defaults
SLA thresholds
APriority A · 12 business hours
BPriority B · 24 business hours
Timer paused overnight and on weekends.
Alert routing
Fires in rep’s local time zone
Escalation to manager on 2nd breach
Time-zone user groups drive routing
Reporting roll-up
By rep + account (hierarchy)
Replaces formula-field workarounds
Powers leadership dashboards
Pro tip

Time more than just the first touch. Multi-SLA timers allow teams to track the time between stages and identify bottlenecks: lead response, time to first meeting, and time between stages on the record itself, all adjusted for each rep’s working hours. Not only will the primary timer tell you if a lead goes stale, the multiple timers identifies where the funnel slows. 

Pillar 5 · Attribution & visibility

Attribution that survives the whole journey

When a person re-qualifies through multiple cycles, each new cycle can break the link back to the original context, and attribution dies by the time the deal closes. Every campaign report inherits those broken links.

We’re measuring those discrete transactions… and we’re adding people as contact roles to ensure that everything that they’ve done carries over. So all of that entire engagement history, that system context, goes all the way through to when it’s a closed one opportunity.

Tom Palmieri · Convertiv
AI on broken data
AI amplifies the mess
AI on connected data
AI compounds value
AI
layer
Before · Multiple qualification cycles break the link
Form fill
Qualification (1st cycle)×1
Multiple re-qual cycles
Each re-qualification breaks the link to the original contact.
Duplicate + orphaned records×N
Muddied attribution
After · Every cycle updates the same record
Form fill
Matched to account
Converted to contact (persistent ID)
Qualification transactions measured on opp record type
Attribution intact
Pro tip

Add the contact role on day one, not at close. Every return visit then accrues to the same person, and Salesforce’s out-of-the-box campaign influence works without re-adding anyone. The reporting you already pay for starts matching reality.

Guardrails

Keep a human between AI and the record with confidence scores.

AI belongs in every one of these pillars, but never on autopilot. The golden rule for AI governance and guardrails

AI should recommend, people should approve.

Shamus Kelley · Recorded Future

For account hierarchy changes and account auto-creation, the approval step becomes a compliance requirement. AI surfaces the accounts or hierarchy changes for a rep to consider, and a human approves before the flow writes anything. 

01
Approval workflows, not autopilot
Change history on AI-modified records.
02
Human-in-the-loop
On hierarchy and lead-to-account overrides.
03
Field-level source-of-truth rules
When sources disagree, with tiebreakers.
04
Governance owner assigned
Plus pilot first.

Give every field one trusted source

If nothing clears the bar, we leave it blank and flag it. An empty field is fine. Bad data is not.

Shamus Kelley · Recorded Future

Resolve conflicts with a documented tiebreaker, and stamp the source and date so every value on the record is defensible. 

For example, let’s look at enrichment. This varies depending on your business, however mapping it out helps determine where AI can help augment or validate or fill the gaps based on the waterfall priorities you have.

Data-source tie-breaker matrix · excerpt
Field type
Source
ZoomInfo
Source
Clay
Source
AI Enrichment
Tie-breaker rule · confidence
Hierarchy
Parent · child · sibling
Fallback
Weak in public sector
Not used
Primary
Fills gaps · at least 85% confidence
AI wins when confidence at least 85%. Below that: send to human review queue.
Revenue
Annual $ · employee count
Primary
Structured, most recent
Fallback
If ZoomInfo blank
Trends
YoY revenue trends for ICP
ZoomInfo wins by default; refresh if >12 months old. AI layers trends for ICP work.
Job title
Normalized level + function
Fallback
Raw title only
Primary
Waterfall + LinkedIn fresh
Normalize
Standardizes level + fn
Clay wins for raw title; AI standardizes to a controlled vocabulary.
Phone
E.164 format
Primary
Direct-dial priority
Fallback
Enrichment fill
Normalize
Formats to E.164
ZoomInfo wins; AI reformats to E.164 on write.
Industry
SIC · NAICS · GICS
Primary
SIC / NAICS mapped
Not used
Fallback
Only if no SIC on file
ZoomInfo wins on structured codes; AI if uncoded.
Trust it

When data and processes work again

The clearest signal the rebuild worked showed up in how people behaved in the room.

There’s no more reconciliation on the first 15 minutes of a pipeline call because everybody trusts the data.

Tom Palmieri · Convertiv

The questions change from “can we trust this number?” to “what do we do with it?” Shadow spreadsheets start to disappear, cross-functional meetings get shorter, and leadership spends less time validating the past.

Connected systems and data
Single record definitions for people and accounts
Automated routing and matching for data parity
Duplicates caught and proactively cleaned
Enrichment waterfalls that fill gaps and stamp sources
Drives outcomes and context
End-to-end visibility of all transactions
Everyone pulling the same numbers, system and warehouse
Clean, connected data that gives AI the right context
Clear rules of engagement and SLA tracking
How to improve the data layer

Data Agents are the how. Trusted data is the why.

The order of operations never changed across the whole rebuild: connect the funnel, agree on the data that matters, keep a human in the loop, and let AI work on a foundation it can trust. Data Agents run that sequence continuously inside Salesforce, so users can constantly maintain the data layer and improve what gets written. 

It’s been a great way to partner up and bring in Traction Complete to effectively mass clean and mass dedupe, but also proactively clean and dedupe and assign and route.

Tom Palmieri · Convertiv
Data Agents
AI agents that improve your data in Salesforce

Hierarchy Mapping

Builds corporate structure from ownership and operating relationships, including subsidiaries your provider doesn’t track.

Match Intelligence

Finds account records that represent the same company, including matches your existing rules and providers would miss.

Enrichment

Fills missing fields from your calls, contracts, the web, and our proprietary database, tailored to how you sell.

Normalization

Standardizes names, titles, and fields across every record so matching, reporting, and segmentation work as needed.

Validation

Catches bad records and verifies accuracy before anything is written. No provider is 100% correct.

Classification

Applies your industry, vertical, segment, and territory definitions to every account so data reflects how you sell.

Detection

Monitors news and filings for M&A and restructures so your records reflect the market as it happens.

Account Scoring

Scores accounts for ICP fit, prioritization, and survivorship so reps know which records to focus on.

The only question that matters

Is my data better?

Every play in this guide points back to one test you can run on any record, any workflow, any AI output. That’s the whole job: help revenue teams rebuild trust in the data layer, so the AI you point at it compounds value instead of the mess.

Watch the full Co/Lab recording

The complete conversation with Shamus, Tim, Tom, and Bec, including the audience Q&A this guide couldn’t fit.

Schedule an AI GTM strategy session with Convertiv

A 45-minute working session to review your current AI GTM capabilities, discuss roadblocks and share highest-impact opportunities and recommended next steps.

See Data Agents live with Traction Complete

Join a live demo of Data Agents: deduplicating, standardizing, validating, classifying, normalizing, and enriching your data.

BOOK A DATA AGENTS DEMO