Bot Performance
Bot Performance is the set of reports and dashboards in Salesforce that show how an Einstein Bot or Agentforce agent is doing on the numbers that matter operationally.
Definition
Bot Performance is the set of reports and dashboards in Salesforce that show how an Einstein Bot or Agentforce agent is doing on the numbers that matter operationally. It covers session volume, engaged versus unengaged sessions, dialog completions and cancellations, escalations and transfers to a human, intent recognition rate, entity extraction rate, and goals completed. Salesforce ships roughly 40 prebuilt reports in the Einstein Bot Report folder, and you can extend those with a CRM Analytics app built on the underlying bot session data.
This surface exists because a bot's value is hard to see without measurement. A bot that handles most inbound chats saves real agent time, but only if the team can show it with data. A bot that frustrates customers needs attention fast, and the reports are where that problem becomes visible. Service and customer experience teams open Bot Performance on a regular cadence to decide what to tune next.
Reading the numbers that tell you if a bot is working
Where the metrics come from
Bot Performance is not a single screen. It is layered. Inside Einstein Bot Builder, the Overview area surfaces headline activity for a selected bot and date range. Underneath that, Salesforce records bot activity to session data that feeds the Einstein Bot Report folder, which holds roughly 40 prebuilt reports. Those reports read three core fields: Time, Metric Type, and Value. Each row is a measurement of one metric at one point in time, which is why almost every prebuilt report groups by metric type and a date window. Data populates within about an hour of collection. Retention is the detail teams forget: hourly metrics are kept for 14 days, and daily metrics are kept for 180 days. If you want trends longer than six months, you have to snapshot the data yourself. For richer visuals, Salesforce offers the Einstein Bots Value app, a CRM Analytics template you download from AppExchange and configure with your own cost inputs to show savings and KPIs in one place.
Containment and escalation
Containment is the share of sessions a bot resolves without handing off to a human. If 70 of every 100 chats end inside the bot, containment is 70 percent. It is the most-watched bot number because it maps straight to agent time saved. The mirror image is escalation. The Escalation and Transfers reports count how often a session ends with a handoff to a service representative or another bot. Some of those transfers are intentional, designed for confirmed complex cases. Others are failures: an intent miss, a broken action, or a dead-end dialog. The standard reports break transfers down by dialog and by trigger, which lets you separate the two. Watch containment on its own and you can fool yourself. A bot can post a high containment number simply by refusing to escalate, which deflects customers rather than helping them. That is why the next metric matters so much, and why mature teams never report containment without a satisfaction figure beside it.
Intent recognition and entity extraction
Intent recognition rate measures how often the bot correctly classified a user utterance into one of its intents. Entity extraction rate tracks how often it pulled the right structured value, like an order number or a date, out of free text. Both come straight from the natural language model behind the bot. When recognition drops, users hit the fallback reply too often and quietly give up. The Intent Recognition Rate and Entity Extraction Rate reports are where you catch this early. The fix is rarely mysterious. Most of the time you add real customer phrasings to an existing intent, or you split one overloaded intent into two more focused ones because it was trying to cover too much ground. The best source of new training utterances is your own failed-conversation transcripts. Real wording from real customers outperforms examples a builder invents at a desk, because people phrase requests in ways no one predicts. Treat low recognition as a content problem to be fed, not a model defect to be tolerated.
Engagement, sessions, and dialog drop-off
Raw session counts tell you volume, not health. The more useful cut is engaged versus unengaged sessions. An unengaged session is one where the user never really interacted, so counting it as bot activity overstates the workload. The standard reports include Engaged vs. Unengaged comparisons over rolling windows for exactly this reason. Below the session level sits dialog data, which is where tuning gets specific. Dialog Entry Points shows how users reached a dialog, whether they picked it from a menu, were redirected by the system, or arrived through intent detection. Dialogs Completed and Dialogs Canceled show where conversations finish cleanly and where they fall apart. Sessions Ended by Dialog points to the exact dialog that most often kills a conversation. This is high-leverage. The single dialog with the worst drop-off usually returns more value when you fix it than a broad, unfocused tune of the whole bot would. Find that dialog, watch a handful of transcripts that died there, and rewrite the step that loses people.
Why satisfaction is the corrective metric
Every operational number a bot produces can be gamed by a bot that simply avoids handing customers off. High containment, low escalation, and a tidy session chart can all coexist with customers who left annoyed. Satisfaction is the signal that keeps the others honest. A post-conversation survey that asks the user to rate the experience gives you a customer satisfaction figure, and the right way to read it is against your human-agent baseline. If bot satisfaction sits at or above what agents score, automation is helping and you can expand it with confidence. If it sits below, the bot is saving money while hurting the relationship, and that is a trade most service leaders will not make for long. Pairing satisfaction with containment turns two ambiguous numbers into one clear story. It is the difference between deflection, where you pushed the problem away, and resolution, where you actually solved it. Build the pairing into every report you present so no one mistakes one for the other.
Moving from Einstein Bots to Agentforce
The reporting story has two eras. Einstein Bots use the prebuilt report folder, the Builder overview, and the Einstein Bots Value CRM Analytics app described above. Agentforce, the reasoning-engine successor, brings its own analytics. Agent Analytics surfaces agent sessions, escalations, feedback, and usage, and Salesforce has been steering teams toward the newer Agent Analytics built into Agentforce Observability. The older Legacy Agentforce Analytics is on a retirement path, with Salesforce recommending the move to the Observability-based analytics for better coverage and performance. The practical takeaway for anyone running both is to know which engine a given conversation ran on before you trust a number, because the data models differ. If you are standing up a new agent today, plan your measurement on the Agentforce side rather than wiring dashboards to the older bot session objects you may eventually retire. The underlying questions do not change: did the agent resolve the request, how often did it escalate, and were the people on the other end satisfied.
Common pitfalls when reading the data
Three mistakes show up again and again. The first is watching containment without satisfaction, which lets a deflecting bot look like a resolving one. The second is acting only on top-line averages. The aggregate can look fine while one specific dialog quietly loses a third of the people who enter it, and no headline number will point you there. You have to drill into per-dialog completion and cancellation to see it. The third is ignoring intent recognition until users are already churning. By the time the abandonment shows up in the session chart, trust is gone, so recognition deserves its own weekly look. A fourth, quieter trap is the retention window. Because hourly data lasts 14 days and daily data lasts 180, a quarterly retrospective built on native reports alone will have gaps. Snapshot the metrics you care about into a custom object on a schedule so your long-range trends are actually complete. Each of these is fixable with a steady review habit rather than a one-time clean-up.
Stand up the Einstein Bots Value dashboard in CRM Analytics
The native reports cover the headlines, but most teams want richer visuals and savings figures in one place. The Einstein Bots Value app is a CRM Analytics template you download from AppExchange and configure for your org. Here is the path.
- Get the template and the right access
Download the Einstein Bots Value template from AppExchange. Confirm permissions first: builders need Customize Application, Modify Metadata, or Manage Bots, and analytics users need Access Service Cloud Analytics Templates and Apps plus Use CRM Analytics Templated Apps.
- Create the app in Analytics Studio
Open Analytics Studio from the App Launcher. Choose Create, then App, then search for and select the Einstein Bots Value template to start the guided setup.
- Run the setup wizard with your cost inputs
Step through the wizard and supply your organization's cost data, such as the loaded cost of a human-handled contact, so the app can calculate savings rather than just activity.
- Review, then set a cadence
Open the generated dashboard, confirm the KPIs and chat-data panels look right against a known period, then add it to a weekly review so the numbers drive action instead of just accumulating.
The AppExchange CRM Analytics package that visualizes bot value, KPIs, and cost-benefit against your business objectives.
Your own figure for what a human-handled interaction costs; the app multiplies contained sessions by this to estimate savings.
Scope the dashboard to a specific bot and window so multi-bot orgs do not blend unrelated traffic.
A scheduled write of key metrics to a custom object, since hourly data lasts 14 days and daily data lasts 180.
- Native retention is short: hourly metrics live 14 days and daily metrics live 180, so long retrospectives need your own snapshot job.
- Reporting data lands within about an hour of collection, so today's numbers are not real time.
- The Value app needs accurate cost inputs; garbage cost figures produce a savings number no one will trust.
- Agentforce agents report through Agent Analytics and Agentforce Observability, not the Einstein Bot session objects, so do not point a new agent at the old dashboards.
Prefer this walkthrough as its own page? How to Bot Performance in Salesforce, step by step
Trust & references
Cross-checked against the following references.
- Navigate Einstein Bot Standard ReportsSalesforce
- View Bot Performance with CRM AnalyticsSalesforce
Straight from the source - Salesforce's reference material on Bot Performance.
- Navigate Einstein Bot Standard ReportsSalesforce
- Get Insights with Agent AnalyticsSalesforce
Hands-on resources to go deeper on Bot Performance.
About the Author
Dipojjal Chakrabarti is a B2C Solution Architect with 29 Salesforce certifications and over 13 years in the Salesforce ecosystem. He runs salesforcedictionary.com to help admins, developers, architects, and cert/interview candidates sharpen their fundamentals. More about Dipojjal.
Test your knowledge
Q1. On the Bot Performance tab, what does containment rate measure?
Q2. Why does Bot Performance pair containment rate with CSAT rather than reading containment alone?
Q3. On Bot Performance, why does a low intent recognition rate hurt the bot?
Discussion
Loading discussion…