Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.sf-voice.sh/llms.txt

Use this file to discover all available pages before exploring further.

Corpus Search lets you query your entire call history using plain language descriptions instead of keywords or boolean filters. When you know a class of failure exists — callers hanging up in frustration, agents talking over customers, conversations that never reached a resolution — you describe it, and Mise finds every matching call across your corpus. Results come back as ranked matches with turn-level highlights. Mise automatically clusters similar matches into defect signatures, so instead of reviewing 1,284 individual calls, you’re working with 6 named patterns.

Writing a query

Queries are written as natural language descriptions passed to voice.query(). Describe the situation you’re looking for as if you were explaining it to a colleague.
voice.query("calls where the agent interrupted the caller")
// → 1,284 matches clustered into 6 defect signatures
You don’t need to know the exact words spoken in a call. Corpus Search uses acoustic indexing — tone, prosody, and intent signals indexed at every turn — to surface calls that match your description even when the specific phrasing varies.

What results look like

Each query returns a result set with three levels of detail:
1

Ranked matches

Calls are ranked by how closely they match your query. Each match includes the call ID, timestamp, outcome, and an overall relevance score.
2

Turn-level highlights

Within each matching call, Mise surfaces the specific turns that drove the match. You see the transcript excerpt, the acoustic signals present (frustration, overlap, pace shift), and a link to jump directly to that turn in Call Replay.
3

Defect signatures

Mise clusters matching calls by similarity and names each cluster. A query for “calls where the agent interrupted the caller” might produce signatures like “Agent interruption during complex requests” and “Agent interruption at handoff.” Each signature shows affected call count and representative examples.

Example: finding interruption patterns

The following example shows a typical workflow — run a query, inspect the signatures, then drill into individual calls.
const results = await voice.query("calls where the agent interrupted the caller");

console.log(results.totalMatches);      // 1284
console.log(results.signatures.length); // 6

const topSignature = results.signatures[0];
console.log(topSignature.name);         // "Agent interruption during complex requests"
console.log(topSignature.callCount);    // 487
console.log(topSignature.examples[0].callId); // "call_abc123"

Tips for effective queries

Describe behavior, not keywords. “Calls where the caller sounded rushed” finds more than searching for the word “hurry.”
Specify whether you mean the agent or the caller. “Calls where the agent repeated itself” and “calls where the caller repeated themselves” return different results.
Queries like “calls that ended without booking” are often more useful than trying to describe every path that leads to that outcome.
Mise indexes acoustic signals, so phrases like “frustrated,” “confused,” “rushed,” or “hesitant” are meaningful search terms — not just metadata filters.
If a failure happens at a specific point — during escalation, after a tool call, near the end of a call — include that context in your query. For example: “calls where the caller disengaged during the escalation handoff.”

Corpus Search and defect signatures

Corpus Search results are the primary input to defect signatures. When Mise clusters your matches, each resulting signature becomes a named, trackable pattern you can share with teammates or pass directly to an AI assistant for root cause analysis.

Defect Signatures

Learn how Mise clusters corpus search results into named defect patterns.

Scale

Corpus Search is built for teams running 10,000+ calls per day. Queries run against your full historical corpus — not a recent sample — and return results in seconds regardless of corpus size.
Acoustic indexing must be complete before a call appears in corpus search results. Indexing typically completes within seconds of call end. Live detection surfaces signals during the call itself — see Acoustic Indexing.