Feature Overview
This page lists the customer-visible capabilities currently tracked in the Product Feature Catalog. Package availability is a default commercial configuration; your organization may also have role permissions, project settings, or organization-level overrides.
Summary
Section titled “Summary”- Customer-visible features: 63
- Partial or beta features: 5
- See also: Package Feature Matrix
Capabilities By Area
Section titled “Capabilities By Area”Core Pipeline
Section titled “Core Pipeline”| Feature | Status | Packages | What it does |
|---|---|---|---|
| Ingest, Transcribe, Analyze Pipeline | Available | All packages | Core record lifecycle from ingress through transcription, AI analysis, delivery, and side effects. |
| Analysis Verification And Grounding | Available | All packages | Second pass over a finished analysis before it is published: a safety verifier re-reads the transcript on every analysis, and a fact verifier joins it whenever the analysis carries something your CRM will act on — a card field to fill, or an agreement your settings put to work as a follow-up task or as a check that a promised call-back really happened. It keeps the claims whose quote can be located in the transcript (adding the quote and its timestamp as evidence) and withholds the ones that cannot be grounded instead of delivering them. When an analysis carries neither, there is nothing to guard, and the fact pass is skipped rather than spent on grading the wording of the report. A call whose category is ambiguous gets one extra adjudication pass. Free narrative is never rewritten — an ungrounded high-impact statement stays in the analysis with an objection attached to it. What withholds the automatic part — card field updates and follow-up tasks — is an unconfirmed claim that was meant for the CRM (a card field or an agreement), a safety signal, a role conflict or an ambiguous category; an objection to the wording of the report does not withhold it on its own. The report still reaches your CRM either way, carrying a note whenever the automatic part was withheld. On the record screen the state sits as a badge beside the overall score: hovering shows the status and the reasons, clicking opens the individual statements — the wording the verifier objected to and, where the objection rests on a quote, the line from the conversation it was weighed against. The printed PDF always shows that breakdown expanded. Verification is not a setting you can switch off, and the verifier calls that run are charged to the organization budget alongside the analysis itself. |
| Stage-Aware Scoring — Deal Stage, Outcome & Progression | Available | Not included by default | Captures a Bitrix24 deal’s CRM pipeline/stage at analysis time (crm_stage_id/crm_pipeline_id/crm_stage_semantic/crm_stage_source) and grades the call against the scorecard bound to that stage — exact binding first, stage-phase semantic as fallback, category binding when neither matches. The stage phase comes from Bitrix24’s own won/lost marker, else from the phase the customer chose for the stage on the Deal Stages tab, else is guessed from the stage name and stored as a guess (crm_stage_semantic_origin), marked as such on the Objections screen; changing a stage’s phase re-phases the calls already recorded there (their scores are not recalculated). On a recurring schedule it also syncs each linked deal’s outcome (open/won/lost) to drive a deal-outcome funnel (call volume by won/lost, broken down by average quality score) and derives a per-call progression verdict (advanced/held/regressed) from the deal’s stage history, shown as a chip beside the call. Deal-only in v1; a no-op for orgs without a Bitrix24 connection. Opt-in per org (flag default off). The stage badge is hidden on the Bitrix24 embedded surface; re-analysis rehydrates the stored at-call snapshot rather than re-capturing, so a record’s stage always reflects the moment of the call. |
Records
Section titled “Records”| Feature | Status | Packages | What it does |
|---|---|---|---|
| Conversation Records Workspace | Available | All packages | Record list, record detail, audio access, transcript access, uploads, and per-record metadata views. |
| Record Reprocessing Controls | Available | All packages | Cost estimation, re-analysis, media retry, and workflow-triggered record processing controls. |
| Automatic and Manual Analysis Modes | Available | All packages | An organization chooses between two modes. In automatic mode every new record is transcribed and analyzed on arrival. In manual mode records are accepted and listed but wait in awaiting_start without spending minutes, and an owner or admin starts the ones they want — a single record from its card, a selection from the records list, or the accumulated backlog, each with its price shown before the charge; every manual start — a single record, a selection or the backlog batch — re-prices the set on the server and does not start if the price has risen since it was shown (for example the included minutes ran out while the confirmation was open), or if the set now holds more records or more calls with no known duration than were priced, returning the new price instead; the backlog run starts exactly the batch that was shown, so records that arrive after the confirmation opened wait for the next run; if the price cannot be computed (billing unavailable) nothing starts and the reason is named; an organization billed under a contract (postpaid) sees the amount as charged under its contract rather than beyond its plan — one run takes at most 200 records and reports what remains, so a larger backlog is cleared by repeating the run. A manual start overrides both the organization-level gate and a project whose automatic analysis is switched off. New organizations begin in manual mode. CRM bulk import is available only in automatic mode; it does not queue records for a later manual start, so manual-mode organizations must switch to automatic before running one. The mode can be switched from the records-list banner or from organization settings. A paying organization that exhausts its included minutes AND its wallet balance is switched to manual mode by the system itself, with the reason and the moment recorded so the banner can tell an imposed pause from a chosen one; whichever records had already cleared the organization gate and were mid-pipeline when funds ran out land in awaiting_funds — there can be more than one at once, since the balance check applies per record passing through the gate, not just to a single record — while every record arriving after that — the pause’s main, ongoing outcome — is stopped by the organization gate itself and lands in awaiting_start instead. Both start the exact same way as any other pending record — individually, by selection, or through a backlog run under the same 200-record limit. A record that ran out of funds only after it had already been transcribed keeps that transcript: starting it resumes from there instead of transcribing again, and because its minutes were already charged at transcription, it is quoted and charged nothing on that start. If that charge never went through and the call’s duration is known, the call is quoted and charged once on that start — by the duration of the conversation, or by the length of the recording when the conversation was not measured — and never again. When neither length is known, the start does not analyse the saved transcript: the call waits for its recording, like a call that arrived without one. Records that were already sitting in awaiting_funds from before this mode existed are startable the same way too — nothing already stalled there needs a separate fix. Topping up the balance does not clear the pause reason or switch the mode back to automatic by itself — only an explicit mode change from an owner or admin does either (turning automatic mode back on, or resubmitting manual), and until then processing stays manual with the pause still shown as the reason. What the reason SAYS does change once the organization can pay again — whether it topped up, was given bonus minutes, or simply reached a new billing cycle: the banner and the settings screen stop stating a shortage in the present tense and instead explain that the mode was taken automatically and that turning it back on is now the owner’s call. Organization settings show that explanation too, not only the records-list banner: an owner who opens settings directly would otherwise see a manual mode they never chose, with no hint why. A free-tier organization is never switched to manual mode for this: its included-minute grant resets with the calendar month, so running it out is a normal monthly event rather than an imposed pause, and processing resumes on its own once the new cycle starts. |
Analytics
Section titled “Analytics”| Feature | Status | Packages | What it does |
|---|---|---|---|
| Analysis Workspace | Available | All packages | Analysis detail APIs and UI surfaced inside the Conversations screen: per-record analysis panel, quality metric columns and QA/sentiment filters in the records table, and re-analysis trigger. The standalone Analyses screen merged into Conversations (2026-07); /analyses redirects to /records. |
| Acoustic Voice Metrics | Available | All packages | Objective voice-delivery signals for calls — speaking rate (wpm), pauses, pitch variation, and voice stability — computed by the acoustic service from the call audio and surfaced on the record analysis panel. |
| Analytics Dashboards | Available | All packages | Dashboard and analytics pages for call volume, quality, and performance views. |
| Call Statistics | Available | All packages | Call statistics page and API for call volume, trends, durations, and operational call metrics. |
| Missed Calls Analytics | Available | All packages | Missed-call analytics view for call outcomes, follow-up gaps, and operational monitoring. |
| Role-Based Dashboards | Available | All packages | Owner, client, supervisor, and agent dashboards with role-specific KPIs and navigation. |
| Objections by Reason | Available | All packages | The supervisor Quality tab ranks the objection reasons the team most often leaves unhandled. Every objection is sorted into one reason from a closed list of 19 (price, not now, delivery and availability, needs approval, other, and so on), so one reason is counted together however customers phrase it. Counting unit is the conversation. Objections analyzed before the list existed are sorted through a stored mapping of past wordings; the share that could not be recognized is shown on the card, never hidden. Each reason shows how customers put it and a quote of an unhandled one; a reason the team handled in every conversation stays on the list with 0 % unhandled. From the card, the Objections screen shows every objection of a period up to a quarter in two views: market (conversations and share per reason among conversations with a recognized objection, change against the previous period of the same length, customer wordings and quotes; deal stage at the time of the call and deal movement after it only where the CRM data exists for those conversations) and team (unhandled share, average handling score, operators who drop the reason most, from 3 conversations). Each reason shows up to three best-handled conversations with the manager replies that followed, taken from the transcript, and a quote opens its conversation with the quote highlighted. Filters: period, projects, call category. |
| Voice of Customer | Available | Pro, Business, Scale, Enterprise | One section with what customers say across the conversations of a period up to a quarter, split by who acts on it. Sales: the Objections screen. Marketing: competitors named in conversations (merged through the client glossary, the same counts as the Highlights tab), how they were spoken of and in what context; pricing, demand and trend signals; the needs customers named. Product and service: product feedback at every level from incident to praise, and supply and regulation signals. Site and content: customer questions are collected from newly analysed conversations but are not shown on the screen yet; topics are not extracted. On the Marketing and Product and service tabs every row reads “in K of N conversations” with the change against the previous period of the same length, opens to the most recent conversations behind it (up to 20), and says in words when fewer than 5 conversations stand behind it. Counting is by the closed fields of the analysis (feedback level, signal type, sentiment); free-text wordings are shown under each row, not grouped. Export, on the Marketing and Product and service tabs: a CSV of the tab, a printable report of the tab, and a list of customer wordings. A monthly Voice of Customer email summarises the same numbers. Filters: period, projects, call category. |
Review
Section titled “Review”| Feature | Status | Packages | What it does |
|---|---|---|---|
| Analysis Annotations And Reviews | Available | All packages | Human annotations and review status/feedback attached to individual analysis results. |
| Human Review Queue | Beta | Not included by default | Durable queue for CRM automation blocked by analysis verification, with audited approve/reject decisions. |
Integrations
Section titled “Integrations”| Feature | Status | Packages | What it does |
|---|---|---|---|
| Direct Telephony Sources | Available | All packages | Direct source setup and ingestion for providers such as Streamtelecom, Ringostat, and Binotel. |
| Data Source Management | Available | All packages | Settings wizard and source-management API for available sources, active source, setup, connection test, and disconnect flows. |
| CRM Source Reconnect | Available | All packages | One-click rebind of a disconnected Bitrix24 or Uspacy source that is still installed in the portal, restoring the binding without a marketplace reinstall. |
| Hybrid Media Source | Partial | All packages | When a CRM is the record source but its call activity carries no recording file — only a text reference into the recording archive of the telephony operator — a telephony installation can be connected in an audio-only (media_only) role to supply it. A call id read directly out of the CRM activity is tried first; if none resolves, a telephony call index is matched by phone number, call time and duration. The index is fed by the live webhook for every call the operator reports as finished, and by a historical CDR pull for whatever the webhook never saw. An outcome of “nobody picked up” or “line busy” is what lets Aelo stop waiting and close the record with a named reason; so does a match that stays ambiguous after narrowing. Any other unanswered outcome cannot be told apart from one Aelo does not recognize yet, so the recording is still requested until the 24-hour ceiling. |
| Bitrix24 Integration | Available | All packages | Embedded Bitrix24 app, CRM data sync, and delivery paths back into Bitrix24. |
| Bitrix24 Smart Process Setup | Available | All packages | Embedded and organization-level Smart Process setup for storing and delivering analysis results in Bitrix24. |
| Uspacy Integration | Beta | All packages | Uspacy Calls Beta: the portal is connected by installing Aelo from the Uspacy Marketplace, calls arrive through the signed placement flow with their recording link, and the finished analysis comes back into Uspacy as a call note plus one comment on the linked entity. |
| Support Chat Identity | Available | All packages | Identifies a logged-in user to the operator side of the Bitrix24 support-chat widget embedded in the app, instead of the operator seeing an anonymous guest. Edge-api derives a salted hash (SUPPORT_CHAT_SALT) that the widget treats as external authentication, plus the user’s name, email, avatar, and role, and a custom-data block with organization name, subscription tier and status, organization id, and which surface (standalone app vs. Bitrix24 domain) the identity came from. One handler is mounted for both the Clerk-authenticated app and the Bitrix24 embedded session, so a user keeps one support history regardless of which surface they write from. |
| CRM Import | Available | All packages | Bulk CRM import initiation, status, cancellation, history, and workflow trigger support. |
| CRM Fields Metadata Cache | Available | All packages | CRM field metadata cache that powers provider-aware field selection in the inbound routing rule builder. |
| Public Upload API | Available | Starter, Pro, Business, Scale, Enterprise | Programmatic call upload and result retrieval via org-scoped API keys. |
Compliance
Section titled “Compliance”| Feature | Status | Packages | What it does |
|---|---|---|---|
| Customer-Configurable Data Retention | Available | All packages | Organization owner may shorten the retention window to any value from 1 to 365 days, previewed against the real record count before it takes effect; absent means the platform level applies. |
| Incident Management | Available | All packages | Incident CRUD, resolution, and breach-notification workflow tied to records and analyses. |
| Consent Management | Available | All packages | Consent status, grant/withdraw events, embedded consent gate, and organization compliance confirmation. |
| Data Subject Requests | Partial | All packages | DSR request list/create/approve/reject/delete flow, with execution still requiring manual handling. |
| Call Compliance Results | Available | All packages | Per-call AI evaluation of recording disclaimer, TCPA checklist (company identified, purpose stated, opt-out offered), and data-privacy handling, surfaced as an org-level pass-rate on the admin dashboard. |
Automation
Section titled “Automation”| Feature | Status | Packages | What it does |
|---|---|---|---|
| Inbound Routing Rules | Available | All packages | Organization-level JSONLogic rules and fallback settings that route incoming records to the right project. |
| Alerts | Available | All packages | Business and system alert rules, events, and resolution flow. A triggered alert’s recipients are resolved from each org role’s default plus each user’s personal category subscription (RBAC-gated); above an org-configurable severity threshold (critical/high by default) it delivers instantly through the recipient’s own opt-in channels (email, personal Telegram, personal webhook), otherwise it is held for the daily digest. Independently, a project-level team channel — a Telegram group, the org’s own connected Bitrix24 group chat, or an org-configured webhook — can receive a reduced alert summary (rule, severity, call category, record link) with no transcript quote or caller name/phone. |
| AI Assistant | Available | Pro, Business, Scale, Enterprise | Grounded questions and answers about a call, about a CRM deal, lead, contact or company across its calls and chats, or about the analysed calls and chats you can see — narrowed by period, project, agent, type, category or customer — with quotes from the transcripts and playable timecodes. |
| Feature | Status | Packages | What it does |
|---|---|---|---|
| Command Palette | Available | All packages | Keyboard-driven navigation entrypoint in the application sidebar. |
| Dark Mode | Available | All packages | Application theme mode support. |
| What’s New Release Pop-up | Available | All packages | One-time release notice shown at sign-in after a new version ships, in the app and inside the CRM placement. |
| UI Animations | Available | All packages | Motion and transition layer for the application shell. |
Notifications
Section titled “Notifications”| Feature | Status | Packages | What it does |
|---|---|---|---|
| In-App Notifications | Available | All packages | Notification bell and dropdown for user-visible events. |
| Notification Channel Preferences | Available | All packages | Per-user notification channel settings (email, Telegram, webhook) and per-category subscriptions for external delivery. A personal subscription overrides the org’s per-role default; the org’s RBAC matrix still gates which categories a role may see at all. Telegram is connected with a one-click, one-time link to Aelo’s own platform bot — no chat ID or bot token entry. Org admins additionally set per-role category defaults in a role × category matrix. |
Reporting
Section titled “Reporting”| Feature | Status | Packages | What it does |
|---|---|---|---|
| Email Digests | Available | All packages | Scheduled owner/admin/supervisor/agent digest emails backed by queues, templates, and unsubscribe tokens. Includes an alerts section — an aggregate rule/severity/count table for alerts below the instant-delivery severity threshold — shown only to roles whose RBAC-allowed categories include quality_alerts; the table has no per-record detail, so it never carries a caller’s name or phone number. Delivery resolves per person: an organization-wide daily/weekly default (settable by a role holding organization.update; on when never configured) that each member may override for themselves, plus the unsubscribe link every digest carries. The daily digest of a client (the organization) and a supervisor (their own projects) lists up to five objection reasons the team left unhandled the previous local day — reason names and calls unhandled out of calls where it came up, counted by the Objections screen’s code, never a customer quote or wording — with an org-tagged link to that screen on that day; it also gives the share of objections that could not be recognized, as the screen does, so it is absent only when nothing was left unhandled or the count could not be made. |
| Dashboard Highlights | Available | All packages | A Highlights tab on the client and supervisor dashboards that sums up the selected period in plain words: conversations from received to analyzed, the three most frequent issues by scoring metric, conversations without a high or critical attention flag with the flagged list, the average score with the best and lagging agent, conversation topics, serious product complaints and competitor mentions. Competitor names are merged through the organization’s glossary, so the spellings of one brand are counted as one row under the glossary name; a name the glossary knows as something other than a competitor — the customer’s own brand, the platform they service, a supplier, a partner, a colleague, a piece of jargon — is not listed as a competitor at all. A name the glossary does not know keeps its own spelling, is marked as not merged, and under the list the tab shows what share of the names heard that is — a name counts once per conversation — naming up to three of them, including ones too rare to make the list. An organization whose glossary lists no competitor sees neither the mark nor the share: there is nothing to fill in, and names are merged by spelling alone. Supervisors see only their own projects. |
| Dashboard Quality Block | Beta | Not included by default | The first block of the unified dashboard: the average quality score over the scored conversations of the period, how many were scored and how many were not, the change against the previous period of the same length, and the score day by day. Every number opens what it rests on and, wherever the Records list can take its scope, the very conversations it was computed from — a supervisor with no project selected and more than 40 projects is told why instead. Supervisors see their own projects, agents their own conversations. |
| Public Website And Product Docs | Available | All packages | Astro marketing/legal site and Starlight customer-facing documentation under localized docs routes. |
Search
Section titled “Search”| Feature | Status | Packages | What it does |
|---|---|---|---|
| Global Search | Available | All packages | Search API and command-palette/search surfaces for finding product entities from the app shell. Includes search by meaning across calls and chats; how its search vectors are processed and kept is set out in the Privacy Policy and the DPA. |
Coaching
Section titled “Coaching”| Feature | Status | Packages | What it does |
|---|---|---|---|
| Call Quality By Team Member | Available | All packages | Per-team-member call quality scores and trends, the individual agent view, and the APIs behind them. Presentation is a table of scores, not standings: no ranks, no medals. |
| Scripts | Available | All packages | Sales script library, script parsing, project-script assignment, step/phrase management, adherence scoring, and org-level category bindings that auto-select a script per detected call category. |
Settings
Section titled “Settings”| Feature | Status | Packages | What it does |
|---|---|---|---|
| Project Pinned Analysis Config | Available | All packages | Per-project opt-out from org category-bound auto-selection: pin the project’s own prompt profile so every analysis in that project uses it regardless of the detected call category. Scripts have no pin — a project’s own script already outranks the binding (#702, #707). |
| Projects Workspace | Available | All packages | Project list/create/detail/settings, project lifecycle actions, project stats, and project-scoped configuration. |
Billing
Section titled “Billing”| Feature | Status | Packages | What it does |
|---|---|---|---|
| Billing Workspace | Available | All packages | Subscription, usage, credits, and billing controls inside the app. |
| Stripe Subscriptions And Checkout | Available | All packages | Stripe checkout, customer portal, webhooks, subscription status, cancel/reactivate, and embedded billing safeguards. |
| Budgets, Credits, And Usage Charges | Available | All packages | The organization owner (client role) sets a monthly budget limit and sees what remains of it. The limit raises alerts at fixed shares of it (50, 80, 95 and 100 %); a single charge that crosses several shares raises the highest one only. It refuses a bulk CRM import that would cross it, but does not stop ordinary call processing. The owner also buys prepaid credits through Stripe Checkout and can turn on automatic wallet top-ups (Enterprise is billed under its agreement instead). In prepaid mode each processed call or chat is charged against the included minutes first, then bonus minutes, then the wallet; in postpaid billing (Enterprise) calls and chats are charged at their flat rates. Per-minute and per-chat rates are set by Aelo; billing screens do not show customers provider costs or margin. |
| Cost Transparency | Available | All packages | What the organization owner (client role) is charged: wallet balance, the minutes and chats used in the selected period and what they cost, the per-minute and per-chat rates, and a ledger of charges, credits and bonus minutes. On billing screens, provider costs and margin are visible to Aelo only; only the organization owner opens the billing screens (budget alerts with spend and limit also reach administrators). |
| Feature | Status | Packages | What it does |
|---|---|---|---|
| Export | Available | All packages | Export controls for charts, analytics, and customer data views. |
Prompting
Section titled “Prompting”| Feature | Status | Packages | What it does |
|---|---|---|---|
| Prompt Builder | Available | All packages | Prompt profile editor and prompt preview tools. Profiles are organization-scoped; the preview may additionally be scoped to a project, and then it applies exactly what the runtime reads out of that project — the forbidden-word list, the analysis language, the project’s name and description. |
| Project Forbidden Words | Available | All packages | Per-project list of words that must not be said. Every hit keeps the spoken form, the configured entry it matched, the speaker, and the verbatim quote; a sanitizer drops any hit whose word is absent from its quote. Distinct from the agent-uncertainty metric (stored as stopWords), which detects hedging from a list hardwired into the prompt. |
| Custom Call Criteria | Available | All packages | Questions asked of every conversation — did something happen (yes or no), a 0–100 score, or one of your answer options. An answer that points at something in the conversation comes with a verbatim quote. Answers appear in the call panel and the PDF report, filter the call list and feed the Criteria tab of the dashboard. Every plan includes them, up to its criteria limit. Criteria are created and edited in the web app; the embedded Bitrix24 app does not show the Criteria tab yet. |
Access
Section titled “Access”| Feature | Status | Packages | What it does |
|---|---|---|---|
| Team Members And Invitations | Available | All packages | User, team, membership, invitation, role visibility, and invitation-acceptance workflows. |
| Embedded Access Requests | Available | All packages | Bitrix24 embedded-user access request flow and platform/admin approval surfaces. |
| Org-Hierarchy Supervision | Available | All packages | A department head sees the records handled by everyone under them in the imported org tree, in addition to (not instead of) their assigned projects — for the record list, search, and every detail surface (card, transcript, analysis). Subordinates count whether or not they have an Aelo account: employees the import keeps as pending members (no account to link to) are matched by their CRM identity, qualified by the record’s own provider. The head still needs an account, because access is granted to a person. |
Onboarding
Section titled “Onboarding”| Feature | Status | Packages | What it does |
|---|---|---|---|
| SaaS Onboarding Wizard | Available | All packages | SaaS onboarding, quick context collection, compliance setup gate, first-login redirect, and preview flow. |
| Embedded Bitrix24 Onboarding | Available | All packages | Embedded auth/session, install/onboard status, embedded consent gate, Smart Process step, and embedded dashboard entry. |