> ## Documentation Index
> Fetch the complete documentation index at: https://docs.contactship.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Evaluation criteria

> Define call criteria and understand pass rates, coverage, and unknown results.

export const Availability = ({lang = 'es', plan, addon, permission, route, status}) => {
  const L = lang === 'en' ? {
    plan: 'Plan',
    addon: 'Add-on',
    permission: 'Permission',
    route: 'Where',
    status: 'Status',
    addonNote: 'enabled on request',
    allPlans: 'All plans',
    beta: 'Beta',
    nuevo: 'New',
    soon: 'Coming soon'
  } : {
    plan: 'Plan',
    addon: 'Add-on',
    permission: 'Permiso',
    route: 'Dónde',
    status: 'Estado',
    addonNote: 'se activa a pedido',
    allPlans: 'Todos los planes',
    beta: 'Beta',
    nuevo: 'Nuevo',
    soon: 'Próximamente'
  };
  const items = [];
  if (plan) items.push([L.plan, plan]);
  if (addon) items.push([L.addon, `${addon} · ${L.addonNote}`]);
  if (permission) items.push([L.permission, permission]);
  if (route) items.push([L.route, route]);
  if (status) items.push([L.status, L[status] || status]);
  return <div style={{
    display: 'flex',
    flexWrap: 'wrap',
    gap: '6px 22px',
    padding: '12px 16px',
    margin: '4px 0 24px',
    border: '1px solid rgba(2, 82, 255, 0.28)',
    borderLeft: '3px solid #0252ff',
    borderRadius: '8px',
    background: 'rgba(2, 82, 255, 0.05)',
    fontSize: '13.5px',
    lineHeight: '1.5'
  }}>
      {items.map(([k, v]) => <div key={k} style={{
    display: 'flex',
    gap: '6px',
    alignItems: 'baseline'
  }}>
          <span style={{
    fontSize: '10.5px',
    fontWeight: 600,
    letterSpacing: '0.07em',
    textTransform: 'uppercase',
    opacity: 0.65
  }}>{k}</span>
          <span style={{
    fontWeight: 500
  }}>{v}</span>
        </div>)}
    </div>;
};

<Availability lang="en" route="Settings → Organization → Evaluations; Reports" permission="reports.read" />

Criteria evaluate specific aspects of a conversation, such as whether the agent confirmed the reason for an inquiry. Define an observable rule and connect it to the relevant agents.

## Create and attach

1. Open **Manage evaluations** from the report or organization evaluation settings.
2. Create a criterion with a name, key, and evaluation prompt. Its key cannot be changed after creation.
3. Choose **Binary** or **Percentage** and explain the rubric: acceptable evidence, passing behavior, and how to handle insufficient information. Add agent context when needed.
4. Save and select the criterion in the voice agent’s **Advanced → Post-call** settings. An agent supports up to 15 criteria.
5. Criterion assignments save immediately, without publishing. Test calls that should pass and fail. Connecting criteria requires `evaluation_criteria.update` and `agents.update`.

## Read the report

The report includes a criterion ranking, verdict timeline, and individual results. Open a criterion to filter success, failure, or unknown results; open the associated call to inspect evidence.

Criterion **pass rate** = successes ÷ (successes + failures). Unknowns are excluded from the denominator. **Coverage** indicates how much material has definitive verdicts. A high pass rate with low coverage therefore does not describe every call.

The global metric counts calls whose verdicts were all successful. Percentage criteria also show a distribution and average score. Human ratings and automatic verdicts are separate records.

Archive criteria that should no longer be used, retaining the context needed to interpret historical results.

## Frequently asked questions

<AccordionGroup>
  <Accordion title="Does unknown count as failure?">
    It is excluded from the pass-rate denominator. Review coverage and the call.
  </Accordion>

  <Accordion title="Is creating a criterion enough?">
    No. Attach it to the agent; that connection applies immediately to subsequent calls.
  </Accordion>

  <Accordion title="Does an evaluation prove an external operation happened?">
    Check the verdict against the tool result and destination system.
  </Accordion>
</AccordionGroup>

## See also

* [Post-call](/en/voice-agents/post-call)
* [Dashboard](/en/reports/dashboard)
