Месторасположение: Отчёты → Колл-центр → Отчёт о сроках ответа на пропущенный звонок

Отчёт фиксирует пропущенные входящие звонки за выбранный период и показывает, был ли сделан ответный звонок и через какое время. С его помощью руководитель может контролировать скорость обработки пропущенных вызовов и выявлять звонки, оставшиеся без ответа.
#Работа с отчётом
#Фильтры
Период (с — по) — задаёт диапазон для отбора по дате пропущенного звонка. По умолчанию установлен текущий день.
Отбор ведётся по дате пропущенного звонка, а не ответного. Ответный звонок может быть сделан за пределами выбранного периода — строка всё равно попадёт в отчёт.
Нажмите Сформировать, чтобы применить фильтры. Нажмите → XLS, чтобы выгрузить данные в Excel.
#Структура отчёта

(1) ФИО — имя контакта в MacroCRM. Если контакт был создан автоматически при поступлении звонка с незнакомого номера, вместо имени отображается номер телефона в формате «Звонок +7(XXX) XXX-XXXX».
(2) Номер звонившего — телефон, с которого поступил вызов.
(3) Куда звонили — номер линии или шлюза, на который был направлен вызов. Если номер не определён АТС, отображается «none». Значение «CRM» означает, что звонок был обработан через встроенный механизм системы.
(4) Пропущенный звонок — Дата и (5) Время — дата и время пропущенного вызова.
(6) Ответный звонок — Дата и (7) Время — дата и время ответного звонка. Прочерк — если ответный звонок ещё не зафиксирован.
(8) Менеджер/Линия — сотрудник, совершивший ответный звонок. Прочерк — если пропущенный был закрыт автоматически (рассылка, автообзвон) или CRM не смогла сопоставить звонок с пользователем.
В некоторых компаниях телефонные линии зарегистрированы в MacroCRM как отдельные пользователи. В этом случае в столбце «Менеджер/Линия» может отображаться номер линии, а не имя сотрудника.
(9) Через сколько перезвонили? — время от момента пропущенного вызова до ответного, в формате ЧЧ:ММ:СС. Прочерк — если ответного звонка не было.
Строки, у которых столбцы (6)–(9) содержат прочерки, — это пропущенные звонки, на которые ещё не ответили.
#Технический паспорт отчёта
#Условия попадания в отчёт
В отчёт попадают входящие звонки (direction = 'in'), у которых статус unanswered или callbacked, а дата пропущенного звонка входит в выбранный период.
Звонок получает статус callbacked, когда по контакту фиксируется одно из событий: успешный входящий или исходящий звонок; N неуспешных попыток исходящего перезвона (порог задаётся в настройках компании); отправка сообщения контакту через мессенджер или SMS.
Звонки без привязанного контакта (contacts_id IS NULL) статус callbacked не получают — они остаются в отчёте бессрочно с прочерками в столбцах (6)–(9).
#Данные в системе
ФИО (1) и Номер звонившего (2):
Данные хранятся в сущностях звонка и контакта. Для получения в MacroData настройте связь таблиц calls и contacts:
SELECT
contacts.contacts_buy_name,
calls.phone
FROM calls
LEFT JOIN contacts ON calls.contacts_id = contacts.id
WHERE calls.direction = 'in'
AND calls.calls_status IN ('unanswered', 'callbacked')
AND DATE(calls.call_date) BETWEEN DATE('{{start_date}}') AND DATE('{{end_date}}');
{{start_date}}и{{end_date}}— параметры DataLens. При использовании запроса вне DataLens замените их на конкретные значения, например'2026-01-01'.
Куда звонили (3), Пропущенный звонок (4–5) и Ответный звонок (6–7):
Все эти данные хранятся непосредственно в сущности звонка. Для получения в MacroData:
SELECT
calls.gateway_phone,
DATE_FORMAT(calls.call_date, '%d.%m.%Y') AS missed_date,
DATE_FORMAT(calls.call_date, '%H:%i') AS missed_time,
DATE_FORMAT(calls.callback_date, '%d.%m.%Y') AS answered_date,
DATE_FORMAT(calls.callback_date, '%H:%i') AS answered_time
FROM calls
WHERE calls.direction = 'in'
AND calls.calls_status IN ('unanswered', 'callbacked')
AND DATE(calls.call_date) BETWEEN DATE('{{start_date}}') AND DATE('{{end_date}}');
Менеджер/Линия (8):
Имя перезвонившего сотрудника хранится в таблице users. Связь со звонком — через поле callback_users_id. Для получения в MacroData:
SELECT
callback_user.users_name
FROM calls
LEFT JOIN users AS callback_user ON calls.callback_users_id = callback_user.id
WHERE calls.direction = 'in'
AND calls.calls_status IN ('unanswered', 'callbacked')
AND DATE(calls.call_date) BETWEEN DATE('{{start_date}}') AND DATE('{{end_date}}');
#Расчётные данные
Через сколько перезвонили? (9):
Значение вычисляется как разница между callback_date и call_date. Для получения в MacroData:
SELECT
TIMEDIFF(calls.callback_date, calls.call_date) AS callback_interval
FROM calls
WHERE calls.direction = 'in'
AND calls.calls_status IN ('unanswered', 'callbacked')
AND DATE(calls.call_date) BETWEEN DATE('{{start_date}}') AND DATE('{{end_date}}');
При callback_date IS NULL результат равен NULL — в отчёте отображается прочерком.