Reviewing Interactions (The Audit Tab)

The Audit tab is where you review individual evaluated interactions. This is the starting point for daily QA work: finding calls to review, examining scorecards, reading transcripts, and submitting feedback.

  1. Log in to Ema at app.ema.co
  2. Navigate to your Agent QA AI Employee
  3. Click the Audit tab

The Audit area has three tabs (pills) across the top: Audit, Accepted Feedback, and Accuracy. The sections below cover the Audit table and interaction detail drawer. See the Accuracy tab for monthly report cards and reviewer workflows.

The list syncs automatically, and shows when it last did so (e.g. "Synced a few seconds ago" or "Not synced yet"). Click Refresh at any time to pull the latest data without waiting.

Each row in the interaction list displays:

FieldDescription
Interaction DetailsCombined column showing the Interaction ID (resource_id, truncated to first 12 characters with # prefix) and the Agent ID displayed below it. A New badge appears next to interactions you haven't opened yet, and clears once you view that interaction's details. A Reviewed mark appears on interactions where every flagged rule result has been resolved.
DurationCall length in seconds
QA StatusThe current state of the evaluation
QA ScoreOverall score out of 100. If the score has not been computed yet, it displays as "--". A score with a dashed border is provisional -- at least one pass/fail rule result is flagged and awaiting a reviewer decision, so the number may change.
Call Time (UTC)When the call actually took place. Immutable -- unaffected by reruns.
Ingested At (UTC)When the interaction was last processed by Ema. Normally the same as when it was first ingested, but a rerun (see 4.3 Rerunning an Interaction) updates this timestamp and floats the row to the top of the list, while Call Time stays fixed.
FeedbackCount of feedback items submitted on this interaction's scorecard.

QA Status Values

StatusWhat It Means
QA completedEvaluation is finished and the score is available. Click in to see full details.
QA in progressThe system is still processing this interaction. Check back shortly.
QA failedSomething went wrong during processing. Ema automatically retries a failed or stuck interaction internally for a period before treating it as permanently failed. If it's still failed after that, use Rerun (4.3) to trigger it manually, or check audio quality, file format, or contact your administrator.

A transcript missing an agent turn, missing a customer turn, or with no utterances at all cannot be evaluated. These rows show QA failed with a status-cell tooltip and, in the detail view, a "Could not evaluate this interaction" empty state naming the specific reason -- rather than being silently scored.

Failed Evaluation Error Types

When an evaluation fails due to a problem with the submitted input, the audit row surfaces a specific error type. These are terminal failures -- the system will not retry them, because the outcome cannot change without the caller supplying different input.

Error TypeWhat It MeansHow to Fix
EMPTY_TRANSCRIPTThe submitted transcript is well-formed but contains no utterances.Re-submit with a valid transcript.
CORRUPT_TRANSCRIPTThe transcript file carries payload but could not be decoded into utterances -- for example, a .json upload whose body is not a valid array of {time, role, text} objects, or a file whose extension does not match its contents. The decode is deterministic: the same bytes fail on every attempt. Distinct from EMPTY_TRANSCRIPT, which is a well-formed transcript that simply carries no utterances.Re-export the transcript from the source system and re-submit.
MISSING_REQUIRED_SPEAKERSThe transcript has no agent utterance, no customer utterance, or both -- there is no interaction to score.Re-submit a transcript that includes both an agent and a customer turn.
EMPTY_AUDIOThe audio container carries no decodable audio payload (for example, a WAV file that is only its 44-byte RIFF header, or an Ogg/WebM-Opus container with no audio pages). Detected before the speech-to-text provider is called.Re-export the recording and re-submit.
CORRUPT_AUDIOThe audio carries payload but the speech-to-text provider rejected it as undecodable. The same bytes are rejected on every attempt, so re-submitting the identical file will not succeed.Re-export the recording from the source system and re-submit.

Internal or transient backend failures (for example, a provider outage or a diarization error) are retried automatically and do not produce one of the error types above. If a row is stuck in QA failed with no input-problem error type, use Rerun to trigger it again.

4.2 Filters and Sorting

Available Filters

FilterDescription
Date rangeCustom date range (UTC). Presets: Today, Last 7 Days, Last Week, Last 14 Days, Last 30 Days, Last Month, or custom range.
AgentDropdown to select a specific agent or view all agents.
Interaction IDText search field to find a specific call by resource ID (UCID).
QA StatusFilter by evaluation status.
QA ScoreFilter by preset score bands: Auto-fail (0), Low (1-50), Medium (51-75), High (76-100).
Review statusFilter the list by manual-review state. All shows every interaction (default). Needs review shows only interactions with at least one open flagged rule result. Reviewed shows interactions that were flagged and are now fully resolved. Each option displays a count. When a non-default option is active, a pill appears above the table; click its × to clear the filter.

Sorting Options

Sort ByDirections
Call Date (default)Ascending or Descending
Call LengthAscending or Descending

Pagination

Results display 25 interactions per page. Navigation uses token-based pagination.

4.3 Rerunning an Interaction

Permission required: Builder, Manager, or Admin.

A rerun re-processes an interaction end to end, re-transcribing/re-redacting and re-scoring, and refreshes the same row in place with new verdicts, score, insights, and CSAT. Use it after editing a rule, fixing a processing issue, or when an interaction is stuck or failed.

  1. In the Audit tab, select one interaction, or multi-select any number of them.
  2. Click Rerun.
  3. Confirm the warning -- rerunning deletes any existing feedback on the selected interaction(s). For a multi-select, the warning states how many of the selected interactions have feedback that will be lost.

The row shows "QA in progress" while it reprocesses, then settles with refreshed results. Its Ingested At timestamp updates to the rerun time (floating it to the top of the list), while Call Time never changes.

An interaction can only be rerun while its raw source (audio or transcript) is still within its data-retention window -- see 2. Setting Up Agent QA for retention periods. Interactions past that window are shown blocked/non-selectable, since there is no longer a source to re-process.

Interactions that failed with a terminal input error (such as CORRUPT_TRANSCRIPT or CORRUPT_AUDIO) cannot be fixed by rerunning -- the same file will produce the same failure. Re-export the file from the source system and re-submit it as a new interaction.

Rerun Ineligibility Reasons

When a row cannot be re-run, the audit row surfaces a reason. The server reports the first applicable reason in this order: row state (in progress or already queued) takes priority over attempt limit, which takes priority over retention.

ReasonWhat It Means
IN_PROGRESSThe evaluation is currently running. Wait for it to finish before requesting a rerun.
ALREADY_QUEUEDA rerun for this row is already pending (the row is in a QUEUED state).
RETENTION_EXPIREDThe raw source file is past, or within the safety buffer of, its retention window. There is no longer a source to re-process.
ATTEMPT_LIMITThe row has hit the consecutive failed user-rerun cap.

4.4 Bulk Actions

Permission required: Builder, Manager, or Admin.

You can select multiple interactions in the Audit tab and act on them together. A Deselect all control clears the entire selection.

Bulk Archive

Select up to 50 interactions at once and click Archive to archive them in bulk. A warning is shown if any of the selected interactions have pending Continuous Learning (CL) data that will be lost when archived.

Bulk Delete

Select multiple interactions and click Delete to delete their evaluations in bulk. This calls the BulkDeleteQATranscriptEvaluation RPC and permanently removes the selected evaluation records.

Bulk delete is permanent. Deleted evaluation records cannot be recovered.

4.5 View Interaction Details

Click View Details on any interaction to open the detailed view.

When the interaction has open flagged rule results, the drawer shows a review queue position (for example, "1 of 5") so you can step through flagged interactions without returning to the table. Use the forward and back arrows to move to the next or previous flagged interaction in the queue.

Interaction Summary

A collapsible panel at the top of the detail view gives an AI-generated plain-language summary of the call -- what the customer needed, what the agent did, and how it was resolved. It uses the same PII redaction as the transcript, so sensitive values appear as redaction placeholders (e.g. a masked name or account number) rather than the original text.

The drawer header also shows a language badge indicating the transcription (input) language used for the call. The badge displays the language the caller chose for speech-to-text (e.g. "Spanish" for a call submitted with language code es). When no language was specified and auto-detect ran, the badge shows "Auto" followed by the language that speech-to-text found (e.g. "Auto · Portuguese"). If auto-detect ran but no language was identified, or if no language information is available for the interaction, the badge is not shown.

Below the summary, the detail view has the following tabs:

Scorecard Tab

The core evaluation view. A summary bar at the top shows the total parameter count with Pass and Fail totals.

The scorecard tab offers two views you can switch between. Your preference is saved locally and persists across sessions.

Flagged Rule Results

Rule evaluation cards with an amber border have been flagged for manual review because the model's confidence was low or the transcript did not contain enough data to support a verdict. Each flagged card shows the flag reason:

ReasonWhat It Means
Low confidenceThe model produced an answer but its confidence score fell below the threshold set for this persona.
Insufficient dataThe transcript did not contain enough information for the model to produce a reliable verdict.

Expand the flag line on a flagged card to see What's uncertain -- a one-sentence note from the model explaining what it was unsure about. For a categorical rule, the note names the categories that appeared to fit.

Each flagged card shows confidence and data sufficiency. Confidence is displayed as a word: High (0.85 or above), Medium (0.70 to below 0.85), or Low (below 0.70).

Reviewer Decisions

When a rule result is flagged, the card shows actions for a reviewer to decide it. The available actions depend on the rule type:

Rule typeActions
Pass/Fail (boolean)Confirm -- the model's answer was correct; keep it. Override -- the model's answer was wrong; choose the correct verdict (Pass, Fail, or Not Applicable).
CategoricalPick -- choose a category from the rule's existing option set. Propose -- suggest a category outside the option set (recorded for consideration; the option set itself does not change).
DescriptiveAccept -- the model's written answer was good enough; keep it. Rewrite -- replace the model's text with your own.

Each decision resolves that flag. When all flagged results on an interaction are resolved, the Reviewed mark appears on the row in the table, and any provisional score indicator is removed.

You can change a decision at any time by reopening the card and selecting a different action.

Reviewer decisions are not the same as thumbs-up/thumbs-down feedback. Decisions do not appear in feedback counts or in the feedback funnel, and they cannot be edited or deleted through the feedback controls.

Provisional Score

When a pass/fail rule result is flagged and no decision has been made yet, the QA score is provisional -- the model's answer counts toward the score, but a reviewer decision can still change it. A provisional score is shown with a dashed border on the score badge, both in the table and in the drawer. Once all pass/fail flags on the interaction are resolved, the dashed border is removed and the score is final.

Only pass/fail (boolean) rule flags make a score provisional, because only those rules feed the QA score. Flagged categorical or descriptive results queue the interaction for review but do not affect the score or the provisional indicator.

Classic View

FieldDescription
ResultColor-coded badge: Pass (green), Fail (red), or N/A (gray)
Parameter name and categoryWhat was being evaluated and which group it belongs to
Pass/Fail instructionThe evaluation criteria used for this parameter
RationaleDetailed, plain-language explanation of why the parameter passed or failed. This is the most important field for understanding a score.
VerbatimsClick the "Source" accordion to expand and see the exact transcript excerpts used as evidence

New View (ScorecardV2)

The new view opens by default. Failed rules are expanded automatically, since those are what a reviewer typically looks for first. A New badge in the toolbar opens a "What's new" popover describing the changes. Click Switch to classic view to go back.

ControlDescription
Sort & filterOpens a popover with filter groups (Result, Criticality, Type, Category) and view options (sort order, group-by). An active-filter count badge appears on the button when filters are applied. Click Clear filters inside the popover to reset.
LegendA popover showing the outcome marks and rule-type icons used in the list.
Expand all / Collapse allExpands or collapses all rules currently visible in the list.
Group byGroups rules by category, outcome, or no grouping. Available inside the Sort & filter popover.

Each rule row in the new view also shows the model's confidence level (High, Medium, or Low) and data sufficiency for that result.

When the list is filtered, the rule count shows how many rules are visible out of the total (e.g. "3 of 8 rules"). Click Clear filters below the list to reset all active filters at once.

Transcript Tab

Full conversation text with speaker labels and timestamps. Every speaker the transcript carries is shown under its own label -- not just Agent and Customer. A supervisor, an IVR/bot segment, or an external third party (e.g. a hotel receptionist or interpreter brought into the call) appears under its own descriptive label. QA scoring still evaluates only the interaction's designated agent; every other party, including third parties, is treated as context.

The Transcript tab does not currently have an in-panel search feature.

Strengths Tab

Positive agent behaviors identified during the interaction.

FieldDescription
DriverThe positive behavior identified (e.g., "Clear policy explanation"), displayed as bold title
CategoryThe broader behavioral category (e.g., "Communication Skills"), displayed as a badge
JustificationWhy this was identified as a strength, labeled "Key insight" in the UI

Opportunities Tab

Areas for improvement with coaching recommendations.

FieldDescription
DriverThe issue identified (e.g., "Did not confirm customer understanding"), displayed as bold title
CategoryThe broader behavioral category (e.g., "Active Listening"), displayed as a badge
JustificationWhy this was identified as an opportunity and what could have been done differently

CSAT Mapping Tab

Shows Ema's AI-derived customer satisfaction analysis for the interaction, plus any customer-submitted survey feedback ingested via the CSAT Ingestion API.

FieldDescription
Overall SummaryA banner giving the overall sentiment (positive, negative, or neutral) and a plain-language summary of the customer's experience.
Customer SatisfactionSentiment badge, evaluation text, and supporting transcript verbatims (via the "Source" accordion) for how satisfied the customer appeared.
Issue ResolutionSentiment badge, evaluation text, and sources for whether the customer's issue was resolved.
Call to ActionSentiment badge, evaluation text, and sources for any follow-up action expected from the call.
Customer BehaviorSentiment badge, evaluation text, and sources describing how the customer behaved during the call.
Customer FeedbackA survey score or comment submitted via the CSAT Ingestion API. A value of 1-5 renders as a star rating; anything else (including an emoji-derived score) renders as text. Hidden if no survey feedback was submitted.

If Ema has not yet produced a CSAT analysis for this interaction, the tab shows an empty state instead of the fields above.

Additional Data

Agent Talk Time, User Talk Time, and Dead Air are computed in the backend and stored in the database, but are not currently displayed in the evaluation details drawer in the UI.

FieldDescription
Agent Talk TimeHow much of the call the agent was speaking
User Talk TimeHow much the customer was speaking
Third-Party Talk TimeHow much any other speaker (supervisor, IVR/bot, external third party) was speaking. Only populated when the transcript carries a third party and per-utterance timestamps.
Dead AirPeriods of silence during the call

When feedback is accepted on a scorecard parameter, the feedback item now links directly back to the source interaction in the Audit tab. Clicking the link opens the interaction's detail view, so you can navigate from an accepted suggestion straight to the call it came from without searching manually.

Last updated: Nov 5, 2026