Help & Documentation

Step-by-step guides for every feature in the platform

How It Works

End-to-end call flow from PBX to analysis

The system automatically turns PBX call recordings into scored, searchable, actionable data — no manual steps required.

  1. 1
    PBX sends emailYour PBX (e.g. Zadarma) emails a call recording (.mp3) to a dedicated mailbox after each call ends.
  2. 2
    Email pollingCA polls that mailbox via IMAP every 5 min (working hours), 30 min (evening), or 1 hr (night). Configure in Settings → Mail.
  3. 3
    ParsingThe email subject and filename are parsed using regex patterns to extract caller number, called number, direction, agent extension, and call date. Configure in Settings → Parsing.
  4. 4
    Agent matchingThe PBX extension in the filename is matched against agent codes. If found, the call is linked to that agent automatically.
  5. 5
    TranscriptionThe audio file is transcribed to text using Whisper (local), Groq, or OneDayAI — whichever is available. Fallback happens automatically.
  6. 6
    AI AnalysisThe transcript is scored 0–10 across five rubric dimensions, sentiment is assessed, a summary is generated, key topics and action items are extracted.
  7. 7
    Keyword scanThe transcript is scanned against your keyword list. Any matches are flagged with severity level.
  8. 8
    Follow-upsAction items and voicemail callbacks are automatically created as follow-up tasks.
  9. 9
    ReportsAt the configured time each day, a daily report is generated and emailed to recipients.

Dashboard

Real-time call centre performance overview

The dashboard uses EST timezone for all daily boundaries and refreshes every 30 seconds.

KPI Cards — Row 1

  • Today's Callscalls ingested today (EST); shows yesterday's count below for comparison
  • Completed (green cloud)calls that finished processing today; yesterday's count shown below
  • Failed (red cloud)calls that failed processing today; yesterday's count shown below
  • Today Avg Scoremean quality score (0–10) for today's completed calls
  • Pending Follow-upsaction items not yet marked done or dismissed

KPI Cards — Row 2

  • Weekly Calls (cloud)format: calls / avg-score — e.g. 1392 / 5.2
  • Monthly Calls (cloud)format: calls / avg-score for the current calendar month
  • Active Agentsagents with calls in the last 14 days

Agent Leaderboard

  • Appears above the processing queue; ranks agents by monthly average score
  • Top 3 get gold / silver / bronze medals; click an agent name to filter the Calls list
  • Active Days🔥 days with completed calls in the last 30 days

Charts

  • Score Trend7-day area chart of daily average score
  • Sentiment Breakdownpie chart of positive / neutral / negative this month
  • Outcome FunnelReceived → Transcribed → Analysed → Complete this week
  • Score Distributionhistogram of quality scores this month
  • Calls by Hourbar chart refreshing every 30 s — shows today's call volume by hour
  • Peak Hours Heatmapworking hours only (7 am–8 pm), horizontal layout — days as rows, hours as columns; darker blue = more calls

Other panels

  • Processing Queuepending / transcribing / analysing counts with estimated time remaining (shown when queue is non-empty)
  • Coaching Updatepurple progress card showing how many older calls still need back-filling with conversation / coaching data (auto-hides when done)
  • Keyword Alert Hitsrecent keyword matches with severity colour coding
  • Sync Emails buttontriggers an immediate IMAP poll

Calls List

Browse, filter, and act on all call records

Every call ingested appears here. Click any row to open the full detail view.

Filtering

  1. Type in the search box to match caller number, email subject, summary, or transcript text
  2. Use the Active / Archived / All dropdown to switch between archived and live calls
  3. Set a date range with the two date pickers; click ✕ to clear
  4. Click an agent name on the Agents page to pre-filter to just that agent's calls

Sorting

Click any column header — Call, Duration, Score, Sentiment, Status, Date — to sort ascending or descending. An arrow (↑ / ↓) shows the active sort.

Direction Indicators

  • ↙ blue arrow — inbound call (customer called in)
  • ↗ green arrow — outbound call (agent dialled out)
  • The Call column shows the format: Caller → Agent for inbound, Agent → Caller for outbound

Status Badges

  • pending — waiting in queue for transcription
  • transcribing — audio is being converted to text
  • analysing — AI is scoring the transcript
  • complete — fully processed with score, summary, and action items
  • failed — processing error; retry from the call detail page
  • VM — voicemail; VM ✓ means the caller left a message
  • missed — call was under 30 seconds; may have been dropped or not answered

Pagination & Page Size

  • Use the rows per page selector (top-right) to show 50, 100, 200, or 500 calls at once
  • Use Prev / Next at the bottom of the table to navigate between pages
  • The current page number and total pages are shown on the left

Bulk Actions

  1. Tick the header checkbox to select all visible calls, or tick individual rows
  2. Archive — moves selected calls out of the active view; use "Show archived" to access them later
  3. Re-transcribe — resets and requeues selected calls for fresh transcription + analysis

Call Detail

Full analysis, transcript, and actions for one call

Information panels

  • Scoreoverall 0–10 quality score; voicemails show "VM — not scored"
  • Rubric Scoresbreakdown across five dimensions (Greeting, Listening, Problem Resolution, Professionalism, Closing), each 0–10
  • Sentimentpositive / neutral / negative assessed from the full transcript
  • Directioninbound (customer called in) or outbound (agent dialled out)
  • Callerthe phone number that placed the call; shows "Internal call" for PBX extensions
  • Durationtotal call length in minutes and seconds
  • Languagelanguage detected during transcription

AI-generated content

  • Summary2–3 sentence overview of what happened on the call
  • Key Topicstag-style pills showing the main subjects discussed
  • Action Itemstasks extracted from the call, each with priority (high / medium / low) and an assigned person
  • Keyword Alertsany configured keywords found in the transcript, shown as red tags

Transcript

The full word-for-word transcription is shown in a scrollable box. The transcript is also used for searching in the Calls list.

Voicemail panel

Two indicator circles: green ✓ = caller left a message; red ✗ = caller hung up without leaving a message.

Caller History

If the same external number has called before, a history panel shows total calls, average score, first call date, and the 10 most recent calls. Not shown for internal PBX extensions.

Missed Call Warning

When a call lasted under 30 seconds an orange warning panel appears: "This call was under 30 seconds and may have been missed or dropped." Helps supervisors identify unanswered or dropped calls quickly.

Dispute Status

After a dispute is submitted the call detail page shows a status panel: pending (awaiting review), reviewed, or resolved. The dispute reason is shown below the status so you can track what was submitted.

Failure Reason

If a call failed to process, a red panel shows the exact pipeline error message. Use this to diagnose transcription or analysis issues before using Retry.

Actions

  • Retryvisible only on failed calls; re-queues the call for processing from scratch
  • Dispute Scoreopens a form to submit a reason for disputing the AI score; managers review from the Complaints page
  • Coaching Notesfree-text notes managers can add; timestamped and attributed to the logged-in user; visible to all staff

Internal Calls & PBX Extensions

How extension numbers are handled

When a call is made between two internal PBX extensions (e.g. ext 104 calling ext 105), the caller number is a short code with no meaning outside the office. The system detects these automatically.

What the system does

  • Any caller number that is 5 digits or fewer and all numeric (e.g. 104, 105) is treated as an internal extension
  • In the Calls list: the extension is hidden; the called number is shown instead
  • In the Call detail: the Caller field shows "Internal call"
  • Caller History is not shown for internal extensions

Agent name in calls list

The Agent column shows the agent's display name (e.g. "Charity" instead of "104"). Current agents: 101 Rhuane, 102 John, 103 Kryzil, 104 Charity, 105 Jhaico. Add/edit agents in Settings → Agents.

How agents are linked to calls — step by step

  1. PBX sends a recording email; the filename contains the agent's extension (e.g. 104)
  2. The parser extracts that extension number
  3. During ingestion the system looks up which agent has agent code = 104 and links the call to them
  4. The agent's name then appears in the Calls list and Call detail automatically
Setup tip: In Settings → Agents, set each agent's agent code to match their PBX extension exactly (e.g. 104).

Agents

Managing your team and viewing individual performance

Adding an agent — step by step

  1. Go to Settings → Agents
  2. Click + Add Agent
  3. Enter the agent's display name (required)
  4. Set the agent code to match their PBX extension exactly (e.g. 104)
  5. Click Create

Agents list page

  • Shows all agents with total call count, average score, average call duration, and active status
  • Click any agent row to open their detail page with full call history

Agent detail page

  • Summary stats: total calls, average score, average duration
  • Recent Calls table — the agent's last 50 calls with subject, date, status, and score
  • Click any call row to jump straight to the full call detail

Deactivating an agent

Edit the agent and uncheck Active. They disappear from dropdowns and the leaderboard but all their call history is preserved. Re-activate at any time.

Threads

Multi-call conversations with the same external number

A thread groups all calls from or to the same external phone number into one conversation history, giving you the full picture of your relationship with a customer.

Threads list

  • Shows subject (from latest call), caller number, total call count, average score, and last call date
  • Filter by Open / Resolved / All
  • Click a row to open the full thread

Thread detail

  • Lists every call in chronological order with date, status, and score
  • Thread SummaryAI-generated overview of the entire conversation history
  • Toggle Resolvedmark a thread as resolved when the customer's issue is closed; reopen if they call again

Follow-ups

Action items and callbacks extracted from calls

Follow-ups are tasks that need to happen after a call — callbacks, information to send, issues to escalate.

How they are created

  • Automatic (AI)action items from the call analysis are converted to follow-ups; marked with an AI badge
  • Voicemail callbackwhen a voicemail is received, a callback follow-up is automatically scheduled for the next working day at 9 am
  • Manualmanagers can create follow-ups directly from the Follow-ups page

Workflow — step by step

  1. New follow-ups start as pending
  2. Click Accept to move it to in progress
  3. When done, click Complete
  4. If no longer relevant, click Dismiss to cancel

Priority levels

  • Urgent — same-day action needed
  • High — within 24 hours
  • Medium — within a few days
  • Low — when time allows

Overdue follow-ups (past their due date) are highlighted in red.

Reports

Daily performance reports and manual generation

Report types

  • Daily Reportauto-generated at the time set in Settings → Reports; emailed to all configured recipients
  • Shift Reportend-of-day summary at 6 pm; per-agent stats and top issues; excludes voicemails
  • Weekly Digestsent every Monday at 8 am; covers previous week's quality trends and agent performance

Report detail page

  • Agent Leaderboardthat day's rankings with calls, avg score, and best score per agent
  • Top Objectionsmost common customer objections with hit counts (bar chart)
  • Low Score Callscalls below the quality threshold with agent name and AI summary
  • Coaching Themesrecurring improvement areas identified across all that day's calls

Manual generation — step by step

  1. Go to the Reports page
  2. Click Generate Report
  3. The report appears at the top of the list immediately
  4. Use Sync Emails first if you want the latest calls included

Complaints / Score Disputes

Reviewing and resolving disputed call scores

How to file a dispute

  1. Open the Call detail page for the call in question
  2. Click Dispute Score (only visible on completed calls)
  3. Enter a clear reason explaining why the score is incorrect
  4. Click Submit Dispute

How to resolve a dispute (managers)

  1. Go to the Complaints page
  2. Review the reason and click the call link to read the transcript
  3. Use the status dropdown: Under Review → Resolved or Dismissed

The dispute status is shown on the call detail page so the person who filed it can see the outcome.

Failures

Monitoring and resolving pipeline processing errors

The Failures page logs every error that occurs during call processing so nothing gets silently dropped.

Failure stages

  • Email Received / Validated — problem parsing or accepting the incoming email
  • Audio Saved — attachment could not be downloaded or saved
  • Transcription — all transcription providers failed
  • Analysis — all AI analysis providers failed
  • Report — daily report generation failed

What to do with a failure

  1. Read the Error Message column to understand what went wrong
  2. For stuck calls: go to Calls, find the call, and use Re-transcribe or Retry
  3. For email parsing issues: check the regex in Settings → Parsing and test with a sample subject/filename
  4. Once resolved, click Resolve to clear it from the open list

Settings → Mail / IMAP

Connecting your email inbox to receive call recordings

Initial setup — step by step

  1. Enter the IMAP Host and IMAP Port (commonly 993 with SSL)
  2. Enter the SMTP Host and SMTP Port (used to send daily reports)
  3. Enter the Username (full email address) and Password
  4. Tick Use SSL for encrypted connections (recommended)
  5. Click Test Connection — a green message confirms success
  6. Click Save Changes

Secondary account (optional)

A second IMAP account can be configured below the primary — useful if calls from different PBX lines arrive in separate mailboxes. Both accounts are polled on the same schedule.

Polling schedule

  • 10 am – 6 pm — every 5 minutes
  • 6 pm – 8 pm — every 30 minutes
  • 8 pm – 10 am — every 60 minutes

Settings → Parsing

Extracting call metadata from email subjects and filenames

When an email arrives, two regex patterns extract the call metadata. If a pattern fails to match, the call is still created but with missing fields.

Fields extracted

  • caller_number — the external phone number
  • called_number — the number that was dialled
  • direction — inbound or outbound
  • extension — the internal PBX extension (used to match the agent)
  • call_date — timestamp of the call

Testing the parser — step by step

  1. Paste a real email subject line into Sample Subject
  2. Paste a real audio filename into Sample Filename
  3. Click Test
  4. The JSON result shows exactly what was extracted — verify caller_number and extension are correct
  5. Adjust the regex if needed, re-test, then Save Changes
Note: Changing the regex only affects new incoming emails. To re-parse already-ingested calls, select them in the Calls list and use Re-transcribe.

Settings → Keywords

Automatically flag calls containing sensitive terms

Keywords are scanned against every call transcript after analysis. Matched calls are flagged and a hit counter is incremented.

Adding a keyword — step by step

  1. Type the word or phrase in the Keyword field (e.g. refund)
  2. Choose a severity: Low / Medium / High
  3. Click Add

Managing keywords

  • Enabled / Disabled togglepause a keyword without deleting it; re-enable later
  • Hits countershows how many times this keyword has been found across all calls
  • Deletepermanently removes the keyword and resets its hit count

Common useful keywords: refund, cancel, complaint, legal, manager, escalate, lawsuit

Settings → Project

Name, timezone, and description for your call centre

  • Project Name

    The display name for this call centre — shown in report emails and internal headers.

  • Timezone

    IANA timezone string used for daily boundaries and report schedules (e.g. America/New_York). Defaults to UTC.

  • Description / Offer

    A short description of what your business does and what agents are expected to offer on calls. This text is injected into the AI analysis prompt so the model can score calls in context.

Tip: Keep the Description concise but specific — e.g. "Tow truck dispatch service; agent should collect caller location, vehicle type, and preferred tow destination."

Settings → Reports

Configure automated daily report delivery

Daily report

  • Enable daily reports

    Toggle to turn automated daily report emails on or off without losing your configuration.

  • Report Time (HH:MM)

    UTC time at which the daily report is generated and emailed each day (e.g. 18:30). Use HH:MM 24-hour format.

  • Recipients

    Comma-separated list of email addresses that receive the daily report (e.g. manager@example.com, director@example.com).

Note: The shift report (per-agent end-of-day summary) and weekly digest use a fixed schedule and do not have separate recipient lists — they go to the same addresses configured here.

Settings → Retention

How long data is kept before automatic deletion

  • Audio Retention (days)

    The raw .mp3 files are deleted after this many days. Default: 90 days.

  • Transcript Retention

    Keep forever / 90 days / 180 days / 1 year / Delete with call. "Keep forever" is recommended unless you have privacy requirements.

  • Log Retention (days)

    System event logs are deleted after this many days. Default: 90 days.

Warning: Deletion is permanent. Increase retention before the deadline — you cannot recover data that has already been purged.

AI Processing Pipeline

How transcription and analysis work under the hood

Transcription

  • Whisper (local)default; runs on-premise, no rate limits, no API cost; supports all languages
  • Groqcloud fallback; faster for short clips; subject to API rate limits
  • OneDayAIsecondary cloud fallback
  • Providers are tried in order; if one fails the next is used automatically

Analysis

  • The transcript is sent to an LLM which returns: score (0–10), rubric breakdown, sentiment, summary, key topics, action items, strengths, weaknesses, coaching advice
  • Providers: OneDayAI → Kimi → OpenAI (automatic fallback on quota or rate-limit errors)
  • Voicemail calls are detected from the transcript and flagged automatically

Auto-recovery

  • Calls stuck in transcribing or analysing for more than 15 minutes are automatically reset and re-queued every 5 minutes
  • Failed calls are retried with exponential backoff: 30 s → 60 s → 120 s → 240 s → 480 s
  • After 5 retries the call is marked failed and a failure log entry is created

Forcing reprocessing — step by step

  1. Select one or more calls in the Calls list
  2. Click Re-transcribe
  3. The calls are reset to pending and re-queued from the beginning of the pipeline
  4. Useful after fixing a broken regex, updating analysis prompts, or recovering from a provider outage

Conversation & Coaching

Speaker-turn view, coaching plan, goal tracking, and bulk reanalysis

Conversation view (Call Detail)

When a call has been analysed with the latest AI pipeline, the transcript is displayed as a speaker-turn conversation instead of a raw text block.

  • Agent linesleft-aligned bubbles with a coloured left border indicating quality
  • Customer linesright-aligned dark bubbles — neutral, no quality colour

Agent line border colours:

  • Green — excellent moment; agent handled this perfectly
  • Yellow — acceptable but could be stronger
  • Orange — a missed opportunity or weak response
  • Red — a significant error or compliance risk

Falls back to the raw transcript text if conversation data is not available (e.g. older calls).

Coaching Plan (Call Detail)

Below the conversation, each quality-flagged moment is expanded into an actionable coaching entry:

  • Quality badgecolour matches the conversation line (green / yellow / orange / red)
  • Momentthe topic or stage of the call being coached (e.g. "Opening", "Objection Handling")
  • What happenedfactual description of what was said and why it was rated this way
  • Encouragementa positive framing to motivate the agent
  • Alternativesnumbered list of better phrases or approaches the agent could use next time

Goal tracking — Email Obtained

  • The AI detects whether the agent successfully obtained the customer's email address during the call
  • Calls lista (green) or (grey/red) appears in the Goal column for completed calls
  • Call detailan "Email Obtained" card in the meta row shows ✓ Yes or ✗ No
  • Leaderboardthe Agent Leaderboard shows "Today Goals" and "Mo. Goals" columns — the count of calls where the email was successfully obtained

Hide Voicemails filter

In the Calls list, the Hide Voicemails toggle button filters out all voicemail calls so you can focus on live conversations only. When active the button turns purple and shows "Showing: No VMs".

Audio Player (Call Detail)

Below the meta cards on any call detail page, an audio player lets you listen to the original recording while proofreading the transcript.

  • Appears only when an audio file exists for that call
  • Supports play / pause and scrubbing to any position
  • Shows current time and total duration
  • Audio is streamed securely — requires login (no public URL)

Coaching Update Progress (Dashboard)

When older calls are being back-filled with new conversation analysis and coaching plans, a purple progress card appears on the Dashboard.

  • Shows how many calls still need to be updated and a % progress bar
  • Refreshes every 8 seconds automatically
  • Disappears automatically once all calls have been updated

Re-analyse last 100 calls

Managers can trigger a bulk reanalysis of the last 100 completed calls to back-fill conversation / coaching plan / goal data after an analysis prompt update.

  1. This is a manager-only API action: POST /api/v1/calls/reanalyse-last100
  2. Each call is reset to analysing and re-queued; transcription is not repeated
  3. Progress is visible in the Coaching Update card on the Dashboard
Note: Reanalysis uses the current AI prompt, so updated prompts will produce different results for the same transcript.