Build1 distinct publisher3 min readPublished
Salesforce's Agentforce team argues that a correctly cited answer can still be wrong because the deciding fact lives in another system. That locates the fix in the graph schema itself; resizing chunks won't touch it.
The Engineer · Build desk

Compiled by The EngineerSomething wrong?How this is made
Count the traversals in the path the post describes. WM-500 leads to Major Appliance, Major Appliance leads to the extended return policy, and that policy then introduces membership tier and purchase amount as further checks [11]. Three steps before the agent even learns there are two more conditions to satisfy [19]. Neither condition appears in the user's wording, because the question was about a broken washing machine [9].
The arithmetic at the end of that walk is trivial. The purchase is $899 against a floor of $500, clear by $399 [18]. The extended window is 120 days against the 90 the agent cited, so 30 days wider, which is the entire dispute [17]. Retrieval was the failing stage; the reasoning held.
The split in the implementation is worth reading carefully. Extraction runs over source content into the graph, traversal runs at retrieval time to gather context beyond the initial matches [12], and the text chunks still supply the supporting evidence and the citations [13]. The audit trail keeps its shape. What changes is which chunks are in the window when the model writes its answer.
The failure mode I would test for first is the one Salesforce names itself. A graph that connects WM-500 to Major Appliance and Major Appliance to the extended policy, but holds no membership requirement, cannot tell an eligible Gold member from a customer who does not qualify, and loading more customer records will not repair it [15]. Traversal cannot recover a condition the graph never captured [14]. So the structural decision comes before population [16]. That ordering is right. It is also the part that costs you a quarter.
The mechanism only transfers to your stack if a few conditions hold. Your entities have to resolve to one identity across systems, since in the example the classification sits in a catalog, the rule in a wiki, and the tier in the CRM [3]. The rule has to be written somewhere an extractor can reach, and "over $500, by Gold or Platinum members" is a sentence in a wiki rather than a column in a table [7]. And the questions that are failing have to be conditional decisions rather than lookups, which is the triage the post asks for before any architecture change [10]. An exceptions wiki doing load-bearing work is a thought I would want to sit with if I owned that wiki.
As published, the argument runs on a single illustrative case [20] with no measured comparison against the vector and keyword pipeline it augments [21]. That is enough to reason about the design. It is not enough to predict what it does to your p95 or your resolution rate.
Ranked by verification strength, evidence, and original report placement.
In Salesforce's scenario, an AI agent rejects a valid customer return; the cited policy really does say 90 days, and the purchase falls outside that window, but the customer qualifies for an exception the system never retrieved.
Salesforce writes that checking the evidence has made the wrong answer look more convincing.
Every fact needed for the correct decision exists in the system, but the product classification is in a catalog, the eligibility rule is in a wiki, and the customer's membership is in the CRM; the RAG pipeline found the general policy without assembling the facts that change which policy applies.
That failure drove the GraphRAG work for Agentforce; GraphRAG combines retrieval-augmented generation with a knowledge graph connecting entities and their relationships.
In the illustrative scenario the customer purchased a WM-500 for $899.
The product catalog classifies the WM-500 as a major appliance with a 120-day extended return window.
Distinct publishers with included, body-backed reporting in this cluster.
1 article · August 31, 2026
Follow any of these and your For You feed starts watching them — no settings page required.
product
Salesforce made Claude the default reasoning layer, and Agentforce buyers inherit the bet1 distinct publisher
invest
Salesforce bought $27.1B of its own stock in a quarter it grew 13%2 distinct publishers
invest
Salesforce's AI answer to the $2 trillion SaaS selloff is $50,000 a deal1 distinct publisher
invest
Salesforce's 14% cRPO is the best agent-demand read yet. Organic growth is 6.5%2 distinct publishers
Evidence-backed comparisons of source perspectives and observed adoption signals. Read the methodology
Which Builder, Operator, and Investor concerns the observed source mix emphasized—not a truth score.
Evidence, demonstrated adoption, hype gap, incentives, and confidence are assessed independently, each on its own current evidence. How these are measured.
Traceable reasoning, invented facts, one witness
The argument survives inspection on its own terms: the hop count is checkable, the $899 clears the $500 bar, the 120-day window really is 30 days past the policy the agent quoted. What none of it rests on is the world. Every number belongs to a scenario Salesforce wrote — a WM-500, a Gold member, a wiki rule no outsider can open — and the only account of the mechanism is the blog of the team that shipped it.
Described, not counted
We are told GraphRAG exists for Agentforce, that extraction runs into a graph, that pointers reach structured records and that a business user signs off the blueprint. We are not told when it shipped, who is using it, how many agent conversations traverse a graph today, or what it replaced. Describing an implementation is not evidence of uptake, and nothing in this reporting lets us put a number on it.
Promises help, never says how much
The headline says GraphRAG helps; the piece never quantifies help. That should score worse than it does, and the reason it doesn't is unusual: Salesforce devotes a whole section to the case where its own graph fails, and says plainly that traversal cannot rescue a rule the schema omitted. What is left is a narrow overstatement — a mechanism sold as a fix for confidently wrong answers, with no side-by-side against the keyword and vector retrieval it sits on top of.
The diagnosis sells the cure
The team explaining why ordinary retrieval returns confidently wrong answers is the team shipping the retrieval layer that answers it, and the scenario chosen to prove the point is one the same team authored — conveniently, a case where flat retrieval cannot possibly win. Tempering that: the recommended first step is to diagnose whether you even have a conditional-decision problem, which is not advice that maximises graph sales.
Solid on mechanism, blind on effect
We can say with some assurance what Salesforce built and why it thinks flat retrieval fails, because the description is detailed, internally consistent and arithmetically checkable. We can say almost nothing about whether it works better, for whom, or at what cost — one publisher, one invented case, zero measurements.