Skip to main content
After a call ends, AI analysis can evaluate the transcript. It can rate caller sentiment, decide whether the call met a success criterion, and extract structured fields such as a callback number, order ID, or yes/no answer. The result is available in History, the public API, and MCP.

What analysis produces

For each analyzed call the result can include:
  • Sentimentpositive, neutral, or negative (overall caller sentiment).
  • Successtrue / false (or null when success evaluation is off), plus a short reason explaining the verdict.
  • Data — a map of the structured fields you defined, keyed by field name.
  • Analysis time — when the result was produced.
Use sentiment and success filters in History or GET /api/v1/calls?sentiment=&success= to find matching calls quickly.
Analysis runs after the call and never affects the live conversation. If analysis is unavailable, the call and its transcript remain unchanged and no result is shown.

Configuring analysis

Open the assistant’s Analysis card and turn on the parts you need. Everything is optional; an empty configuration means no analysis runs.
1

Sentiment

Enabled by default. Turn it off if you don’t need per-call sentiment.
2

Success criterion

Enable Success and describe, in plain language, what a successful call looks like — e.g. “The caller booked an appointment” or “The caller confirmed their delivery address.” The result contains a boolean plus a reason.
3

Structured fields

Add fields to extract. Each field has a name (snake_case, unique), a type (string, number, boolean, or enum), a description explaining what to extract (max. 500 characters), and — for enum — a list of choices. Every field is always attempted — there’s no editor control to make one optional, though the API’s required flag still exists in the schema.

Example configuration

A resulting calls.analysis looks like:

Using analysis results

  • History filters — filter the call list by sentiment and success to find, say, all negative calls that did not succeed.
  • Public API — every call in GET /api/v1/calls and GET /api/v1/calls/{id} carries analysis, sentiment, and success. Filter the list with ?sentiment=negative and ?success=false.
  • MCP — the same call fields are exposed through the MCP list_calls / get_call tools.
Re-running analysis on a past call — History → Re-evaluate — overwrites the stored sentiment, success, and extracted fields with a fresh result. It costs extra credits at the workspace’s History re-evaluate rate; current rates are on the Usage page.

AI QA scorecards

AI QA scorecards (Beta) score every finished call against your own quality checklist — a separate, complementary result from the sentiment/success/fields analysis above. Configure it in the same Analysis & QA tab as post-call analysis.
1

Turn scorecards on

Off by default. The card is only shown once Beta features are switched on for the workspace under Settings → Workspace, and enabling it needs a plan that includes AI QA scorecards.
2

Set a pass threshold

An overall score from 0–100; a call passes once it meets or exceeds this value.
3

Add up to 20 criteria

Each criterion has a name, a weight (how much it counts toward the overall score), and a source:
  • LLM judge — the AI reviewer reads the transcript and scores the criterion from a free-text description you write. Costs an extra evaluation per criterion.
  • Reuse success — reuses this call’s Analysis success flag (yes = 1, no = 0), at no extra cost.
  • Reuse sentiment — reuses this call’s Analysis sentiment (positive = 1, neutral = 0.5, negative = 0), at no extra cost.
Results appear in History, on the call’s detail view. Configure scorecards the same way as analysis — through the assistant editor, PATCH /api/v1/assistants/{id}, or the MCP update_assistant tool.
This is different from the cohort-level AI Quality Assurance tool, which runs a QA pack you choose against a batch of past calls on demand. Scorecards run automatically, per call, as it finishes.

Configuring via the API

Use PATCH /api/v1/assistants/{id} or the MCP update_assistant tool to update the same analysis options programmatically. An empty configuration means analysis does not run. See the API reference for the request schema.

Turn a real call into a simulation test

On a finished call in History, use Create Simulation Test. Famulor prepares a persona, script, and success criteria from the transcript and analysis, then opens the assistant’s Simulations panel for review. The same action is available as:
  • POST /api/v1/assistants/{id}/tests/from-call with { "call_id": "…" } (assistants:write; Simulations must be included in the plan)
  • MCP tool create_assistant_test_from_call
Clicking a transcript line in History jumps the recording to that moment.