Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.wittify.ai/llms.txt

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

Compliance is the page that tracks whether your team is saying the things they are required to say on every call. Define the phrases your team must say, then see who is on script, who is drifting, and where to coach next. Matching combines keywords and semantic intents, with breakdown per script, per agent, and per call.

Page anatomy

RegionWhat you see
Filter barDate and hour controls, see Overview.
KPI stripFour summary cards specific to script adherence.
Per-script tableThe project’s script library with how each script is performing.
Per-agent tableAverage adherence per agent, lowest first.
Calls tabs cardTwo-tab card: Needs attention and Top performers.
Edit library dialogOpens from the per-script card header; admins use it to manage scripts.
Per-call drill-in sheetSlides in when you click a row in the calls tabs.

KPI strip

Four cards reactive to the active filter window.
KPIMeaning
Overall pass rateShare of applicable script checks that passed across all scored calls.
Average adherenceMean per-call score across applicable scripts.
Calls scoredCount of calls scored in the window.
Lowest passThe script with the worst pass rate in the active range.

Per-script table

The project’s script library. Each row shows:
ColumnNotes
ScriptScript name (e.g. Greeting, Agent identity disclosure).
SeverityLow, Medium, or High.
In scopeNumber of calls where the script’s trigger applies.
Pass rateShare of in-scope calls that passed the script.
Avg scoreMean phrase-level score across in-scope calls.
The card header carries an Edit library button that opens the script library dialog.

Per-agent table

Shows average adherence per agent across the active filter window, sorted lowest first so coaching candidates are at the top. Same table mechanics as the per-script table (sortable columns, pagination at 10 rows by default).

The Calls tabs card

A two-tab card titled with Needs attention as the default tab.
TabWhat it shows
Needs attentionCalls where at least one required phrase was missed. Worst score first, up to 50 rows. The subtitle reads Calls flagged for missed required phrases ( total).
Top performersCalls that passed every required phrase. Best score first, up to 50 rows. The subtitle reads Calls that passed every required phrase ( total).
Both tabs reuse the same table.
ColumnSortable
DateYes
AgentYes
DurationYes
ScoreYes
The pagination defaults to 10 rows per page, with options for 10, 25, 50. When the tab has no rows, the empty state reads:
TabEmpty message
Needs attentionAll scored calls passed every required phrase.
Top performersNo calls passed every script in this range yet.

The Edit library dialog

Opens from the Edit library button in the per-script card header. Admins can:
ActionBehaviour
Add script ▸ From templateDrops in one of the four starter scripts: Greeting, Agent identity disclosure, Data privacy prompt, Identity verification.
Add script ▸ Blank scriptCreates a new empty script you can fill in.
Set SeverityPer script: Low, Medium, High. Drives sort priority and the Lowest pass KPI.
Set TriggerPer script. Either Every call or Only when intent is in . The intent picker is multi-select and reuses the project’s detected intents.
Edit phrasesEach script has one or more phrases. Each phrase carries a label (EN and AR), keyword chips (EN and AR), an intent multi-select, and a Required to pass toggle.
Save changesSaves the library to the project. The next score run picks up the new library.
CancelCloses the dialog without saving.

Phrase matching rules

Each phrase matches via two independent signals. A phrase must carry at least one signal or the dialog rejects the save.
SignalHow it matches
Keywords (EN)Word-bounded match: a chip hello matches “hello there” but not “othello”.
Keywords (AR)Case-insensitive match across the chip list.
IntentsThe phrase matches if the call’s detected intent is in the picked list. Reuses the Intent Analysis catalog. No extra cost.
Limits: maximum 50 keywords per phrase, maximum 80 characters per keyword.
Intent matching is great for phrases with many variants. Tie a Greeting script to the greeting intent and it catches every greeting variant the AI already labelled, in either language, with no keyword maintenance.

The per-call drill-in sheet

Click any row in the Calls tabs card to open a side sheet.
SectionWhat it shows
Session metadata cardDate, agent, duration, sentiment, intents, words, file.
Inline audio playerBuilt-in browser audio with play, pause, seek, and volume.
TranscriptionThe full transcript, RTL or LTR per language.
Per-script breakdownOne row per script: Passed / Failed / Not in scope.
Per-phrase rows under each scriptEach row shows the phrase label, Matched or Not found in transcript, the matching signal (Keyword EN, Keyword AR, Intent), and a short transcript excerpt around the match when applicable.

CSV export

The page-level Download CSV button emits one row per (call × script × phrase) for the active filter window.
PropertyNotes
Hard cap200,000 rows. Past the cap, you’ll see a message asking you to narrow the date filter.
EncodingUTF-8 with BOM (Arabic renders correctly in Excel).

Common questions

Each starter has both EN and AR keyword chips, plus the greeting / verification etc. intents. They match Arabic out of the box.
Each script has a trigger. If the trigger does not apply to a call (for example, the script’s intent list does not include the call’s detected intent), the call is Not in scope for that script.
Two things to check. First, the call’s intent may not be in the phrase’s intent list. Second, the speech-to-text engine may have transcribed the phrase differently. Open the side sheet — the transcript shows you exactly what was recorded.
Yes. Toggle off Required to pass on the phrase. The phrase still appears in the side sheet’s drill-in, but it does not affect the call’s pass result.
Most likely a phrase has no keyword and no intent. The dialog requires at least one matching signal per phrase. Add a keyword chip and try again.
It does not change the matching logic. It drives the sort order of the per-script table and the Lowest pass KPI, so a high-severity script with a 70% pass rate appears above a low-severity script with the same pass rate.
The tab caps at 50 to keep the page snappy. Use the Download CSV export to get every (call × script × phrase) row for deeper analysis.
No. The upcoming LLM rubric is an additional 0 to 100 score with a rationale, surfaced alongside the deterministic phrase scoring. Both signals will live in the same drill-in sheet.

Where to go next

Agent + Team Scorecards

Per-agent metrics across the contact center.

Intent Analysis

Source the intent list used in script triggers.

Alerts

Threshold rules and rolling-baseline anomalies.

Goals

Project-wide KPI targets.