Reports
Turn the data into reports you can share and schedule.
Astervis is already collecting every call, every operator action, and — if AI is enabled — every transcript and QA score. Reports are how you turn that pile of data into something a person can actually read: a weekly performance review, a staffing plan, a number you drop into a board deck. This page walks through the report types, how to build them from dashboard widgets, how to filter and export, and how to have the numbers land in your inbox on a schedule.
Reports are built on the replicated CDR data that lives in your own TimescaleDB store — nothing leaves the server to produce a chart or an export. AI/QA reports additionally use results that were already written back to the database by the AI pipeline. The analytics reports work fully even if you never turn AI on.
Report types at a glance
Reports come from the same widget catalog that powers your dashboards. There are four families, and they layer naturally — start with call volume to see the shape of the day, drill into operators to see who handled it, and reach for QA reports when you want to know how well.
Call reports
Volume, missed and lost calls, callbacks, wait time, trunk load.
Operator reports
Performance tables, leaderboards, and per-operator trends over time.
Time-based reports
Hourly heatmaps, weekday breakdowns, work schedules and time tracking.
AI & QA reports
QA score trends, sentiment over time, category mix, language distribution.
Call reports
These answer the "how many, when, and how well-served" questions. They read straight from the CDR table, so they reflect every leg of every call your PBX recorded.
| Report | What it shows |
|---|---|
| Call volume | Incoming, outgoing, and combined call counts over your selected range, with trend |
| Missed & lost calls | Calls that rang out or were abandoned, with a callback view for missed numbers |
| Average wait time | How long callers waited before an operator picked up |
| Trunk comparison & load | Volume and load distribution across your SIP trunks / lines, with heatmaps |
| Raw CDR view | The underlying call records themselves, filterable and exportable |
Operator reports
Built for supervisors who need to compare people fairly and spot who needs coaching.
| Report | What it shows |
|---|---|
| Operator performance | One row per operator with their key call metrics side by side |
| Calls by operator | How the workload is split across the team |
| Leaders & leaders dynamics | A leaderboard plus how the rankings move day over day |
| Operator-trunk performance | Which operators handle which lines, and how well |
Time-based reports
These are about when, not who — the inputs to a staffing decision.
| Report | What it shows |
|---|---|
| CDR hourly report | Call counts bucketed by hour of the day |
| Hourly by weekday | The full week as a grid — peak hours per day at a glance |
| Total-calls distribution | How calls spread across the period |
| Work schedules report | Scheduled shifts versus actual tracked time per employee |
AI & QA reports
Available when your plan includes the AI license tier. These read the analysis the model already wrote back to each call, so there's no extra processing to "run a report" — you're just charting columns that are already there.
| Report | What it shows |
|---|---|
| QA score trend | Average QA score (0–100) over time, for the team or one operator |
| QA score distribution | A histogram of where scores cluster, so a single bad call doesn't hide a healthy median |
| Sentiment over time | The positive / neutral / negative mix of conversations as it shifts |
| Category mix | The split across sales, support, complaint, inquiry, followup, and other |
| Language distribution | Share of calls per detected language (ru / uz / en are first-class) |
The richest place to read QA is the QA Analytics dashboard at /qa-analytics:
average score plus distribution, a per-operator table with per-criterion
averages (so you see exactly where each person is weak), an operator drill-down
with a score-over-time trend, and auto-detected anomalies — operators below 60
(warning) or 40 (critical), QA drops, and complaint spikes. See
QA scoring.
Building a report from dashboard widgets
In Astervis a "report" isn't a separate screen you fill in — it's a view you compose from widgets. That keeps things consistent: the chart you stare at every morning is the same one you export for the Monday meeting.
Open a dashboard and enter edit mode
Dashboards are role-aware — admins, supervisors, and operators each see a layout scoped to what they're allowed to view. Click Edit to start arranging.
Add the widgets you need
Choose Add widget and pick from the catalog — call volume, operator performance, the hourly heatmap, a key-metrics table, and so on. Group related widgets so the view tells one story (for example: volume, missed calls, and callback rate together for a "are we keeping up?" view).
Set the filters for the whole view
Pick a date range and any operator / position filters. The filters apply to every widget on the view at once, so the numbers stay comparable.
Save the layout
Save it as a dashboard tab. Create a separate tab per audience — an operations tab you check daily, a QA tab for weekly reviews, a sales tab driven by CRM deals. Switching tabs switches reporting focus.
Filtering
Every report respects the same filter controls. Set them once and the whole view follows.
Choose Today, Yesterday, This week, This month, or a custom range. Astervis stores timestamps in UTC and renders them in your configured timezone (default Asia/Tashkent), so the hour buckets line up with your actual working day.
Hourly heatmaps
The hourly-by-weekday report is the one to reach for when the question is "when should people be on shift?" It lays the week out as a grid:
- Rows — hours of the day (0–23)
- Columns — days of the week
- Colour intensity — call volume in that cell
Dark cells are your peaks. Use them to schedule coverage where the calls actually are, to set realistic answer-time expectations during the rush, and to justify a staffing change with a picture instead of a hunch. Pair it with average wait time over the same range to confirm that your busy hours are also your slow-to-answer hours.
Key-metrics tables
Charts show shape; tables show the exact figures you'll quote. The operator performance table is the workhorse here — one row per operator, the headline numbers in columns:
| Metric | What it means |
|---|---|
| Calls handled | Total calls the operator took in the range |
| Average talk time | Mean conversation length |
| Average wait time | How long that operator's callers waited before answer |
| Missed / callback rate | Share of calls missed, and the share later returned |
| QA score | Average rubric score, when AI/QA is enabled |
Analytics widgets show numeric values only — never currency symbols or codes,
including the sales widgets fed from CRM deals. A figure like 1 250 000 is the raw
number; interpret the unit in the context of your own data.
Exporting
When a report needs to leave the screen — for a meeting, a spreadsheet model, or an archive — export it. Astervis exports to Excel and CSV.
Open the report or the raw CDR view
Exports run from a widget or from the raw CDR view, against whatever filters are currently applied.
Choose a format
Pick Excel for a formatted .xlsx you can open and pivot, or CSV for a
plain file to feed into another tool.
Download
The file downloads with the full result set for the selected filters — not just the
rows visible on screen. The CDR export is served from /api/cdr/export.
Exports include every row matching your filters, not only the page you're looking at. If you want a smaller file, tighten the date range or add a filter before exporting rather than after.
Scheduled email reports
If the same report goes to the same people every Monday, schedule it instead of remembering to send it.
Open the scheduled reports settings
Go to Settings → Scheduled reports and choose Add report.
Pick the report and its filters
Select the report type and the filters that should be baked in — a date range that rolls (this week, this month), an operator or position scope, and so on.
Set the cadence and recipients
Choose daily, weekly, or monthly delivery, and add the email recipients who should receive it. Reports are delivered as Excel attachments.
Save
The schedule runs on the on-prem queue — the same worker that handles AI jobs — so it keeps firing even when no one is logged in.
Prefer a push channel over email for time-sensitive signals? AI insights (Operator Coach, Anomaly Watch, Theme Discovery, Team Pulse) can be delivered to Telegram as they're generated. That complements scheduled reports rather than replacing them — see Agents & insights.
Reports from CRM deals
When the Bitrix24 or amoCRM integration is connected, your closed deals flow into the same analytics store as your calls. That unlocks a sales-focused set of widgets you can drop onto a dashboard tab right alongside the call reports — so you can read activity and outcome on one screen.
| Report | What it shows |
|---|---|
| Deals count | How many deals closed in the range, with a detail drill-down |
| Average sale price | Mean deal value across the period |
| Sale-items detail | The individual line items behind those deals |
| Top incoming numbers | Which inbound numbers are tied to the most sales |
Because deals and calls share filters, the most useful sales views combine both: put top incoming numbers next to calls by operator to see who is turning calls into revenue, or average sale price next to call volume to watch whether a busier week is actually a better week.
Tips for better reporting
A few habits make the difference between data you glance at and reports people act on:
- Lead with comparison. A trend ("down 18% week over week") is more actionable than an absolute. Turn on period comparison for any recurring review.
- Build a tab per audience. An operations tab for the daily standup, a QA tab for weekly coaching, a sales tab for the revenue conversation. Don't try to make one dashboard serve everyone.
- Filter deliberately. Each filter you add narrows the picture — too many and you hide the very pattern you were hunting.
- Schedule the recurring ones. If a report goes out every week, let the scheduler send it. Save your attention for the days the numbers look strange.
- Set a baseline. Know what "normal" looks like for your team, so an anomaly actually stands out when it appears.
Dashboards
The widgets reports are built from, and how layouts work.
QA scoring & rubrics
Where QA score, sentiment, and category numbers come from.
AI assistant
Ask analytics questions in plain language instead of building a widget.
Integrations
Connect Bitrix24 or amoCRM to unlock sales reports from deals.
Last updated on