Define resolution criteria for an AI QA cohort using AI-evaluated conditions and performance metric thresholds to decide whether each call counts as successful.
Resolution criteria decide whether each call in your cohort counts as successful. This is the second step of the Create QA flow, after you define the cohort.
The resolution criteria step, where you set what makes a call successful.
You define this using two kinds of criteria: AI-evaluated conditions and performance metrics. By default, a call counts as successful only when it meets every condition and every metric. Enable weighted scoring to change how these criteria combine.
1
Add AI-evaluated conditions
An AI-evaluated condition is a qualitative check the AI runs against each call’s transcript and context.
Name — A short identifier, such as Call resolved, Customer satisfied, or Issue escalated properly.
Prompt description — The prompt the AI uses to judge whether the condition is met, for example AI agent was able to resolve the user's query.
Write prompts that are specific about what success looks like, include context about the call type, and use clear, unambiguous language. Click + Add to add more conditions — each is evaluated independently.
2
Add performance metrics
A performance metric is a quantitative threshold a call must meet. Select a metric and set its threshold:
Latency — End-to-end delay between the user speaking and the agent responding.
User sentiment — The caller’s emotional state, inferred from speech content, tone, and pitch.
Agent sentiment — The emotional tone of the agent’s speech.
Overlapping speech — Count of times the user and agent spoke at once.
Transcription — Word error rate (WER) and count of mistranscribed entities.
Agent hallucination — How often the agent hallucinated.
Tool call inaccuracy — Rate at which the agent invoked the wrong tools.
Node transition inaccuracy — Rate of incorrect node transitions.
Agent naturalness — How human-like the agent sounded across pronunciation, intonation, pacing, and turn-taking.
For full definitions, see AI QA metrics. Click + Add to add more metrics.
Example performance metric configuration with a threshold.
Both AI-evaluated conditions and performance metrics are evaluated. Without weighted scoring, a call is successful only if it meets every condition and every metric.
3
Weight your criteria (optional)
By default, every condition and metric is required equally, so a call passes only if it meets all of them. Turn on Weighted scoring to prioritize some criteria over others instead.When enabled, assign a weight to each condition and metric, then set the success threshold the weighted total must reach.
Weighted scoring with a weight assigned to each condition and metric.
Use weighted scoring when some criteria matter more than others. For example, weight Call resolved higher than Customer satisfied if resolution is your primary goal.
4
Save and run QA
Click Save and Run QA to start analysis. Once it finishes, review the output in View QA results.
If saving fails, check that every required field is filled and every threshold is set, then resolve any validation messages before retrying.
Was this page helpful?
⌘I
{"docsConfig":{"theme":"almond","$schema":"https://mintlify.com/docs.json","name":"Retell AI","description":"Explore Retell AI docs to learn how to build, test, deploy, and optimize AI voice agents with APIs, integrations, conversation flows, and production-ready tools.","colors":{"primary":"#606A78","light":"#F5F5FA","dark":"#172131"},"logo":{"light":"https://mintcdn.com/retellai/-E9UettTBfBiCBBS/images/docs-light.png?fit=max\u0026auto=format\u0026n=-E9UettTBfBiCBBS\u0026q=85\u0026s=64eb26a2d3cc9a67ee3ea0bfe086dd14","dark":"https://mintcdn.com/retellai/-E9UettTBfBiCBBS/images/docs-dark.png?fit=max\u0026auto=format\u0026n=-E9UettTBfBiCBBS\u0026q=85\u0026s=08472a0c78599498b85d23348d7826f6"},"favicon":"https://mintcdn.com/retellai/TsBk7Stx4694-7p1/logo/favicon-light.ico?fit=max\u0026auto=format\u0026n=TsBk7Stx4694-7p1\u0026q=85\u0026s=4e90f4db5e89b5ec7fe249a4844c2d97","api":{"openapi":["openapi-final.yaml"],"playground":{"display":"interactive"},"mdx":{"auth":{"method":"bearer"},"server":"https://api.retellai.com"}},"navbar":{"links":[{"icon":"message-circle-question-mark","href":"https://docs.retellai.com/general/support","label":"Support"},{"icon":"chart-line","href":"https://status.retellai.com/","label":"Status"},{"icon":"book","href":"https://www.retellai.com/changelog","label":"Changelog"}],"primary":{"type":"button","label":"Dashboard","href":"https://dashboard.retellai.com"}},"footer":{"socials":{"x":"https://x.com/retellai","linkedin":"https://www.linkedin.com/company/98828489","github":"https://github.com/RetellAI","instagram":"https://www.instagram.com/retell_ai","youtube":"https://www.youtube.com/@retellai"}},"fonts":{"family":"Inter"},"icons":{"library":"lucide"},"styling":{"codeblocks":"dark","latex":true},"integrations":{"mixpanel":{"projectToken":"c8676d3561adb5eefc366aa2a66725bc"}},"contextual":{"options":["copy","view","chatgpt","claude","cursor"],"display":"header"},"interaction":{"drilldown":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"retellai","hasAudioNarration":false,"actualSubdomain":"retellai","customDomains":["docs.retellai.com"],"gitSource":{"type":"github","owner":"retellai","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true,"edits":false,"issues":false,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aefda56b69215f74377976d","clientVersion":"0.0.4087","searchFilterCounts":[{"language":"default","tag":"Guides","count":214},{"language":"default","tag":"API Reference","count":107},{"language":"default","tag":"Build","count":68},{"language":"default","tag":"Deploy","count":35},{"language":"default","tag":"Integrations","count":30},{"language":"default","tag":"Conversation flow agents","count":24},{"language":"default","tag":"Deprecations","count":22},{"language":"default","tag":"CRM","count":21},{"language":"default","tag":"Detailed Deprecation Guide","count":21},{"language":"default","tag":"Monitor","count":17}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instinct-self-updating-docs","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"@media (min-width: 1024px){#navbar .flex-1:has(>[data-slot=\"context-menu-trigger\"]),#navbar .flex-1:has(>a>.nav-logo){flex:none!important;width:15rem}#navbar .ustify-end:has(.nav-tabs),#navbar .justify-end:has(.nav-tabs){justify-content:space-between!important;margin-left:0!important}#navbar .flex:has(>.ustify-end),#navbar .flex:has(>.justify-end){flex:1!important}#navbar .nav-tabs{white-space:nowrap}}article{max-width:48rem!important}.max-w-prose{max-width:48rem!important}.max-w-xl{max-width:48rem!important}video.scroll-play{cursor:zoom-in}.video-zoom-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:4vmin;background:rgba(0, 0, 0, 0.8);backdrop-filter:blur(2px);cursor:zoom-out}.video-zoom-media{max-width:92vw;max-height:92vh;width:auto;height:auto;border-radius:12px;box-shadow:0 10px 40px rgba(0, 0, 0, 0.5);cursor:default}.video-zoom-close{position:fixed;top:16px;right:20px;display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:none;border-radius:999px;background:rgba(255, 255, 255, 0.15);color:#fff;font-size:24px;line-height:1;cursor:pointer}.video-zoom-close:hover{background:rgba(255, 255, 255, 0.3)}.ui-btn{background-color:#f4f5f7!important;color:#1f2328!important;border:1px solid #d0d5dd!important;border-bottom-width:2px!important;border-radius:6px!important;padding:0.1em 0.42em!important}html.dark .ui-btn,[data-theme=\"dark\"] .ui-btn{background-color:#21252d!important;color:#e6e8eb!important;border-color:#3a4048!important}img[src$=\"/images/icons/wss-badge.svg\"]{width:auto!important;height:15px!important}a[aria-current=\"page\"] img[src$=\"/images/icons/wss-badge.svg\"]{content:url(\"data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2227%22 height=%2215%22 viewBox=%220 0 27 15%22 role=%22img%22 aria-label=%22WSS%22%3E %3Crect width=%2227%22 height=%2215%22 rx=%224%22 fill=%22%23F54A00%22/%3E %3Ctext x=%2213.5%22 y=%2210.7%22 text-anchor=%22middle%22 font-family=%22ui-sans-serif, system-ui, -apple-system, Segoe UI, Inter, Helvetica, Arial, sans-serif%22 font-size=%228.8%22 font-weight=%22700%22 fill=%22%23FFFFFF%22%3EWSS%3C/text%3E %3C/svg%3E\")}"}],"page":{"pagePath":"ai-qa/define-resolution-criteria","slug":"/ai-qa/define-resolution-criteria","pageMetadata":{"title":"Define resolution criteria","description":"Define resolution criteria for an AI QA cohort using AI-evaluated conditions and performance metric thresholds to decide whether each call counts as successful.","keywords":["resolution criteria","AI QA","quality assurance","success criteria","performance metrics"],"href":"/ai-qa/define-resolution-criteria"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Define resolution criteria for an AI QA cohort using AI-evaluated conditions and performance metric thresholds to decide whether each call counts as successful.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Frame,Heading,Note,OptimizedImage,Step,Steps,Tip,Warning}=_components;if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Resolution criteria decide whether each call in your cohort counts as successful. This is the second step of the Create QA flow, after you `,_jsx(_components.a,{href:`/ai-qa/create-cohort`,children:`define the cohort`}),`.`]}),`\n`,_jsx(Frame,{caption:`The resolution criteria step, where you set what makes a call successful.`,children:_jsx(OptimizedImage,{height:`700`,src:`https://mintcdn.com/retellai/6wkwFDKypdjHQ-22/ai-qa/images/resolution-criteria.png?fit=max\u0026auto=format\u0026n=6wkwFDKypdjHQ-22\u0026q=85\u0026s=033911bcb3ed31d4128d4637aeee9010`,alt:`Resolution criteria form answering the question What determines a successful call, with AI evaluated conditions and performance metric sections`,\"data-og-width\":`1948`,\"data-og-height\":`1416`,\"data-path\":`ai-qa/images/resolution-criteria.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/retellai/6wkwFDKypdjHQ-22/ai-qa/images/resolution-criteria.png?w=280\u0026fit=max\u0026auto=format\u0026n=6wkwFDKypdjHQ-22\u0026q=85\u0026s=d1bdf27e4bdb29d2ce055967dfd7ecec 280w, https://mintcdn.com/retellai/6wkwFDKypdjHQ-22/ai-qa/images/resolution-criteria.png?w=560\u0026fit=max\u0026auto=format\u0026n=6wkwFDKypdjHQ-22\u0026q=85\u0026s=62c090b99635651902b9f84b9a2fcb0e 560w, https://mintcdn.com/retellai/6wkwFDKypdjHQ-22/ai-qa/images/resolution-criteria.png?w=840\u0026fit=max\u0026auto=format\u0026n=6wkwFDKypdjHQ-22\u0026q=85\u0026s=5d3d98e0130ff194b6cac8887a169ef2 840w, https://mintcdn.com/retellai/6wkwFDKypdjHQ-22/ai-qa/images/resolution-criteria.png?w=1100\u0026fit=max\u0026auto=format\u0026n=6wkwFDKypdjHQ-22\u0026q=85\u0026s=485c718a243aaad1c7c0cd725ff5421d 1100w, https://mintcdn.com/retellai/6wkwFDKypdjHQ-22/ai-qa/images/resolution-criteria.png?w=1650\u0026fit=max\u0026auto=format\u0026n=6wkwFDKypdjHQ-22\u0026q=85\u0026s=eb4d1de1dbadbcee0676eb0380324d8d 1650w, https://mintcdn.com/retellai/6wkwFDKypdjHQ-22/ai-qa/images/resolution-criteria.png?w=2500\u0026fit=max\u0026auto=format\u0026n=6wkwFDKypdjHQ-22\u0026q=85\u0026s=81d79c8bfdf8937a3c2560926a12424f 2500w`})}),`\n`,_jsx(Heading,{level:`2`,id:`what-determines-a-successful-call`,children:`What determines a successful call?`}),`\n`,_jsxs(_components.p,{children:[`You define this using two kinds of criteria: `,_jsx(_components.strong,{children:`AI-evaluated conditions`}),` and `,_jsx(_components.strong,{children:`performance metrics`}),`. By default, a call counts as successful only when it meets every condition and every metric. Enable weighted scoring to change how these criteria combine.`]}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Add AI-evaluated conditions`,children:[_jsx(_components.p,{children:`An AI-evaluated condition is a qualitative check the AI runs against each call’s transcript and context.`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Name`}),` — A short identifier, such as `,_jsx(_components.code,{children:`Call resolved`}),`, `,_jsx(_components.code,{children:`Customer satisfied`}),`, or `,_jsx(_components.code,{children:`Issue escalated properly`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Prompt description`}),` — The prompt the AI uses to judge whether the condition is met, for example `,_jsx(_components.code,{children:`AI agent was able to resolve the user's query`}),`.`]}),`\n`]}),_jsxs(_components.p,{children:[`Write prompts that are specific about what success looks like, include context about the call type, and use clear, unambiguous language. Click `,_jsx(_components.strong,{children:`+ Add`}),` to add more conditions — each is evaluated independently.`]})]}),_jsxs(Step,{title:`Add performance metrics`,children:[_jsx(_components.p,{children:`A performance metric is a quantitative threshold a call must meet. Select a metric and set its threshold:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Latency`}),` — End-to-end delay between the user speaking and the agent responding.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`User sentiment`}),` — The caller’s emotional state, inferred from speech content, tone, and pitch.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Agent sentiment`}),` — The emotional tone of the agent’s speech.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Overlapping speech`}),` — Count of times the user and agent spoke at once.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Transcription`}),` — Word error rate (WER) and count of mistranscribed entities.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Agent hallucination`}),` — How often the agent hallucinated.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Tool call inaccuracy`}),` — Rate at which the agent invoked the wrong tools.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Node transition inaccuracy`}),` — Rate of incorrect node transitions.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Agent naturalness`}),` — How human-like the agent sounded across pronunciation, intonation, pacing, and turn-taking.`]}),`\n`]}),_jsxs(_components.p,{children:[`For full definitions, see `,_jsx(_components.a,{href:`/ai-qa/terminologies`,children:`AI QA metrics`}),`. Click `,_jsx(_components.strong,{children:`+ Add`}),` to add more metrics.`]}),_jsx(Frame,{caption:`Example performance metric configuration with a threshold.`,children:_jsx(OptimizedImage,{height:`700`,src:`https://mintcdn.com/retellai/6wkwFDKypdjHQ-22/ai-qa/images/performance-metric.png?fit=max\u0026auto=format\u0026n=6wkwFDKypdjHQ-22\u0026q=85\u0026s=c41130db8cc58f4892e8c1282b73948d`,alt:`Performance metric dropdown with a selected metric and its success threshold value`,\"data-og-width\":`1864`,\"data-og-height\":`664`,\"data-path\":`ai-qa/images/performance-metric.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/retellai/6wkwFDKypdjHQ-22/ai-qa/images/performance-metric.png?w=280\u0026fit=max\u0026auto=format\u0026n=6wkwFDKypdjHQ-22\u0026q=85\u0026s=39ac96e7b24bf4ac381b71836e2c00f9 280w, https://mintcdn.com/retellai/6wkwFDKypdjHQ-22/ai-qa/images/performance-metric.png?w=560\u0026fit=max\u0026auto=format\u0026n=6wkwFDKypdjHQ-22\u0026q=85\u0026s=4eaed41e84548a474113b2fe224c05ad 560w, https://mintcdn.com/retellai/6wkwFDKypdjHQ-22/ai-qa/images/performance-metric.png?w=840\u0026fit=max\u0026auto=format\u0026n=6wkwFDKypdjHQ-22\u0026q=85\u0026s=685c28426bcb2db006c62321a84b3331 840w, https://mintcdn.com/retellai/6wkwFDKypdjHQ-22/ai-qa/images/performance-metric.png?w=1100\u0026fit=max\u0026auto=format\u0026n=6wkwFDKypdjHQ-22\u0026q=85\u0026s=abce960e5755886f488a457e79cff518 1100w, https://mintcdn.com/retellai/6wkwFDKypdjHQ-22/ai-qa/images/performance-metric.png?w=1650\u0026fit=max\u0026auto=format\u0026n=6wkwFDKypdjHQ-22\u0026q=85\u0026s=74396923462c73a2ed9c88bce013b14c 1650w, https://mintcdn.com/retellai/6wkwFDKypdjHQ-22/ai-qa/images/performance-metric.png?w=2500\u0026fit=max\u0026auto=format\u0026n=6wkwFDKypdjHQ-22\u0026q=85\u0026s=2db6c7ba0d7dced3c7278b6fb24e31b6 2500w`})}),_jsx(Note,{children:_jsx(_components.p,{children:`Both AI-evaluated conditions and performance metrics are evaluated. Without weighted scoring, a call is successful only if it meets every condition and every metric.`})})]}),_jsxs(Step,{title:`Weight your criteria (optional)`,children:[_jsxs(_components.p,{children:[`By default, every condition and metric is required equally, so a call passes only if it meets all of them. Turn on `,_jsx(_components.strong,{children:`Weighted scoring`}),` to prioritize some criteria over others instead.`]}),_jsx(_components.p,{children:`When enabled, assign a weight to each condition and metric, then set the success threshold the weighted total must reach.`}),_jsx(Frame,{caption:`Weighted scoring with a weight assigned to each condition and metric.`,children:_jsx(OptimizedImage,{height:`700`,src:`https://mintcdn.com/retellai/6wkwFDKypdjHQ-22/ai-qa/images/resolution-criteria-weighted.png?fit=max\u0026auto=format\u0026n=6wkwFDKypdjHQ-22\u0026q=85\u0026s=2df1f4a9f626f333fdbf6dd1cde898f0`,alt:`Resolution criteria form with weighted scoring enabled, showing a weight input next to each condition and metric and a success threshold`,\"data-og-width\":`1944`,\"data-og-height\":`1620`,\"data-path\":`ai-qa/images/resolution-criteria-weighted.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/retellai/6wkwFDKypdjHQ-22/ai-qa/images/resolution-criteria-weighted.png?w=280\u0026fit=max\u0026auto=format\u0026n=6wkwFDKypdjHQ-22\u0026q=85\u0026s=647cbb9c372560b7b885ea0242bb460c 280w, https://mintcdn.com/retellai/6wkwFDKypdjHQ-22/ai-qa/images/resolution-criteria-weighted.png?w=560\u0026fit=max\u0026auto=format\u0026n=6wkwFDKypdjHQ-22\u0026q=85\u0026s=326c0182cdedc2ca955f4fd583a8aeb0 560w, https://mintcdn.com/retellai/6wkwFDKypdjHQ-22/ai-qa/images/resolution-criteria-weighted.png?w=840\u0026fit=max\u0026auto=format\u0026n=6wkwFDKypdjHQ-22\u0026q=85\u0026s=27959fc05d7e7bdc60a5a00cf5d06bf0 840w, https://mintcdn.com/retellai/6wkwFDKypdjHQ-22/ai-qa/images/resolution-criteria-weighted.png?w=1100\u0026fit=max\u0026auto=format\u0026n=6wkwFDKypdjHQ-22\u0026q=85\u0026s=17f27359be38250af3bbc5185d5d6afc 1100w, https://mintcdn.com/retellai/6wkwFDKypdjHQ-22/ai-qa/images/resolution-criteria-weighted.png?w=1650\u0026fit=max\u0026auto=format\u0026n=6wkwFDKypdjHQ-22\u0026q=85\u0026s=3e33ed5df1ce40b859deaf87d18ff2ac 1650w, https://mintcdn.com/retellai/6wkwFDKypdjHQ-22/ai-qa/images/resolution-criteria-weighted.png?w=2500\u0026fit=max\u0026auto=format\u0026n=6wkwFDKypdjHQ-22\u0026q=85\u0026s=2bb83f797a2f2a68d9e532d69f2e671f 2500w`})}),_jsx(Tip,{children:_jsxs(_components.p,{children:[`Use weighted scoring when some criteria matter more than others. For example, weight `,_jsx(_components.code,{children:`Call resolved`}),` higher than `,_jsx(_components.code,{children:`Customer satisfied`}),` if resolution is your primary goal.`]})})]}),_jsxs(Step,{title:`Save and run QA`,children:[_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Save and Run QA`}),` to start analysis. Once it finishes, review the output in `,_jsx(_components.a,{href:`/ai-qa/view-qa-results`,children:`View QA results`}),`.`]}),_jsx(Warning,{children:_jsx(_components.p,{children:`If saving fails, check that every required field is filled and every threshold is set, then resolve any validation messages before retrying.`})})]})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":"dark","config":{},"pageMetadata":{"title":"Define resolution criteria","description":"Define resolution criteria for an AI QA cohort using AI-evaluated conditions and performance metric thresholds to decide whether each call counts as successful.","keywords":["resolution criteria","AI QA","quality assurance","success criteria","performance metrics"],"href":"/ai-qa/define-resolution-criteria"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"What determines a successful call?","slug":"what-determines-a-successful-call","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/retellai/e3fe5c9b64f9e274/scroll-play-videos.js"],"subdomain":"retellai","siteName":"Retell AI","title":"Define resolution criteria - Retell AI","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-07-26T23:49:34.051Z","originalFileLocation":"ai-qa/define-resolution-criteria.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Define resolution criteria for an AI QA cohort using AI-evaluated conditions and performance metric thresholds to decide whether each call counts as successful.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Retell AI\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/retellai/aRxZhiMifgkRJF_R/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/retellai/aRxZhiMifgkRJF_R/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/retellai/aRxZhiMifgkRJF_R/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/retellai/aRxZhiMifgkRJF_R/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/retellai/aRxZhiMifgkRJF_R/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/retellai/aRxZhiMifgkRJF_R/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/retellai/aRxZhiMifgkRJF_R/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/retellai/aRxZhiMifgkRJF_R/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/retellai/aRxZhiMifgkRJF_R/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Define resolution criteria - Retell AI\">\u003cmeta data-mint-head property=\"og:description\" content=\"Define resolution criteria for an AI QA cohort using AI-evaluated conditions and performance metric thresholds to decide whether each call counts as successful.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Retell AI\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.retellai.com/ai-qa/define-resolution-criteria\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://retellai.mintlify.site/_mintlify/api/og/v2?division=Create+QA\u0026amp;title=Define+resolution+criteria\u0026amp;description=Define+resolution+criteria+for+an+AI+QA+cohort+using+AI-evaluated+conditions+and+performance+metric+thresholds+to+decide+whether+each+call+counts+as+successful.\u0026amp;theme=35696226f7b423b96c359dbf\u0026amp;signature=2084fb321080044f36c03f98df7867ec09ea2ae8d6bb6499b808a0e76fdac316\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Define resolution criteria - Retell AI\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Define resolution criteria for an AI QA cohort using AI-evaluated conditions and performance metric thresholds to decide whether each call counts as successful.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://retellai.mintlify.site/_mintlify/api/og/v2?division=Create+QA\u0026amp;title=Define+resolution+criteria\u0026amp;description=Define+resolution+criteria+for+an+AI+QA+cohort+using+AI-evaluated+conditions+and+performance+metric+thresholds+to+decide+whether+each+call+counts+as+successful.\u0026amp;theme=35696226f7b423b96c359dbf\u0026amp;signature=2084fb321080044f36c03f98df7867ec09ea2ae8d6bb6499b808a0e76fdac316\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/retellai/aRxZhiMifgkRJF_R/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Retell AI\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#606A78\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.retellai.com/ai-qa/define-resolution-criteria\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/ai-qa/define-resolution-criteria.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.retellai.com/#organization\",\"name\":\"Retell AI\",\"url\":\"https://docs.retellai.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/retellai/-E9UettTBfBiCBBS/images/docs-light.png?fit=max\u0026auto=format\u0026n=-E9UettTBfBiCBBS\u0026q=85\u0026s=64eb26a2d3cc9a67ee3ea0bfe086dd14\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.retellai.com#website\",\"name\":\"Retell AI\",\"url\":\"https://docs.retellai.com\",\"publisher\":{\"@id\":\"https://docs.retellai.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.retellai.com/ai-qa/define-resolution-criteria#webpage\",\"url\":\"https://docs.retellai.com/ai-qa/define-resolution-criteria\",\"name\":\"Define resolution criteria\",\"description\":\"Define resolution criteria for an AI QA cohort using AI-evaluated conditions and performance metric thresholds to decide whether each call counts as successful.\",\"dateModified\":\"2026-07-26T23:49:34.051Z\",\"isPartOf\":{\"@id\":\"https://docs.retellai.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.retellai.com/ai-qa/define-resolution-criteria#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.retellai.com/ai-qa/define-resolution-criteria#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Monitor\",\"item\":\"https://docs.retellai.com/features/live-monitoring\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"AI Quality Assurance\",\"item\":\"https://docs.retellai.com/ai-qa/overview\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Create QA\",\"item\":\"https://docs.retellai.com/ai-qa/get-started\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Define resolution criteria\",\"item\":\"https://docs.retellai.com/ai-qa/define-resolution-criteria\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.retellai.com/ai-qa/define-resolution-criteria#article\",\"headline\":\"Define resolution criteria\",\"name\":\"Define resolution criteria\",\"description\":\"Define resolution criteria for an AI QA cohort using AI-evaluated conditions and performance metric thresholds to decide whether each call counts as successful.\",\"url\":\"https://docs.retellai.com/ai-qa/define-resolution-criteria\",\"mainEntityOfPage\":{\"@id\":\"https://docs.retellai.com/ai-qa/define-resolution-criteria#webpage\"},\"dateModified\":\"2026-07-26T23:49:34.051Z\",\"keywords\":\"resolution criteria, AI QA, quality assurance, success criteria, performance metrics\",\"publisher\":{\"@id\":\"https://docs.retellai.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.retellai.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Retell AI\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Retell AI","nav":{"global":null,"tabs":[{"tab":"Guides","icon":"book","groups":[{"group":" ","pages":[{"title":"Introduction to Retell","href":"/general/introduction"},{"title":"Build your first phone agent in 15 minutes","href":"/get-started/quick-start"}]},{"group":"Conductor (AI Assistant)","icon":"https://mintlify.s3.us-west-1.amazonaws.com/retellai/images/conductor/conductor-icon.svg","pages":[{"title":"Retell AI Conductor overview","sidebarTitle":"Overview","href":"/conductor/overview"},{"group":"Functionality","pages":[{"title":"Build and refine agents","href":"/conductor/build-and-refine"},{"title":"Test and improve agents","href":"/conductor/test-and-improve"},{"title":"Inspect knowledge bases","href":"/conductor/knowledge-base"},{"title":"Review calls and chats","href":"/conductor/call-and-chat-history"},{"title":"Build analytics dashboards","href":"/conductor/analytics-dashboards"},{"title":"Review QA results","href":"/conductor/ai-qa"},{"title":"Review contacts","href":"/conductor/contacts"}]},{"title":"Pricing","href":"/conductor/usage-and-billing"}]},{"group":"Build","icon":"bot","pages":[{"title":"Build a Retell agent: configuration overview","href":"/build/overview"},{"title":"Single prompt vs. conversation flow","href":"/build/choose-agent-type"},{"title":"General prompting principles","href":"/build/prompt-engineering-guide"},{"group":"Single prompt agents","pages":[{"title":"Single prompt best practices","href":"/build/single-multi-prompt/write-single-prompt"},{"title":"Configure basic settings","href":"/build/single-multi-prompt/configure-basic-settings"},{"group":"Functions","pages":[{"title":"Function calling for single and multi-prompt agents","href":"/build/single-multi-prompt/function-calling"},{"title":"End call","href":"/build/single-multi-prompt/end-call"},{"title":"Transfer call tool (single \u0026 multi-prompt agents)","href":"/build/single-multi-prompt/transfer-call"},{"title":"Send SMS","href":"/build/single-multi-prompt/send-sms"},{"title":"Press digit (IVR navigation)","href":"/build/single-multi-prompt/press-digit"},{"title":"Integrate any system with custom function","href":"/build/single-multi-prompt/custom-function"},{"title":"Integration tools","href":"/build/single-multi-prompt/integration-tools"},{"title":"Code tool: run JavaScript in a Retell agent","href":"/build/single-multi-prompt/code-tool"},{"title":"Extract Dynamic Variables","href":"/build/single-multi-prompt/extract-dv"},{"title":"Agent Transfer tool: hand a call to another AI agent","href":"/build/single-multi-prompt/transfer-agent"},{"title":"MCP tools for single and multi-prompt agents","href":"/build/single-multi-prompt/mcp"}]}]},{"group":"Conversation flow agents","pages":[{"title":"Conversation flow agents: structured voice AI call control","href":"/build/conversation-flow/overview"},{"title":"Conversation flow best practices","href":"/build/conversation-flow/best-practices"},{"title":"Configure global settings","href":"/build/conversation-flow/global-setting"},{"group":"Nodes","pages":[{"title":"Nodes and edges","href":"/build/conversation-flow/node"},{"title":"Subagent node","href":"/build/conversation-flow/subagent-node"},{"title":"Conversation node","href":"/build/conversation-flow/conversation-node"},{"group":"Function Node","pages":[{"title":"Call a function from a conversation flow node","href":"/build/conversation-flow/function-node"},{"title":"Custom function in conversation flow","href":"/build/conversation-flow/custom-function"},{"title":"Integration tools in conversation flow","href":"/build/conversation-flow/integration-tools"}]},{"title":"Code node: run JavaScript in a conversation flow","href":"/build/conversation-flow/code-node"},{"title":"Call transfer node in conversation flow","href":"/build/conversation-flow/call-transfer-node"},{"title":"Press Digit Node","href":"/build/conversation-flow/press-digit-node"},{"title":"End node","href":"/build/conversation-flow/end-node"},{"title":"Logic Split Node","href":"/build/conversation-flow/logic-split-node"},{"title":"SMS Node","href":"/build/conversation-flow/sms-node"},{"title":"Extract Dynamic Variable Node","href":"/build/conversation-flow/extract-dv-node"},{"title":"Agent Transfer Node","href":"/build/conversation-flow/transfer-agent-node"},{"title":"MCP node in conversation flow","href":"/build/conversation-flow/mcp-node"}]},{"title":"Transition conditions","href":"/build/conversation-flow/transition-condition"},{"title":"Reusable subflows for conversation flow agents","href":"/build/conversation-flow/components"},{"title":"Flex Mode: dynamic conversation flow execution","href":"/build/conversation-flow/flex-mode"},{"group":"Advanced features","pages":[{"title":"Global Node","href":"/build/conversation-flow/global-node"},{"title":"Finetune Examples","href":"/build/conversation-flow/finetune-examples"}]},{"title":"Debug guide","href":"/build/conversation-flow/debug-guide"}]},{"group":"Multi-prompt agents (legacy)","pages":[{"title":"Multi-prompt agents","href":"/build/single-multi-prompt/write-multi-prompt"}]},{"title":"Create chat agent","href":"/build/create-chat-agent"},{"title":"Agent workflow","href":"/agent/agent-workflow"},{"title":"Set language for your agent","href":"/agent/language"},{"title":"Configure a multilingual agent","href":"/agent/multilingual"},{"title":"Supported languages by provider","href":"/build/language-support"},{"group":"Understand user speech better","pages":[{"title":"Speech recognition providers","href":"/build/asr-providers"},{"title":"Transcription modes","href":"/build/transcription-mode"},{"title":"Handle background speech \u0026 noise","href":"/build/handle-background-noise"}]},{"group":"Generate better responses from LLM","pages":[{"title":"Agent Handbook","href":"/build/agent-handbook"},{"title":"Conversational Mode","href":"/build/conversational-mode"},{"title":"Pronunciation examples","href":"/build/prompt-situation-guide"},{"title":"LLM settings","href":"/build/llm-options"},{"title":"GPT Live voice model","href":"/build/gpt-live"}]},{"group":"Customize the synthesized speech","pages":[{"title":"Platform voices","href":"/build/platform-voices"},{"title":"Choose a custom provider","href":"/build/voice"},{"title":"Expressive Mode: add emotion and emphasis to agent speech","href":"/build/expressive-mode"},{"title":"Add custom pronunciation","href":"/build/add-pronunciation"},{"title":"Make the agent stay silent","href":"/build/no-response"},{"title":"Speech controls","href":"/build/speech-controls"},{"title":"Set up TTS fallback","href":"/build/tts-fallback"}]},{"group":"Integrate telephony features","pages":[{"title":"Handle voicemail and IVR","href":"/build/handle-voicemail"},{"title":"Capture DTMF input from user","href":"/build/user-dtmf"},{"title":"Set \u0026 parse custom SIP headers","href":"/build/telephony/sip-headers"}]},{"group":"Provide context to the agent","pages":[{"title":"Knowledge base setup and retrieval tuning","href":"/build/knowledge-base"},{"title":"Dynamic variables","href":"/build/dynamic-variables"}]},{"title":"Guardrails","href":"/build/guardrails"},{"title":"Do-not-call requests","href":"/build/do-not-call"}]},{"group":"Test","icon":"flask-conical","pages":[{"title":"Testing overview","href":"/test/test-overview"},{"group":"LLM Playground","pages":[{"title":"Manually test your agent","href":"/test/llm-playground"},{"title":"Debug your agent response","href":"/test/llm-playground-debug"}]},{"group":"LLM Simulation Testing","pages":[{"title":"Automatically test your agent","href":"/test/llm-simulation-testing"},{"title":"Batch test your agent","href":"/test/batch-test-simulation"}]},{"group":"Audio Testing","pages":[{"title":"Web call testing","href":"/test/test-web"},{"title":"Phone call testing","href":"/test/test-phone"}]},{"title":"Testing with Conductor","icon":"https://mintlify.s3.us-west-1.amazonaws.com/retellai/images/conductor/conductor-icon.svg","href":"/test/testing-with-conductor"},{"title":"Testing pricing","href":"/test/testing-pricing"}]},{"group":"Deploy","icon":"phone","pages":[{"title":"Purchase phone number","href":"/deploy/purchase-number"},{"title":"A/B Testing","href":"/deploy/ab-testing"},{"group":"Connect to custom telephony providers via SIP","pages":[{"title":"Connect Retell voice agents to custom telephony","href":"/deploy/custom-telephony"},{"group":"Connect via SIP trunking","pages":[{"title":"Connect a Twilio number to Retell with elastic SIP trunking","sidebarTitle":"Twilio","href":"/deploy/twilio"},{"title":"Telnyx","href":"/deploy/telnyx"},{"title":"Vonage","href":"/deploy/vonage"}]},{"group":"Connect to CCaaS","pages":[{"title":"Avaya","href":"/deploy/avaya"},{"title":"Connect Genesys Cloud to Retell","href":"/deploy/genesys"},{"title":"Connect Five9 to Retell","href":"/deploy/five9"},{"title":"Amazon Connect","href":"/deploy/amazon-connect"}]}]},{"group":"Make \u0026 receive phone calls","pages":[{"title":"Make outbound calls","href":"/deploy/outbound-call"},{"group":"Inbound calls","pages":[{"title":"Receive calls","href":"/deploy/inbound-call"},{"title":"Inbound call \u0026 SMS webhook","href":"/features/inbound-call-webhook"}]},{"title":"International calling","href":"/deploy/international-call"}]},{"title":"Implement chat with create chat completion","href":"/deploy/create-chat-completion"},{"title":"Website widget","href":"/deploy/chat-widget"},{"group":"Send \u0026 receive SMS","pages":[{"title":"Enable SMS","href":"/deploy/enable-sms"},{"title":"SMS campaign application","href":"/deploy/sms-campaign-application"}]},{"title":"Agent versions and tags","href":"/agent/version"},{"title":"Compare agent versions","href":"/agent/version-comparison"},{"title":"Create and schedule batch calls","href":"/deploy/make-batch-call"},{"group":"Dialer","pages":[{"title":"Outbound call campaigns","sidebarTitle":"Overview","href":"/dialer/overview"},{"title":"Choose contacts","href":"/dialer/contacts"},{"title":"Compliance checks","href":"/dialer/compliance-checks"},{"title":"Build a sequence","href":"/dialer/sequences"},{"title":"Caller ID and pacing","href":"/dialer/phone-numbers"}]},{"group":"Increase call pickup rate","pages":[{"title":"Spam likely overview","href":"/build/telephony/call_efficiency_overview"},{"title":"Add a business profile","href":"/build/telephony/business-profile"},{"title":"Apply for verified phone number","href":"/build/telephony/verified-phone"},{"title":"Apply for branded call","href":"/build/telephony/branded-call"},{"title":"Handle application rejection","href":"/build/telephony/branded-call-rejection"},{"title":"Stop caller ID service","href":"/build/telephony/delete-service"}]},{"title":"Make a web call","href":"/deploy/web-call"},{"title":"Web calls in native apps","href":"/deploy/native-web-call"},{"title":"Understand concurrency \u0026 limits","href":"/deploy/concurrency"}]},{"group":"Data","icon":"database","pages":[{"title":"Call \u0026 chat history","href":"/features/session-history"},{"title":"Contacts","href":"/features/contacts"},{"title":"Contact memory","href":"/features/contact-memory"}]},{"group":"Monitor","icon":"square-activity","pages":[{"title":"Monitor live calls","href":"/features/live-monitoring"},{"title":"Analytics dashboard","href":"/features/analytics-dashboard"},{"title":"Alert rules for call and chat metrics","href":"/features/alerting-overview"},{"group":"Register \u0026 handle webhooks","pages":[{"group":"Call Event Webhook","pages":[{"title":"Retell webhooks overview","href":"/features/webhook-overview"},{"title":"Register and set up a Retell webhook","href":"/features/register-webhook"}]},{"title":"Secure the webhook","href":"/features/secure-webhook"}]},{"group":"Post Call Extraction","pages":[{"title":"Post Call Extraction overview and categories","href":"/features/post-call-analysis-overview"},{"title":"Define the information you want to extract","href":"/features/post-call-analysis-create"},{"title":"Consume the analysis data","href":"/features/post-call-analysis-consumption"},{"title":"Rerun Post Call/Chat Extraction","href":"/features/rerun-call-analysis"}]},{"group":"AI Quality Assurance","pages":[{"title":"Automatically evaluate call quality with AI QA","sidebarTitle":"AI Quality Assurance","href":"/ai-qa/overview"},{"group":"Create QA","pages":[{"title":"Access AI QA","href":"/ai-qa/get-started"},{"title":"Define a QA cohort","description":"Define a Retell AI QA cohort: pick agents, date range, and call filters, then set a sampling rate to control evaluation volume and cost.","href":"/ai-qa/create-cohort"},{"title":"Define resolution criteria","href":"/ai-qa/define-resolution-criteria"}]},{"title":"View QA results","description":"Read your Retell AI QA results: review aggregate metrics and trends, drill into individual calls, inspect transcripts with QA diagnostics, and calibrate scores.","href":"/ai-qa/view-qa-results"},{"title":"AI QA metrics","href":"/ai-qa/terminologies"},{"title":"Address metric issues","href":"/ai-qa/address-metric-issues"}]}]},{"group":"Reliability \u0026 Debugging","icon":"bug","pages":[{"title":"Reliability Overview","href":"/reliability/reliability-overview"},{"group":"Latency","pages":[{"title":"Check estimated latency","href":"/reliability/check-estimated-latency"},{"title":"Check actual latency","href":"/reliability/check-actual-latency"},{"title":"Troubleshoot high latency","href":"/reliability/troubleshoot-latency"}]},{"group":"Fix agent behaviors","pages":[{"title":"Transcription accuracy","href":"/reliability/wrong-transcript"},{"title":"Debug wrong response","href":"/reliability/wrong-response"}]},{"group":"Debug phone call issues","pages":[{"title":"Debug call transfer failure","href":"/reliability/call-performance"},{"title":"Debug call disconnection","href":"/reliability/debug-call-disconnect"},{"title":"Debug outbound connection issues","href":"/reliability/debug-outbound-call"},{"title":"Debug SIP calls using PCAP file","href":"/reliability/debug-calls-pcap"}]},{"title":"Agent paused or banned","href":"/reliability/agent-paused"},{"title":"Prevent abuse","href":"/reliability/prevent-abuse"},{"title":"Fraud Protection","href":"/reliability/fraud-protection"}]},{"group":"Accounts and Workspace","icon":"circle-user-round","pages":[{"title":"Create and manage Retell workspaces","href":"/accounts/workspace"},{"title":"Manage your Retell AI account","href":"/accounts/account"},{"title":"Use your business email","href":"/accounts/business-email"},{"title":"Access Control","href":"/accounts/access-control"},{"title":"KYC Verification","href":"/accounts/kyc"},{"group":"Billing","pages":[{"title":"Retell AI billing: credits, auto recharge, and invoices","href":"/accounts/billing"},{"title":"Exceptions to Our Per-Minute Pricing","href":"/accounts/billing-exceptions"},{"title":"Add payment methods","href":"/accounts/add-payment"},{"title":"Handle failed payments","href":"/accounts/fail-payment"}]},{"group":"Keys","pages":[{"title":"API Key Overview","href":"/accounts/api-keys-overview"},{"title":"Manage API keys and permission scopes","href":"/accounts/manage-api-keys"},{"title":"Public keys","href":"/accounts/public-keys"}]},{"group":"Privacy and Compliance","pages":[{"title":"Data Storage Settings","href":"/accounts/privacy-disable"},{"title":"Data Retention Policy","href":"/accounts/data-retention"},{"title":"Opt in to secure URL","href":"/accounts/signed-secure-url"},{"title":"Security and compliance","href":"/general/compliance"}]}]},{"group":"Integrations","icon":"unplug","pages":[{"title":"Connect CRMs, calendars, and knowledge sources to Retell","sidebarTitle":"Integrations overview","href":"/integrations/overview"},{"group":"CRM","pages":[{"title":"CRM integrations","href":"/integrations/crm-overview"},{"title":"CRM data mappings","href":"/integrations/crm-mappings"},{"group":"HubSpot","pages":[{"title":"Connect HubSpot","sidebarTitle":"Connect","href":"/integrations/hubspot"},{"title":"HubSpot contact sync","sidebarTitle":"Contact sync","href":"/integrations/hubspot-contact-sync"},{"title":"HubSpot agent functions","sidebarTitle":"Agent functions","href":"/integrations/hubspot-functions"}]},{"group":"Salesforce","pages":[{"title":"Connect Salesforce","sidebarTitle":"Connect","href":"/integrations/salesforce"},{"title":"Salesforce contact sync","sidebarTitle":"Contact sync","href":"/integrations/salesforce-contact-sync"},{"title":"Salesforce agent functions","sidebarTitle":"Agent functions","href":"/integrations/salesforce-functions"}]},{"group":"Microsoft Dynamics 365","pages":[{"title":"Connect Dynamics 365","sidebarTitle":"Connect","href":"/integrations/microsoft-dynamics"},{"title":"Dynamics 365 contact sync","sidebarTitle":"Contact sync","href":"/integrations/microsoft-dynamics-contact-sync"},{"title":"Dynamics 365 agent functions","sidebarTitle":"Agent functions","href":"/integrations/microsoft-dynamics-functions"}]},{"group":"GoHighLevel","pages":[{"title":"Connect GoHighLevel","sidebarTitle":"Connect","href":"/integrations/gohighlevel"},{"title":"GoHighLevel contact sync","sidebarTitle":"Contact sync","href":"/integrations/gohighlevel-contact-sync"},{"title":"GoHighLevel agent functions","sidebarTitle":"Agent functions","href":"/integrations/gohighlevel-functions"}]},{"group":"Zoho CRM","pages":[{"title":"Connect Zoho CRM","sidebarTitle":"Connect","href":"/integrations/zoho"},{"title":"Zoho contact sync","sidebarTitle":"Contact sync","href":"/integrations/zoho-contact-sync"},{"title":"Zoho agent functions","sidebarTitle":"Agent functions","href":"/integrations/zoho-functions"}]}]},{"group":"Helpdesk","pages":[{"group":"Zendesk","pages":[{"title":"Connect Zendesk","sidebarTitle":"Connect","href":"/integrations/zendesk"},{"title":"Zendesk agent functions","sidebarTitle":"Agent functions","href":"/integrations/zendesk-functions"}]}]},{"group":"Knowledge Base","pages":[{"group":"Google Drive","pages":[{"title":"Connect Google Drive","sidebarTitle":"Connect","href":"/integrations/google-drive"},{"title":"Google Drive knowledge base sync","sidebarTitle":"Knowledge base sync","href":"/integrations/google-drive-knowledge-base"}]},{"group":"Microsoft OneDrive","pages":[{"title":"Connect OneDrive","sidebarTitle":"Connect","href":"/integrations/microsoft-onedrive"},{"title":"OneDrive knowledge base sync","sidebarTitle":"Knowledge base sync","href":"/integrations/microsoft-onedrive-knowledge-base"}]},{"group":"Notion","pages":[{"title":"Connect Notion","sidebarTitle":"Connect","href":"/integrations/notion"},{"title":"Notion knowledge base sync","sidebarTitle":"Knowledge base sync","href":"/integrations/notion-knowledge-base"}]}]},{"group":"Calendar","pages":[{"group":"GoHighLevel","pages":[{"title":"GoHighLevel agent functions","sidebarTitle":"Agent functions","href":"/integrations/gohighlevel-functions"}]},{"group":"Calendly","pages":[{"title":"Connect Calendly","sidebarTitle":"Connect","href":"/integrations/calendly"},{"title":"Calendly agent functions","sidebarTitle":"Agent functions","href":"/integrations/calendly-functions"}]},{"group":"Cal.com","pages":[{"title":"Connect Cal.com","sidebarTitle":"Connect","href":"/integrations/cal-com"},{"title":"Cal.com agent functions","sidebarTitle":"Agent functions","href":"/integrations/cal-com-functions"}]}]}]},{"group":"Marketplace","icon":"store","pages":[{"title":"Trigger Retell calls from HubSpot workflows","href":"/integrations/hubspot-marketplace"},{"title":"Trigger Retell calls from Zoho CRM workflows","href":"/integrations/zoho-marketplace"},{"title":"Trigger Retell calls from Slack","href":"/integrations/slack-marketplace"},{"title":"Trigger Retell calls from Notion","href":"/integrations/notion-marketplace"},{"title":"Trigger Retell calls from Google Sheets","href":"/integrations/google-sheets-marketplace"}]},{"group":"Other Topics","pages":[{"group":"Custom LLM","pages":[{"title":"Custom LLM overview","href":"/integrate-llm/overview"},{"title":"Set up a custom LLM WebSocket server for your Retell agent","href":"/integrate-llm/setup-websocket-server"},{"title":"Connect your LLM","href":"/integrate-llm/integrate-llm"},{"title":"Add function calling","href":"/integrate-llm/integrate-function-calling"},{"title":"Troubleshooting","href":"/integrate-llm/troubleshooting"},{"title":"Best practices","href":"/integrate-llm/llm-best-practice"}]},{"title":"Audio Basics","href":"/knowledge/audio-basics"}]}]},{"tab":"API Reference","icon":"code-xml","pages":[{"title":"API Reference","href":"/api-references/overview"}]},{"tab":"SDK","icon":"package","pages":[{"title":"SDK","href":"/get-started/sdk"}]},{"tab":"MCP","icon":"plug-zap","pages":[{"title":"MCP","href":"/get-started/mcp-server"}]},{"tab":"CLI","icon":"terminal","pages":[{"title":"CLI","href":"/get-started/cli"}]},{"tab":"Deprecations","icon":"book-alert","pages":[{"title":"Deprecations","href":"/deprecation-notice/overview"}]}]},"basePath":"","title":"Define resolution criteria - Retell AI","buildId":"dpl_FWZhTb2vab28gFGFH4ojka6qEznQ","deploymentId":"dpl_FWZhTb2vab28gFGFH4ojka6qEznQ","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-CXMGc493.js","DynamicMarkdown-D-2HDKEp.js","zoom-image-lightbox-CE4cYsJE.js","lightbox-handle-r17bVUz3.js"]}