analysis_findings produced during
conversation analysis. Those are observations on a
single call. A finding sits one level up: it is the durable, shareable issue
you actually triage and fix, and it draws its evidence from the calls you
link to it.
Continuous opportunities
Open Findings → Opportunities to compare recurring call problems over time. Select Set up continuous analysis to create a shared monitor with checks for failure type, intent, greeting, transfer path, task outcome, frustration, and supporting evidence. The first boolean stage measures whether an observable problem affected the call; the remaining stages explain it.- Select the agents to compare. For a greeting pilot, start with the 3–4 agents considered good and the 3–4 considered poor.
- Review the instructions and try the monitor on example calls. Validate legitimate transfers, unsuccessful assistance, and ambiguous outcomes with the team before trusting aggregate rates.
- Save and enable the monitor for ongoing calls. Use the monitor’s existing backfill controls if historical comparison is needed.
- Return to Opportunities, choose a date range, and narrow by practice, agent, or conversation metadata.
Greeting groups and operational context
Send a string inmetadata.opportunityContext.greetingGroup to compare named
cohorts such as reviewed-good and reviewed-poor. Without it, calls are grouped
by the monitor’s observed opening-length classification. Labels are limited to
100 characters in this view. Cohort differences are associations: practices,
caller intent, and configuration can explain them. Use them to propose a test,
not to infer that the greeting caused the difference.
The preset optionally reads these fields under metadata.opportunityContext:
Also supply transcripts, tool outcomes, practice attribution, and stable
agent version identifiers. Confirm these reach Zelto
through the selected ingestion path; a telephony integration alone does not
establish that an internally orchestrated workflow supplies this context.
See custom call uploads.
Transfer paths distinguish required handoffs, immediate human requests,
escalation after attempted help, unavailable appointments, tool failures, and
unknowns. Appropriate transfers are not counted as successful containment.
Multi-action evidence lists requested tasks and their individual outcomes.
Suspected explanations remain hypotheses unless operational evidence supports
them; the classification is not a root-cause guarantee.
From evidence to a change
Owners and admins can Submit finding for review. This creates a candidate with representative call links and the observed volume in its description; those sample links do not represent the entire affected population. Repeating the same submission reuses the candidate. The existing candidate review process publishes accepted findings. New calls update the Opportunities view; they do not automatically rewrite or attach themselves to an already submitted finding. Configure an experiment carries the monitor and suggested name into Experiments. Choose two deployed versions of one agent and review the setup before launching. Zelto measures the outcomes; your platform owns deployment and consistent caller routing. The initial comparison across practices is not a controlled experiment.Anatomy of a finding
Volume is snapshotted when the finding is created: the numerator is the
linked conversations inside the analyzed window, and the denominator is all
conversations for the same agents over that same window. Later platform-wide
uploads don’t auto-link to existing findings, so they can’t dilute the
percentage after the fact. Volume is
null when there were no agent calls in
the window to compare against.
Status
The status is
ignored, not “dismissed”. Open, acknowledged, resolved, and
ignored are the only four values.Priority
Five levels, from lowest to highest:none, low, medium, high,
urgent. Priority is independent of status — an open finding can be any
priority, and you set it when triaging.
Categories
A finding’s category is one of these seven types (or left empty):- Voicemail not detected
- Bad pronunciation
- Does not follow script
- Bad ASR
- Does not understand the user
- Does not use tooling correctly
- Inconsistent voice
Linking conversations
Calls attach to a finding through thefinding_conversations join. Linking is
idempotent — adding a conversation that’s already linked returns the
existing link rather than creating a duplicate. A conversation must belong to
the same org as the finding, so you can’t accidentally pull in another
tenant’s call.
The reverse view holds too: a conversation’s detail page lists every finding
it’s linked to, so you can jump from a single call to the broader issue it’s
an example of.
Annotations and comments
Each linked call carries its own comments, and a comment can be anchored to a slice of the transcript withannotationStartMs and annotationEndMs. That
lets you point at the exact moment a call went wrong — “the agent talked over
the caller from 0:42 to 0:51” — instead of describing it in prose. Every
comment records its author and a type (a plain comment or a transcript
annotation).
Working a finding
From the finding detail page you can:- Set priority, assignee, and status. The status button in the top-right advances a finding to its next stage in one click (an open finding → Acknowledge, an acknowledged one → Resolve), with a dropdown for the other transitions.
- Edit the title and the rich description. The description editor
supports headings, lists, diagrams,
@-mentions, and call examples — type/callto embed one of the finding’s linked calls. The embed plays the recording (with the annotated moments marked on the scrub bar) and shows the annotated transcript excerpt inline, so the writeup points straight at the moment that proves the issue. - Copy a finding prompt — a packaged summary (title, category, status, description, agents, linked calls) you can hand to an LLM for a deeper look or a draft fix.
- Push to Linear if your org has it connected, turning the finding into a tracked issue. See Linear.
Programmatic access
Findings are fully scriptable over the REST API:
The same operations are exposed as MCP tools —
list_findings,
get_finding, create_finding, update_finding,
add_conversation_to_finding, and annotate_finding_conversation — so an
agent can triage findings directly.

