The entity graph: one record for every company and person, and why it refuses to guess
Revenue data is scattered across CRMs, inboxes and lists that disagree. The entity graph turns it into one record per real thing, and it would rather ask than merge wrong.

Ask any sales team how many customers they have and you will get three answers. The CRM has one number. Billing has another. The outreach tool has a third, because "Acme Inc," "ACME" and "acme.io" are three different accounts as far as it knows.
Every bad forecast I have seen starts there. Not with bad reps. With bad identity.
One record per real thing
The entity graph is the spine under CORA. Every person, company and deal gets exactly one record. Everything else points at it: email addresses, domains, CRM IDs, list rows, reply threads. Those are identifiers, and one entity can have hundreds of them.
When we moved SalesDriver's own outreach history onto the spine, the graph grew to more than 60,000 people and 36,000 companies, connected by roughly 49,000 "works at" relationships, with tens of thousands of pieces of evidence and outreach events attached.
Personal details are handled carefully. Email addresses are stored as one-way hashes, so the graph can recognize a person without keeping their address in the clear.
It refuses to guess
The most important feature of the graph is something it will not do. When two records might be the same person but the evidence is thin, it does not merge them. It flags them.
During that same migration it flagged about 2,266 possible duplicate people and 627 possible duplicate companies for review, and merged none of them on its own. A wrong merge is worse than a duplicate. A duplicate wastes an email. A wrong merge sends one company's history to another company's buyer.
Facts with a pecking order
Attached to every entity are beliefs: a title, an industry, a company size, a location. When sources disagree, the graph keeps one active belief, the value most sources agree on, and marks the others contradicted instead of throwing them away.
Beliefs carry time, too. Each one knows when it became true and when it stopped, so "VP of Sales at Northvale until March" is a fact, not an error. And sources have a strict order: a verified outcome beats direct evidence, which beats an inference. A claim never gets stronger just because it was repeated. That discipline is what makes the AI company brain trustworthy.
Warm paths, without the noise
A graph is only useful if you can walk it. The question a rep actually asks is: who do we know who knows them?
The graph answers that with warm paths, such as a former champion who now works at the target account. We built it on plain Postgres rather than a separate graph database, with one important guard. Some nodes are hubs, like an agency connected to 300 companies. Let a hub into the middle of a path and every account looks warm. The hub guard keeps them out, and without it the search does more than ten times the work for worse answers.
Warm paths feed straight into the signals engine as the relationship part of every account score.
Built for more than one company
SalesDriver runs the graph for clients, so isolation is not optional. We test it the way an attacker would. One tenant cannot read or write another tenant's rows. Licensed data stays invisible to anyone not entitled to it. Only a dedicated worker role can write to the shared graph. When two facts conflict, both are kept and flagged as disputed, so nobody's data silently wins.
The lesson that took five tries
Full honesty: we built the entity layer five times. Each time, someone started a fresh store beside the existing one instead of extending it, and each time it created a new version of the truth. That is the exact problem the graph exists to solve.
The rule now is simple. There is one spine. You extend it, you never build beside it.
It is the same rule I would bring to any revenue team: before you buy another tool, make sure everyone is counting the same customers. Clean identity is what makes campaign QA, multichannel outreach and even the drivers in Buyer Methodology work on the right people.
Questions people ask
What is an entity graph in sales?
An entity graph resolves every person, company and deal into a single record and connects them with relationships such as works at. CRM IDs, email addresses and domains become identifiers that point to the same entity, so the team works from one version of each account.
What is entity resolution?
Entity resolution is deciding whether two records describe the same real person or company. A careful system merges only on strong evidence and flags uncertain matches for review, because a wrong merge is more damaging than a duplicate.
What is a warm path?
A warm path is a chain of real relationships between your team and a target account, such as a former champion who now works there. Good path search ignores hub nodes, like an agency linked to hundreds of companies, which would otherwise make every account look connected.
I'm Rockford Hunt. I've spent 20+ years in B2B sales, I founded SalesDriver, and I'm open to CRO and VP of Sales roles.
Contact RockTry the AI labResume




