Setting Up Call Analytics in Bitrix24
Bitrix24 records calls and stores statistics — but without configuration you get only a raw table of dates and durations. Properly configured analytics shows: which managers aren't picking up, how many calls are dropped before being answered, and which numbers are generating quality leads.
Call Data Sources
All telephony data is stored in the tables of the voip module:
-
b_voip_call— every call: type (inbound/outbound), duration, status,CRM_ENTITY_ID,PORTAL_USER_ID,CALL_FAILED_REASON. -
b_voip_call_user— link between calls and employees (who answered, who missed it). -
b_crm_activity— CRM activities, where a call appears as typeACTIVITY_TYPE_CALL(ID = 2).
The standard reports under CRM → Analytics → Calls are built from exactly these tables via Bitrix24's own analytics engine.
What to Configure in Standard Analytics
The "Call Analytics" section (CRM → Analytics → Calls) contains several pre-built dashboards:
- Number of calls by manager and period.
- Missed calls with reason (
CALL_FAILED_REASON:noanswer,busy,congestion). - Average wait time before answer.
- Distribution by number and source.
For analytics to work correctly, the following must be configured:
- Call recording — without it, several metrics are unavailable (conversation duration vs. call duration).
- Number-to-source mapping — set the CRM source for each number in its settings (e.g., "Google Ads"). Analytics will then show ROI per number.
- Business hours — so the system separately counts missed calls during and outside working hours.
Advanced Analytics via BI Connector
Standard reports are limited: no cross-filtering, and call data cannot be combined with deal data in a single chart. The solution is Bitrix24 Business Intelligence (BI Builder, available from the Professional plan).
BI Builder connects directly to b_voip_call via Bitrix24's internal Data Warehouse. You can build dashboards such as:
- Conversion: call → lead → deal.
- Average number of calls until a deal is closed.
- Heatmap of calls by hour of day.
For the on-premise version, data from b_voip_call can be connected to an external BI tool (Power BI, Metabase, DataLens) directly via PostgreSQL/MySQL.
Setting Up Missed Call Notifications
A typical requirement: a manager should receive a missed call summary every 2 hours. Implemented via:
- CRM Robots — trigger "Missed call" → notification to chat or email. But robots are tied to deal stages, not to calls themselves.
-
Business Processes — handler for the
OnVoipCallEndevent filtered byCALL_FAILED_REASON != ''→ notification to the responsible employee and their manager. -
External script — a cron job every 2 hours calls
CRest::call('voip.call.get', ['filter' => ['FAILED' => 'Y', '>DATE_CREATE' => '-2 hours']])and sends a summary to a Bitrix chat viaim.message.add.
| Analytics type | Where configured | Effort |
|---|---|---|
| Standard dashboards | CRM → Analytics | 1–3 h |
| Sources per number | Telephony settings | 1–2 h |
| BI Builder dashboards | Bitrix24 BI Builder | 4–16 h |
| External BI (on-premise) | Direct DB connection | 8–24 h |
| Missed call notifications | Business processes / cron | 2–8 h |

