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.
- 1PBX sends email — Your PBX (e.g. Zadarma) emails a call recording (.mp3) to a dedicated mailbox after each call ends.
- 2Email polling — CA polls that mailbox via IMAP every 5 min (working hours), 30 min (evening), or 1 hr (night). Configure in Settings → Mail.
- 3Parsing — The 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.
- 4Agent matching — The PBX extension in the filename is matched against agent codes. If found, the call is linked to that agent automatically.
- 5Transcription — The audio file is transcribed to text using Whisper (local), Groq, or OneDayAI — whichever is available. Fallback happens automatically.
- 6AI Analysis — The transcript is scored 0–10 across five rubric dimensions, sentiment is assessed, a summary is generated, key topics and action items are extracted.
- 7Keyword scan — The transcript is scanned against your keyword list. Any matches are flagged with severity level.
- 8Follow-ups — Action items and voicemail callbacks are automatically created as follow-up tasks.
- 9Reports — At 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 Calls — calls 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 Score — mean quality score (0–10) for today's completed calls
- Pending Follow-ups — action 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 Agents — agents 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 Trend — 7-day area chart of daily average score
- Sentiment Breakdown — pie chart of positive / neutral / negative this month
- Outcome Funnel — Received → Transcribed → Analysed → Complete this week
- Score Distribution — histogram of quality scores this month
- Calls by Hour — bar chart refreshing every 30 s — shows today's call volume by hour
- Peak Hours Heatmap — working hours only (7 am–8 pm), horizontal layout — days as rows, hours as columns; darker blue = more calls
Other panels
- Processing Queue — pending / transcribing / analysing counts with estimated time remaining (shown when queue is non-empty)
- Coaching Update — purple progress card showing how many older calls still need back-filling with conversation / coaching data (auto-hides when done)
- Keyword Alert Hits — recent keyword matches with severity colour coding
- Sync Emails button — triggers 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
- Type in the search box to match caller number, email subject, summary, or transcript text
- Use the Active / Archived / All dropdown to switch between archived and live calls
- Set a date range with the two date pickers; click ✕ to clear
- 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
- Tick the header checkbox to select all visible calls, or tick individual rows
- Archive — moves selected calls out of the active view; use "Show archived" to access them later
- Re-transcribe — resets and requeues selected calls for fresh transcription + analysis
Call Detail
Full analysis, transcript, and actions for one call
Information panels
- Score — overall 0–10 quality score; voicemails show "VM — not scored"
- Rubric Scores — breakdown across five dimensions (Greeting, Listening, Problem Resolution, Professionalism, Closing), each 0–10
- Sentiment — positive / neutral / negative assessed from the full transcript
- Direction — inbound (customer called in) or outbound (agent dialled out)
- Caller — the phone number that placed the call; shows "Internal call" for PBX extensions
- Duration — total call length in minutes and seconds
- Language — language detected during transcription
AI-generated content
- Summary — 2–3 sentence overview of what happened on the call
- Key Topics — tag-style pills showing the main subjects discussed
- Action Items — tasks extracted from the call, each with priority (high / medium / low) and an assigned person
- Keyword Alerts — any 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
- Retry — visible only on failed calls; re-queues the call for processing from scratch
- Dispute Score — opens a form to submit a reason for disputing the AI score; managers review from the Complaints page
- Coaching Notes — free-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
- PBX sends a recording email; the filename contains the agent's extension (e.g. 104)
- The parser extracts that extension number
- During ingestion the system looks up which agent has agent code = 104 and links the call to them
- The agent's name then appears in the Calls list and Call detail automatically
Agents
Managing your team and viewing individual performance
Adding an agent — step by step
- Go to Settings → Agents
- Click + Add Agent
- Enter the agent's display name (required)
- Set the agent code to match their PBX extension exactly (e.g. 104)
- 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 Summary — AI-generated overview of the entire conversation history
- Toggle Resolved — mark 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 callback — when a voicemail is received, a callback follow-up is automatically scheduled for the next working day at 9 am
- Manual — managers can create follow-ups directly from the Follow-ups page
Workflow — step by step
- New follow-ups start as pending
- Click Accept to move it to in progress
- When done, click Complete
- 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 Report — auto-generated at the time set in Settings → Reports; emailed to all configured recipients
- Shift Report — end-of-day summary at 6 pm; per-agent stats and top issues; excludes voicemails
- Weekly Digest — sent every Monday at 8 am; covers previous week's quality trends and agent performance
Report detail page
- Agent Leaderboard — that day's rankings with calls, avg score, and best score per agent
- Top Objections — most common customer objections with hit counts (bar chart)
- Low Score Calls — calls below the quality threshold with agent name and AI summary
- Coaching Themes — recurring improvement areas identified across all that day's calls
Manual generation — step by step
- Go to the Reports page
- Click Generate Report
- The report appears at the top of the list immediately
- 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
- Open the Call detail page for the call in question
- Click Dispute Score (only visible on completed calls)
- Enter a clear reason explaining why the score is incorrect
- Click Submit Dispute
How to resolve a dispute (managers)
- Go to the Complaints page
- Review the reason and click the call link to read the transcript
- 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
- Read the Error Message column to understand what went wrong
- For stuck calls: go to Calls, find the call, and use Re-transcribe or Retry
- For email parsing issues: check the regex in Settings → Parsing and test with a sample subject/filename
- 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
- Enter the IMAP Host and IMAP Port (commonly 993 with SSL)
- Enter the SMTP Host and SMTP Port (used to send daily reports)
- Enter the Username (full email address) and Password
- Tick Use SSL for encrypted connections (recommended)
- Click Test Connection — a green message confirms success
- 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
- Paste a real email subject line into Sample Subject
- Paste a real audio filename into Sample Filename
- Click Test
- The JSON result shows exactly what was extracted — verify caller_number and extension are correct
- Adjust the regex if needed, re-test, then Save Changes
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
- Type the word or phrase in the Keyword field (e.g. refund)
- Choose a severity: Low / Medium / High
- Click Add
Managing keywords
- Enabled / Disabled toggle — pause a keyword without deleting it; re-enable later
- Hits counter — shows how many times this keyword has been found across all calls
- Delete — permanently 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.
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).
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.
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
- Groq — cloud fallback; faster for short clips; subject to API rate limits
- OneDayAI — secondary 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
- Select one or more calls in the Calls list
- Click Re-transcribe
- The calls are reset to pending and re-queued from the beginning of the pipeline
- 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 lines — left-aligned bubbles with a coloured left border indicating quality
- Customer lines — right-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 badge — colour matches the conversation line (green / yellow / orange / red)
- Moment — the topic or stage of the call being coached (e.g. "Opening", "Objection Handling")
- What happened — factual description of what was said and why it was rated this way
- Encouragement — a positive framing to motivate the agent
- Alternatives — numbered 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 list — a ✓ (green) or ✗ (grey/red) appears in the Goal column for completed calls
- Call detail — an "Email Obtained" card in the meta row shows ✓ Yes or ✗ No
- Leaderboard — the 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.
- This is a manager-only API action: POST /api/v1/calls/reanalyse-last100
- Each call is reset to analysing and re-queued; transcription is not repeated
- Progress is visible in the Coaching Update card on the Dashboard