A recap of our GTM Heroes Live session with Khaled AlSaleh, RevOps Leader at Incident.io.
Most go-to-market teams are racing to add AI to their motion. Far fewer are asking the upstream question that decides whether any of it works: is the CRM data feeding these tools actually trustworthy?
Watch the full session:
There has never been more AI layered into go-to-market than there is right now. AI SDRs, signal-based plays, agentic workflows, automated research. The tooling is exciting. The output is fast. And on LinkedIn, someone always claims they replaced an entire team with a single prompt.
But the teams getting real value from AI usually have something far less flashy in place underneath it: clean, trusted data. That was the heart of our conversation with Khaled AlSaleh, who leads RevOps at Incident.io. His team is small, just two people supporting the entire revenue org at a fast-growing Series B company, which makes data leverage everything. And it is exactly that constraint that surfaced a lesson most teams only learn the hard way.
AI doesn’t fix a broken data layer. It scales it.
About Khaled AlSalehKhaled is the RevOps Leader at Incident.io, where he joined about six months ago to stand up the RevOps function. He runs a two-person team supporting the full revenue org at a Series B company scaling quickly, which means automation and trusted data are not nice-to-haves. They are how the team keeps up.

The moment the data broke
When Khaled joined in December, Incident.io had roughly 28,000 accounts in Salesforce. The sales team was scaling fast, and reps needed a deep bench of accounts to score, prioritize, and work. So the team partnered with a third-party data provider to expand coverage. Almost overnight, the account base jumped to more than 130,000.
Growth on paper. A mess in practice.
The new volume brought duplicates and what Khaled bluntly called "slop." Contact data was stale and unmaintained. New records were added as needed, but nobody owned keeping them accurate. And the downstream effects showed up everywhere reps and buyers actually touched the system.
AI did not cause the problem. It made it dangerous.
Three months before the session, Incident.io stood up an applied AI team to automate internal work. The team did a tremendous job. They also exposed the real risk.
"With AI, everyone talks about increased efficiency and increased productivity. You do things a lot faster, which also means that with poor data, you do bad things a lot faster, at scale."
- Khaled AlSaleh, RevOps Leader at Incident.io
Layering automation on a shaky data foundation does not fail loudly. It quietly multiplies every existing error. A "personalized" email referencing a company someone left months ago. Two reps working the same account in the same week. Outbound written for the wrong buyer.
The old, human-in-the-loop version of this work had a built-in filter. A person doing manual research could pause and say, "This data looks wrong, we should fix it." AI does not hesitate. It just executes. So the volume of mistakes goes from tens to hundreds in a single day, and none of it reads as an AI failure to the prospect. It reads as a company that does not know who it’s talking to.
The hidden cost: routing, customer experience, and rep trust
The damage concentrated in a few specific places.
Outbound. Stale contact data led to bounced emails and an avoidable risk to domain health.
Inbound routing. Weak account data sent leads to the wrong rep. Incident.io tries to respond to inbound requests quickly, so AEs can catch a misrouted lead, realize it belongs to a different geography, and hand it off. A prospect who booked a demo for a convenient time in San Francisco could suddenly be asked to meet someone in the UK, ending up with a 7:00 PM Friday slot that worked for nobody.
Do-not-call exposure. Duplicate contacts meant the team could call people who should never have been contacted, a compliance problem that automation only accelerates.
Underneath all of it sat a quieter cost. Reps were spending time cleaning up Salesforce instead of selling.
"You want reps to be selling. You don't want them cleaning up Salesforce. You don't want them managing any of that."
- Khaled AlSaleh, RevOps Leader at Incident.io
There was also a measurement problem. It is genuinely hard to know how big a data issue actually is. Teams hear "we have a ton of duplicates," but proving it is another matter. And there is a built-in bias: when a lead gets misrouted, people raise their voice. The thousands that route correctly go unnoticed. The one that got away is the one that erodes trust.
Bad data is a morale problem, and morale is a revenue problem
This is where Khaled connected the data layer to the income statement.
When reps stop believing the CRM, they stop trusting the system around it. Some leave. Some stay and speak poorly of the company, which makes hiring harder and shrinks pipeline over time.
"It translates into revenue. If the sales team don't have faith in the company's ability to help them sell and to equip them with the right equipment to sell, they're either gonna leave or they'll stay and speak poorly of the company externally."
- Khaled AlSaleh, RevOps Leader at Incident.io
There is a second-order signal here too. When data and tooling fall short, the most ambitious reps go find their own fixes, buying lists and AI tools out of pocket. Khaled does not treat that as rogue behavior. He treats it as a tell.
"I wouldn't say they're the rogue reps. I'd say they're the more creative and ambitious reps."
- Khaled AlSaleh, RevOps Leader at Incident.io
Rather than shut it down, he tries to understand what those reps are using and why, then bring the best of it in-house. Incident.io has purchased at least two tools precisely because reps proved the internal demand first. The catch, he joked, is that the best operators guard their playbook.
"It's kind of like when you share a good recipe. You won't give the exact ingredients."
- Khaled AlSaleh, RevOps Leader at Incident.io
What Khaled tried first, and where each approach fell short
Khaled did not jump straight to a vendor. He worked the problem in layers, which is part of why his point of view is worth copying.
- Off-the-shelf dedupe tools. In a prior role managing roughly two million records, he used a packaged deduplication tool. It handled simple fuzzy matching, but it had no account intelligence.
"It can't tell me if two websites that don't look the same actually lead to the same domain. There isn't account intelligence. It's literally just a fuzzy match."
- Khaled AlSaleh, RevOps Leader at Incident.io
- A homegrown solution. At Incident.io he built his own matching logic on the data the team already had. Did two companies share a LinkedIn URL? A fuzzy name match? The same ZoomInfo ID? He even used Claude with a headless browser to visit ambiguous sites and confirm whether two records were the same company. It worked well enough to clean up many accounts and, just as importantly, to size the duplicate problem.
- Native CRM duplicate management. The team also tried Salesforce's built-in duplicate detection. It helps flag a potential duplicate when you create a new account, but it was not scalable enough to keep a 130,000-account base clean.
- An automated account check built on Claude. Incident.io's CMO built a Claude routine that assesses every new account for duplicates, auto-merges the low-risk matches, and tags people when a higher-risk merge needs a human. It works great. With one important limit.
Where the homegrown approach fell short: contacts
Every one of those approaches got accounts to a reasonable place. None of them solved contacts.
Contacts were the harder, messier layer: people change roles, records go stale, and the volume is enormous. For a while, the only "fix" was asking reps to update contacts manually when they noticed something off, which is exactly the kind of low-value admin Khaled was trying to eliminate. So contacts stayed on the “someday” list.
That gap, an independent and trusted view of both accounts and contacts, is what set up the search for something better. Not "my tool versus what reps believe," but a single source of truth everyone could agree on.
Why a third-party source of truth changed the math
This is where Common Room and DataAgent landed it.
The first unlock was credibility. When you build the dedupe logic yourself, everyone has an opinion about how it should be configured and whether to trust the output. An independent third party removes that debate.
"Where Common Room came in is, first of all, it was a third-party tool. So it's not my view, it's Common Room."
- Khaled AlSaleh, RevOps Leader at Incident.io
The second unlock was depth. Common Room's organization and account data carried real intelligence, not just surface matching. When Khaled first used it for account merges, he exported the findings, ran them through Claude against Salesforce, and found the matches were largely spot on, with sensible nuance (two records in two different countries can be a legitimate split, not a duplicate).
The third unlock was the one his homegrown system never cracked.
Many of Incident.io's contacts were duplicates or belonged to people who had moved on to new roles. The team was already using Common Room data to reach those people. Now that same intelligence keeps Salesforce current instead of letting it drift, and the cleanup runs continuously rather than as a one-time project.
Best of all, it fits a two-person team's reality.
"I sit there, review what Common Room tells me, click a button, and it does it for me. I don't have to worry too much about the accuracy of the data."
- Khaled AlSaleh, RevOps Leader at Incident.io
This is the difference between treating data hygiene as an endless cleanup chore and making data trust operational. The old way is static rules and periodic projects. The new way is always-on detection, account and contact resolution, and one-click merges grounded in signal-based workflows the team already trusts.
The results
Running continuously against Incident.io's instance, Common Room and DataAgent delivered the kind of proof a skeptical RevOps leader needs:
- Surfaced roughly 600 true duplicate accounts out of more than 140,000, packaged to review and merge with a single click.
- Matched thousands of previously unidentified company contacts back to their real accounts.
- Turned a someday-someday contact problem into an automated, continuously maintained workflow, with no full-time headcount required.
The point is not the cleanup itself. It is what clean, trusted data protects downstream: accurate routing, reliable scoring, safer automation, and AI execution the team can actually stand behind.
What is next: from clean data to a predictable outbound engine
With the foundation stabilizing, Incident.io's applied AI team has taken over the next phase: automating detection and cleanup further, and handling the harder edge cases, like companies that operate under multiple URLs, subsidiaries, and email domains, by ingesting that context into Salesforce.
The reason behind all of it is strategic. Incident.io's marketing team has done an excellent job sustaining inbound, but Khaled has seen at other companies that inbound eventually plateaus. So the team is investing now in a scalable outbound engine, and trusted data is the prerequisite.
With a clean foundation, they can experiment with creative, AI-driven ways to build pipeline and make a predictable revenue engine even more predictable.
That is the real argument for fixing the data layer first. Everything else, RevOps workflows, scoring, and AI for revenue teams, scales on top of it.
Khaled's advice for RevOps leaders scaling AI
After all the experimentation, his parting advice was refreshingly unglamorous.
"Find the easiest path to unlock the end goal that you want. Keep it simple."
- Khaled AlSaleh, RevOps Leader at Incident.io
If you are scaling AI in GTM, sequencing matters. Fix the data layer first. Otherwise you are not scaling execution. You are scaling noise.
See what's possible with Common Room
Khaled's story shows what continuous CRM data trust unlocks for a lean, fast-growing team:
- Continuous data integrity: Detect duplicate and outdated records automatically, so data quality is maintained over time instead of in one-off cleanup projects.
- Account and contact resolution: Match unknown contacts back to real accounts and resolve duplicates with one-click merges.
- A trusted foundation for AI: Protect routing, scoring, and automation so AI execution scales on data your reps actually believe in.
If you are building your own signal-based GTM motion, these are a solid starting point: signal-based workflows, GTM plays and playbooks, and RevOps workflows.
Ready to build AI workflows on data you can trust? Request a demo of Common Room.
▶️ Watch the full session:
📄 Read the Incident.io case study: https://www.commonroom.io/customers/incident-io/
