Key takeaways
- Most agent projects fail on scope, grounding data, and the absence of a way to say "I do not know", not on the model.
- A narrow agent that resolves 80% of one intent beats a broad agent that half-resolves five, so write down what the agent explicitly does not do.
- RAG does not clean data, it surfaces whatever is there; gate every grounding source as complete, current, and deduplicated before go-live.
- Test with real utterances in Agentforce Testing Center and assert on the path taken, Topic chosen, Action called, and escalation, not just the answer.
A reliable Agentforce agent starts narrow, runs on grounding data you have already checked, and hands off to a human when it is unsure. The practices that separate agents that ship from agents that stall are scope discipline, a data quality gate before go-live, tight topic and action design, and testing that treats the agent as a system, not a demo.
We build agents inside client programs and we run agentic patterns against our own AgentExchange (formerly AppExchange) apps (Flexible Team Share and Smarter Files). The lessons below come from that work, not from a keynote. Most agent projects do not fail on the model. They fail on scope, on grounding data, and on the absence of a way to say “I do not know.”

Why agent projects differ from automation projects
A Flow or an Apex trigger is deterministic. Given the same input, it produces the same output every time, and you test it by asserting that output. An Agentforce agent reasons over instructions, grounding data, and available actions through the Atlas Reasoning Engine. The same question phrased two ways can take two paths.
That shift changes how you scope, build, and test. Automation defines the happy path and a handful of exceptions. Agent projects define a boundary of intent, then prove the agent stays inside it under messy, real-world phrasing. The discipline moves from “did it execute” to “did it decide correctly, and did it refuse when it should have.” Teams that treat Agentforce like a smarter Flow ship agents that answer confidently and wrongly. Teams that treat it like a junior colleague, scoped tightly, given clean information, and supervised, ship agents people trust.
How do you build a reliable Agentforce agent?
Build a reliable Agentforce agent by giving it one narrow job, grounding it only on data you have verified, designing a small set of well-described topics and actions, testing it against real utterances before launch, and wiring a human escalation path for every case it cannot handle with confidence.
Each of those five moves earns its place below. Skip one and the failure it prevents shows up in production, usually in front of a customer. The order matters too: scope decisions constrain grounding, grounding constrains action design, and testing validates the whole chain before a single real user touches it.
The Agentforce reliability checklist
This is the sequence we work through on every agent build. Treat it as gated: do not move to the next step until the current one holds.
- Scope to one job done well. Name the single outcome the agent owns, for example “resolve order-status questions for existing customers.” Write down what it explicitly does not do. A narrow agent that resolves 80% of one intent beats a broad agent that half-resolves five.
- Gate the grounding data quality. Before connecting a knowledge source or object, verify the records the agent will read are complete, current, and free of duplicates. Grounding on data you have not checked is the most common cause of confident wrong answers.
- Design topics as intents, actions as verbs. Each Topic maps to a category of user intent with clear scope instructions. Each Action is a single, well-named capability (query an order, create a case) with precise input and output descriptions the reasoning engine can match.
- Write instructions the agent can follow literally. Keep instructions concrete and testable. “If the customer has no matching order, ask for the order number, then escalate” beats “handle order issues helpfully.”
- Test with real utterances, not scripted demos. Assemble a set of phrasings from actual users or support transcripts, run them through Agentforce Testing Center, and assert both the answer and the path taken.
- Wire an honest escalation path. For every intent, define the confidence threshold and the human handoff. An agent that routes to a person when unsure is more reliable than one that always answers.
- Instrument and review after launch. Capture transcripts, sample them weekly, and feed failures back into instructions, actions, and the grounding gate. Agents drift as your data and questions change.

The grounding data gate that most teams skip
Grounding is where Agentforce reads your Salesforce records and knowledge articles to answer with your reality instead of a generic guess. It is also where projects quietly break. An agent grounded on an Accounts object riddled with duplicates will confidently cite the wrong contact. One grounded on stale knowledge articles will quote a policy you retired last year.
Retrieval-augmented generation, the RAG pattern behind grounding, only helps when the retrieved records are correct. RAG does not clean data, it surfaces whatever is there. So the grounding step needs a gate: before you point an agent at an object or a data library, someone has to confirm that source is complete, current, and deduplicated.
This is where a data quality pass pays for itself. Data Quality Sense runs batch scans across the objects and fields your agent will ground on and reports where records are incomplete, stale, or duplicated. It detects and reports, it does not auto-fix or merge, so a human decides what to remediate before the agent goes live. The point is to enter the build with a known-good grounding set rather than discovering the gaps through customer complaints.

Topic and action design patterns that hold up
Topics and Actions are the agent’s boundary. A Topic groups the intents the agent recognizes, with scope instructions that tell the reasoning engine when it applies. An Action is a concrete capability the agent can invoke, backed by a Flow, Apex, prompt template, or standard connector.
Keep Topics few and distinct. When two Topics overlap, the reasoning engine picks unpredictably, and your testing gets non-deterministic. If you cannot describe in one sentence when a Topic applies and the next does not, merge or split them until you can.
Name and describe Actions precisely, because the model matches on those descriptions. “Get order status by order number” is a better Action name than “order helper.” Specify inputs and outputs in plain terms. Vague Action descriptions are a leading cause of the agent calling the wrong tool or inventing parameters.
Push real logic into deterministic building blocks. An Action backed by an Apex method with CRUD and FLS enforcement gives you a testable, secure unit the agent orchestrates but does not improvise. The agent decides when to call it; the code decides what happens. That separation keeps the agent auditable.
How to test and evaluate an Agentforce agent
Test an agent the way you test a system with non-deterministic inputs: with a suite of real utterances and assertions on both the output and the path. Agentforce Testing Center lets you define test cases and run them at scale, so you can catch regressions when you change an instruction or add an Action.
Build the suite from real language. Pull phrasings from support transcripts, sales notes, and early pilot logs. Include the awkward cases: misspellings, multi-part questions, requests outside scope, and attempts to push the agent past its boundary. An agent that refuses an out-of-scope request cleanly is passing, not failing.
Assert on decisions, not just words. Check that the agent chose the right Topic, called the right Action with the right inputs, and escalated when it should have. A response that sounds right but took the wrong path is a defect waiting to surface at scale. Re-run the suite on every change, the same way you would gate a release with a test pipeline.
Rollout with an escape hatch
Launch behind a human. For the first phase, route the agent’s proposed answers through an agent or supervisor who can approve, edit, or take over. This gives you a supervised production sample without betting your customer experience on day one.
Define escalation as a first-class path, not an error state. Every intent needs a rule for what happens when confidence is low or the request falls outside scope: hand to a queue, create a case, or route to a live agent with the transcript attached. An agent that knows its limits and hands off gracefully earns more trust than one that always has an answer.
Expand scope only after the transcripts justify it. When one intent runs clean for a few weeks, add the next. Broadening an agent that has not proven the current job is how you turn a working pilot into an unreliable production system.
When you do not need us for this
If you are standing up a single, low-risk internal agent on clean, well-modeled data, Agent Builder, Testing Center, and the Trailhead material will take you a long way on your own. Salesforce’s own documentation on Topics, Actions, and grounding is solid, and a capable admin-plus-developer pairing can ship a first agent without outside help.
Bring in an architect when the agent touches customer-facing intents, grounds on data you are not confident in, orchestrates Apex and integrations behind its Actions, or has to pass a security and governance bar. That is where the disciplines above turn into real architecture, and where our Dedicated Builds and Salesforce Agent Harness work fit. Every engagement is architect-led, and the grounding gate usually starts with a data quality assessment before a single Topic is written.
If you want a straight answer on whether your org and your data are ready for an agent, that is the conversation to have first. See our Salesforce engineering services for how we scope it.
Frequently asked questions
How do you make an Agentforce agent reliable?
Reliability comes from four disciplines: scope the agent to one clear job, ground it only on data you have verified as complete and deduplicated, design a small set of precise Topics and Actions, and test it against real user phrasings before launch. Add a human escalation path for anything the agent cannot handle confidently.
What are Agentforce and RAG best practices?
Retrieval-augmented generation grounds an Agentforce agent on your records and knowledge articles. The main practice is a data quality gate: RAG surfaces whatever is in the source, so verify records are current, complete, and free of duplicates before grounding. Then keep retrieval scoped to the intent the agent actually serves.
How do you test an Agentforce agent?
Test with a suite of real utterances pulled from support transcripts and pilot logs, run through Agentforce Testing Center. Assert on both the answer and the path: did the agent pick the right Topic, call the right Action with correct inputs, and escalate when confidence was low. Re-run the suite on every change.
Should an Agentforce agent handle everything a customer asks?
No. A narrow agent that resolves one intent well outperforms a broad agent that half-resolves many. Define what the agent explicitly does not do, and route out-of-scope or low-confidence requests to a human with the transcript attached. Clean refusal and handoff build more trust than a confident wrong answer.
Why does data quality matter for Agentforce?
An agent grounds its answers on your Salesforce data. Duplicates, stale records, and missing fields cause confident wrong answers that reach customers. A batch scan tool such as Data Quality Sense reports where grounding data is incomplete or duplicated so a human can remediate before go-live. It detects and reports; it does not auto-fix.

Michał Bajdek
Co-Founder, Tucario
Co-founder of Tucario, a Salesforce consulting and product engineering firm. Works across enterprise Salesforce delivery — architecture, integrations and AppExchange products — and writes about what holds up in production.
