Automatically grade every agent interaction against your criteria, collect structured data, and tag conversations for reporting.
Evaluations give you automated quality assurance for your agents. After every interaction completes, an AI evaluator analyzes the full conversation transcript and produces a structured report: a grade, per-criterion pass/fail results with rationales, sentiment analysis, applied tags, and extracted data points.Think of it as having a QA analyst reviewing every single conversation your agent has, 24/7, without you lifting a finger.
Open your agent, click Performance in the sidebar, then open the Evaluations tab. Performance is the home for everything about how the agent is doing — Insights, Evaluations, and Tasks. Agent Performance is the tour of that screen; this page is the deep dive on evaluations themselves.
Before jumping into setup, here’s the mental model. Evaluations have four building blocks:
Criteria
Quality rules the evaluator checks pass/fail on every conversation. Like a QA checklist.
Tags
Labels applied for categorization and filtering. Like folders in your inbox.
Data Points
Structured values extracted from conversations. Like columns in a spreadsheet.
Sentiment
Emotional tone of the interaction. A customer satisfaction thermometer.
Criteria answer: “Did the agent do what it was supposed to do?” Each one is a yes/no check.Tags answer: “What kind of conversation was this?” Use them to filter and find patterns.Data Points answer: “What specific facts or values came up?” They pull structured data out of unstructured conversation.Sentiment answers: “How did the user feel?” Sentiment is optional reporting data and does not affect the grade.
Your agent finishes a conversation (reaches the “completed” state). Incognito chats and internal system interactions are never evaluated.
2
Transcript is Built
The evaluator constructs a role-tagged transcript of the entire conversation, including user messages, agent responses, tool calls, and results. Long transcripts are automatically trimmed.
3
AI Evaluator Runs
A single structured-output LLM call analyzes the transcript against your configured criteria, tags, data points, and sentiment settings.
4
Grade is Computed
The overall grade is determined deterministically based on which criteria failed, the action set on each failed criterion, and call outcome. Sentiment does not affect the grade.
5
Results Stored & Alerts Fired
Results are persisted. If the grade is Notify, the notification channels you enabled fire immediately. Configure Delivery and To on the Performance evaluation card, including email recipients and selected Slack channels. Recipients must have permission to manage the agent.
When does the evaluation fire?
The evaluation fires automatically shortly after the interaction reaches the “completed” state.
For a simple back-and-forth that ends naturally, the evaluation runs once the chat is marked complete.
The evaluation covers the entire transcript up to that point.
There is a short debounce period after the last message so the system doesn’t prematurely evaluate a chat that’s still active.
What happens if I keep chatting after the evaluation ran?
If you continue a conversation after an evaluation has already run:
The new messages extend the transcript, and the interaction re-enters an active state.
Once the conversation reaches the “completed” state again, a new evaluation automatically runs covering the full updated transcript.
The new evaluation replaces the previous result. You don’t need to manually re-run it.
You always see the most recent evaluation result for any given interaction.
Do I have to manually re-run it, or is it automatic?
Fully automatic. As long as evaluations are enabled, the system handles re-evaluation whenever conversations continue and complete again. You only need to run manually if you want to backfill old conversations or re-evaluate after changing your criteria.
Go to Performance → Evaluations. You’ll see the settings panel:
Setting
What It Does
Enable evaluations
Toggle to start automatically grading interactions
Default analysis model
Which LLM runs the evaluation. “Smartest” = most accurate but costs more per token
Sentiment analysis
Captures overall sentiment (Positive / Neutral / Negative). Reporting only; it does not affect the grade.
Suggest tags automatically
Lets the evaluator propose new tags beyond your predefined vocabulary
For sentiment, you can provide custom guidance (for example, “Consider the customer’s final message tone, not their initial frustration”). Sentiment remains reporting data and does not change the grade.
Criteria are the quality rules your evaluator checks every interaction against. Each one is a clear statement that’s either true or false for a given conversation.How to think about it: Ask yourself, “If I were reviewing this conversation manually, what would I check for?” Each answer becomes a criterion.
A short label (e.g., “Accuracy”, “Stayed on Topic”)
Evaluation prompt
A true/false statement describing the desired behavior. Be specific.
Type
Categorizes the criterion: Prohibited action, Prohibited words, Voice & tone, or Other
Action
What happens when the criterion fails: Flag (flags the chat for review without notifying you) or Notify (notifies you the moment the evaluator spots one)
Agent must NOT do something (e.g., don’t offer unauthorized discounts)
Prohibited words
Agent must NOT say certain things (e.g., no profanity)
Voice & tone
Agent should communicate in a certain style
Other
Anything else (stayed on topic, provided accurate info, etc.)
Choosing an action: Use Notify for rules that must never be broken (data leaks, compliance violations) so you’re alerted right away. Use Flag for quality standards that matter but aren’t urgent (tone issues, minor drifts); those chats are only marked for review.
”Notify” alerts the people responsible for the agent, not the person chatting with it. Configure Delivery and To for email recipients and Slack destinations. Recipients must have permission to manage the agent. End users never see evaluation results.
Example criteria for common use cases
Use Case
Criterion
Prompt
Type
Action
Support
Stayed on Topic
”The agent stayed focused on resolving the customer’s issue and did not go off on tangents.”
Other
Flag
Support
Accuracy
”The agent provided factually correct information and did not hallucinate.”
Other
Notify
Sales
No Unauthorized Discounts
”The agent did not offer discounts not in the approved pricing sheet.”
Prohibited action
Notify
Sales
Professional Tone
”The agent maintained a professional, friendly tone throughout.”
Voice & tone
Flag
Helpdesk
No PII Disclosure
”The agent did not reveal personal information of other employees.”
Prohibited action
Notify
Content
Brand Voice
”The content matches the brand’s voice: confident, concise, and jargon-free.”
Voice & tone
Flag
Write evaluation prompts as true/false statements. The evaluator returns “success” if it holds, “failure” if it doesn’t, and “unknown” if there’s not enough info to judge.
Every criterion is either Active or Paused. Use the criterion’s action menu to switch:
Action
What happens
Pause
Skips this criterion when grading chats. It’s left out of the evaluation entirely, so new interactions are never graded against it.
Resume
Grades chats against this criterion again.
Pausing keeps the criterion’s name, prompt, type, and action intact, so you can bring it back later without rewriting it. It’s the middle ground between deleting a rule you might need again and leaving a noisy one switched on.
Pausing only affects future interactions. Grades already recorded against the criterion stay as they are.
Limit: 30 criteria per agent. Paused criteria still count toward that limit, since they’re kept on the agent rather than removed.
Tags are labels for categorization. After analyzing a conversation, the evaluator applies tags whose description matches what happened. You can then filter your interactions list by tag.How to think about it: Tags are like labels in Gmail. They don’t pass/fail anything. They just categorize. Ask yourself, “What categories would help me filter and find patterns in my conversations?”
The evaluator applies matching tags after analyzing the conversation
Tag names are normalized (e.g., “off course” → OFF_COURSE)
You can manually add/remove tags on any evaluated interaction
Use them to filter the interactions list
Example tags for common use cases
Tag
Description
Use Case
ESCALATION_NEEDED
”Customer asked to speak with a human or the issue is too complex for the agent.”
Support triage
UPSELL_OPPORTUNITY
”Customer expressed interest in additional features beyond what they currently use.”
Sales analytics
AI_SLOP
”Agent’s response contained filler phrases or generic AI-sounding language.”
Quality monitoring
OFF_COURSE
”Agent deviated from the user’s original question.”
Focus tracking
POSITIVE_FEEDBACK
”User explicitly praised the agent or expressed satisfaction.”
CSAT proxy
TECHNICAL_ISSUE
”Conversation involved a bug report or system malfunction.”
Issue categorization
Enable “Suggest tags automatically” in Settings and the evaluator will also generate new tags for patterns it notices beyond your predefined vocabulary.
Limit: 50 tags per agent.
Data collection lets you extract structured values from every interaction. Define what to extract, and the evaluator pulls it out automatically.How to think about it: Imagine hiring someone to read every conversation and fill out a spreadsheet. Each column is a data point. You define the column name, value type, and extraction instructions.
”Rate 1-10 how confident the agent appeared based on hedging language vs. direct statements.”
Quality scoring
Resolution Status
Text
”Values: resolved, unresolved, partial, or unknown.”
Support metrics
Handoff Requested
Boolean
”Did the user ask to speak with a human?”
Escalation tracking
Number of Tool Calls
Integer
”Count distinct tools the agent used.”
Efficiency analysis
Customer Intent
Text
”Summarize the customer’s primary intent in 2-5 words.”
Intent classification
Response Quality
Number
”Rate 1-10 considering accuracy, completeness, and helpfulness.”
Performance benchmarking
Data points that return null mean the evaluator couldn’t find the information in the transcript. This is expected for data points that don’t apply to every conversation.
The interactions list includes an Evaluation column showing the grade and criteria pass rate at a glance (e.g., “Pass 3/3” or “Notify 1/3”). Lifecycle states also appear: Queued, Evaluating, or Failed.
Turn on the Manage Evaluations ability in the agent’s configuration and anyone who can edit the agent can ask it, in chat, to review its results, add or change criteria, or re-run evaluations on past chats. Reads happen immediately. Every change and every run shows an approval card listing exactly what will change before it happens. The ability is available on Pro and Enterprise plans, on custom agents.
What you can ask for
What happens
”What’s failing?”
Reads the rubric, a failure-rate rollup per criterion, and individual results. Both default to the last 30 days and can look back up to a year. No approval.
”Add criteria for X” / “Rewrite this one” / “Drop these two”
Proposes the exact criteria and waits for your approval before saving. The 30-criteria limit still applies.
”Change the settings”
Patches only the settings you name — on/off, frequency, analysis model, language, sentiment, notifications, automatic tags — and leaves the rest alone. Approval required.
”Re-run these chats”
Queues up to 200 finished chats, using the current configuration. Costs credits per chat, and skips chats that are already being evaluated. Approval required.
The agent only sees the chats you can see. If your role cannot view other people’s interactions, it analyzes your own chats and says so. It also cannot evaluate the chat it is having with you — that chat is still running.
Notifications fire only when a chat receives a Notify grade, i.e. a criterion whose action is Notify failed. Configure the channels in the Notifications section of the Evaluations tab.
Channel
Who receives it
Slack
The Slack destinations you select under Delivery and To, including selected channels. Recipients must have permission to manage the agent.
Email
The email recipients you list. Recipients must have permission to manage the agent. Up to 50 recipients.
”You” in this UI means the agent’s owner and the recipients you configure, never the end user chatting with the agent.
Flag-grade chats are marked in the interactions list but never send a notification. Review them periodically by filtering for the Flag grade.
Every evaluation result, including grades, criteria outcomes, extracted data points, tags, and sentiment, is available through the Evaluations API. You can use this to export evaluation data to any external system (spreadsheets, databases, BI tools, etc.).On the Enterprise plan there is a second route that needs no code: Interaction Evaluations is a data type in Data Export and Data Drains, so you can download every agent’s evaluations across the organization as a CSV, or keep them flowing continuously into S3, Datadog, or your own endpoint. Those rows cover the headline result — grade, call outcome, sentiment, summary, evaluation model, and credit cost — one row per rubric per chat. Use the API when you need per-criterion detail, extracted data points, or applied tags.
grade (pass / needs_review = Flag / needs_attention = Notify)
criteria_results with per-criterion pass/fail and rationale
data_results with extracted values for each configured data point
applied_tags
sentiment
summary
Paginate through all results using the next_cursor field. Narrow the list with grade, status, session_id, created_after, and created_before (ISO 8601), for example ?grade=needs_attention&created_after=2026-01-01T00:00:00Z.For a single evaluation, use the Retrieve evaluation endpoint.For aggregate metrics over time, use the Get metrics endpoint.
Call the evaluations API on a schedule and push results to Google Sheets, a database, or a webhook for automated reporting.
Incognito chats: Never evaluated (privacy guarantee)
Internal interactions: Agent-to-agent feedback loops like reflections are excluded
Non-terminal states: Only interactions that reach “completed” are evaluated
Can I evaluate interactions from before I enabled evaluations?
Yes. Go to Performance → Tasks, click the three-dot menu on any interaction, and select “Run evaluation.” You can also select multiple for bulk evaluation. They’ll be graded against your current criteria.
What happens if I keep chatting after an evaluation already ran?
The interaction re-enters an active state. Once it completes again, a new evaluation runs automatically covering the full updated transcript. The new result replaces the previous one.
Does the evaluation fire only once per chat?
By default, yes. The evaluation fires once after the conversation completes (with a short debounce window to avoid premature evaluation). If the conversation is resumed and completes again, a new evaluation runs automatically covering the updated transcript.
What happens if the evaluation fails?
It’s marked as “Failed” rather than showing a misleading pass. Doesn’t affect metrics. You can manually re-run it from Performance → Tasks, or it will be re-evaluated if the conversation continues.
How is the analysis model different from my agent's model?
It’s a separate LLM call dedicated to evaluation. Doesn’t affect your agent’s behavior. You can choose a different model. The evaluator never sees your agent’s system prompt directly, only the transcript and agent description/skills as context.
Does the evaluator see my agent's system prompt?
It receives your agent’s name, description, and available skills as context. It does NOT receive the full system prompt. Transcript content is treated as data to analyze, never as instructions.
Can I set up evaluations at the organization level?
Yes, on the Enterprise plan. Organization admins with the Manage evaluations permission create evaluations under Organization → Evaluations and apply them to the whole organization, specific teams, people, or individual agents. They are also available through the API, SDK and CLI.
What happens if I delete a criterion or tag?
Past evaluation results retain their original data. Deleting only affects future evaluations.
Can I edit tags on an evaluation result?
Yes. Manually add or remove tags using the tag editor in the evaluation detail view.
Why does my evaluation show 'Inconclusive'?
All criteria returned “unknown” (evaluator couldn’t determine pass/fail). Typically means the conversation was too short or didn’t touch on what your criteria check.
How much do evaluations cost in credits?
Each evaluation is billed based on tokens used. Cost depends on conversation length, model selected, and number of criteria/tags/data points configured. Track usage on your Usage & Limits page under “AI Utilities.”
Can I export evaluation data?
Yes, in two ways. The Evaluations API gives you full programmatic access to all evaluation results, including grades, criteria outcomes, extracted data points, tags, and sentiment. On Enterprise, organization admins can also export or continuously drain evaluations without writing code by picking the Interaction Evaluations type in Data Export. See Exporting Evaluation Data above.
Was this page helpful?
Assistant
Responses are generated using AI and may contain mistakes.