What analysis produces
For each analyzed call the result can include:- Sentiment —
positive,neutral, ornegative(overall caller sentiment). - Success —
true/false(ornullwhen 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.
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 Assistant Settings → Advanced → Analysis & QA and turn on the parts you need. Sentiment is enabled by default. To disable extraction, remove its fields; disable Sentiment and Success as well to turn off analysis.
Assistant Settings → Advanced → Analysis & QA: configure User Sentiment, Call Successful and Extracted fields. AI QA scorecards appear separately when Beta features are enabled.
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 up to 30 fields with a unique name, a type and a description (up to 500 characters). Every field is attempted; missing scalar values remain empty rather than being invented.
Structured extraction types
- Text, Number, Yes / No return a string, a number or a boolean.
- Choice (enum) uses your allowed values. Allow multiple values returns all matches as an array; off returns one value. Under When nothing matches, choose an allowed value to save as the fallback. Without a fallback, an unmatched single choice is empty and multiple choice is an empty array.
- Object defines fixed fields (up to 20). Every key is present; unavailable values are empty. Child fields support Text, Number, Yes / No and Choice, including optional allowed values for Text.
- List defines the same fixed fields for each item. The AI returns one object per entry it finds, up to 100 items, or an empty array when none are found.
- JSON lets the AI choose the structure. Use Object or List when your webhook needs fixed keys. Free-form JSON is limited to 16,000 characters and 8 nesting levels.
Example configuration
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/callsandGET /api/v1/calls/{id}carriesanalysis,sentiment, andsuccess. Filter the list with?sentiment=negativeand?success=false. - MCP — the same call fields are exposed through the MCP
list_calls/get_calltools.
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.
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
UsePATCH /api/v1/assistants/{id} or the MCP update_assistant tool to update the same analysis options programmatically. An empty configuration keeps default sentiment analysis enabled. 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-callwith{ "call_id": "…" }(assistants:write; Simulations must be included in the plan)- MCP tool
create_assistant_test_from_call