- Приложение для Битрикс24 "Лаборатория роботов"
- Приложение для Битрикс24 "Сквозная аналитика 2.0"
- Приложение для Битрикс24 "Уничтожитель дубликатов"
- Приложение для Битрикс24 "Межпортальные задачи"
- Приложение для Битрикс24 "Немой чат-бот"
- Приложение для Битрикс24 "Доходы и расходы CRM"
- Приложение для Битрикс24 "Продуктивный Jivosite"
Поиск звонков в сущности
- Поиск всех звонков, связанных с конкретной сущностью CRM (контакт, компания, лид);
- Фильтрация звонков по типу (входящий/исходящий), длительности и статусу;
- Поиск звонков за определённый период времени;
- Поиск звонков по номеру телефона клиента или оператора;
- Проверка наличия звонка с определёнными параметрами по ID звонка;
- Поиск звонков в контактах, привязанных к сделке;
- Поиск звонков в компании, привязанной к сделке;
- Аналитика и отчётность по звонкам клиентов;
- Автоматизация процессов на основе истории звонков;
- Проверка условий выполнения звонков для условной логики в бизнес-процессах.
- Активити (робот) поддерживает два режима работы: поиск по ID звонка (проверка условий) и поиск звонков в сущности по фильтрам;
- Если указан ID звонка, активити (робот) проверяет соответствие звонка указанным условиям (тип, длительность, статус);
- Если ID звонка не указан, активити (робот) ищет звонки в указанной сущности по заданным фильтрам;
- Поддерживается поиск звонков в контактах и компаниях, привязанных к сделке;
- Результаты возвращаются в виде массива ID звонков и массива ID дел (CRM_ACTIVITY_ID), связанных со звонками;
- Активити (робот) работает через телефонный REST API (voximplant.statistic.get), поэтому находит только фактически совершенные звонки, а не дела типа "звонок";
- Поддерживается обработка больших объёмов данных (более 50 звонков) через batch-запросы.
| Название поля | Описание и примеры использования |
|---|---|
| ID звонка (если заполнено, то ID сущности не учитывается) | В данном поле указывается идентификатор звонка для проверки его параметров. Это необязательный параметр, но если он указан, то другие параметры поиска (тип сущности, ID сущности и фильтры) не учитываются. Активити (робот) проверит соответствие звонка указанным условиям (тип звонка, длительность, статус). Важно: Если указан ID звонка, активити (робот) работает в режиме проверки условий. Параметры "Тип сущности", "ID Сущности" и все фильтры игнорируются. Результат будет возвращён в параметре conditions (Y - соответствует условиям, N - не соответствует). Примеры: - {=Variable:CALL_ID} - проверить звонок с ID из переменной предыдущего активити (робота); - 12345 - проверить звонок с ID 12345; - {=A1988_22222_92566_99999:calls_array} - использовать ID звонка из результата предыдущего поиска. Режим проверки условий: При указании ID звонка активити (робот) проверяет соответствие звонка указанным условиям: - Тип звонка (если указан); - Длительность звонка (если указана); - Статус звонка (если указан). Если все указанные условия выполнены, возвращается conditions = Y, иначе conditions = N. |
| Тип сущности | В данном поле указывается тип сущности CRM, в которой будет осуществлён поиск звонков. Это необязательный параметр, используется только если не указан "ID звонка". Выбирается из выпадающего списка. Варианты выбора: - LEAD - Лид; - DEAL - Сделка (с ограничениями, см. важное примечание); - CONTACT - Контакт; - COMPANY - Компания; - СМАРТ: [название смарт-процесса] - для поиска звонков в смарт-процессах (список формируется автоматически на основе настроек вашего портала). Примеры: - CONTACT - искать звонки в контактах; - COMPANY - искать звонки в компаниях; - LEAD - искать звонки в лидах.
Важно: Из-за архитектуры Битрикс24, данное активити (робот) не осуществляет поиск звонков напрямую в сделках, так как через REST-API связи сделки и звонка нет. Существует связь между делом типа "звонок" и сделкой, но не существует связи между фактически совершенным звонком и сделкой из-за отсутствия номера телефона у сделки. Для поиска звонков, связанных со сделкой, используйте параметры "Искать звонки, в контактах, привязанных к Сделке" или "Искать звонки, в компании, привязанной к Сделке". |
| Искать звонки, в контактах, привязанных к Сделке | В данном поле можно указать, нужно ли искать звонки в контактах, привязанных к сделке. Это необязательный параметр (варианты: да/нет), используется только если указан тип сущности "DEAL" (Сделка). Варианты выбора: - Да (Y) - искать звонки во всех контактах, привязанных к указанной сделке; - Нет (N) - не искать звонки в контактах сделки. Примеры использования: - Установите "Да" для поиска всех звонков, связанных с контактами сделки; - Используйте вместе с параметром "Искать звонки, в компании, привязанной к Сделке" для комплексного поиска.
Важно: Этот параметр работает только при указании типа сущности "DEAL" (Сделка). Если указан "ID звонка", этот параметр игнорируется. Хотя бы один из параметров "Искать звонки, в контактах, привязанных к Сделке" или "Искать звонки, в компании, привязанной к Сделке" должен быть установлен в "Да" при работе со сделками. |
| Искать звонки, в компании, привязанной к Сделке | В данном поле можно указать, нужно ли искать звонки в компании, привязанной к сделке. Это необязательный параметр (варианты: да/нет), используется только если указан тип сущности "DEAL" (Сделка). Варианты выбора: - Да (Y) - искать звонки в компании, привязанной к указанной сделке; - Нет (N) - не искать звонки в компании сделки. Примеры использования: - Установите "Да" для поиска звонков, связанных с компанией сделки; - Используйте вместе с параметром "Искать звонки, в контактах, привязанных к Сделке" для комплексного поиска.
Важно: Этот параметр работает только при указании типа сущности "DEAL" (Сделка). Если указан "ID звонка", этот параметр игнорируется. Хотя бы один из параметров "Искать звонки, в контактах, привязанных к Сделке" или "Искать звонки, в компании, привязанной к Сделке" должен быть установлен в "Да" при работе со сделками. |
| ID Сущности | В данном поле указывается идентификатор сущности CRM, в которой будет осуществлён поиск звонков. Это необязательный параметр, используется только если не указан "ID звонка". Примеры: - {=Document:ID} - искать звонки в текущей сущности из документа (контакт, компания, лид); - 123 - искать звонки в сущности с ID 123; - {=Variable:CONTACT_ID} - использовать ID из переменной предыдущего активити (робота); - {=A1988_22222_92566_99999:search_results} - использовать ID из результата поиска (первый элемент массива); - {=Iterator:Value} - использовать ID для каждого элемента в итераторе. Особенности работы: - Если указан ID сущности без указания ID звонка, активити (робот) вернёт массив ID найденных звонков; - Если указан ID сущности и ID звонка, ID сущности игнорируется (приоритет у ID звонка); - Для сделок используйте параметры поиска в контактах или компании сделки.
Важно: Этот параметр используется только если не указан "ID звонка". Если указан "ID звонка", то этот параметр игнорируется. Для работы этого параметра также рекомендуется указать "Тип сущности". |
| ID ответившего (звонящего) оператора | В данном поле можно указать идентификатор оператора (пользователя портала), который отвечал на звонок или производил звонок. Это необязательный параметр, используется как дополнительный фильтр при поиске звонков. Примеры: - {=Document:ASSIGNED_BY_ID} - искать звонки оператора, ответственного за текущую сущность; - {=User:ID} - искать звонки текущего пользователя; - 25 - искать звонки оператора с ID 25; - [U1] - искать звонки оператора с ID 1 (формат с префиксом); - user_25 - искать звонки оператора с ID 25 (формат user_ID). Когда использовать: - Для фильтрации звонков конкретного оператора; - Для анализа работы конкретного сотрудника; - Для поиска звонков, выполненных определённым пользователем. |
| Номер на который поступил звонок | В данном поле можно указать номер телефона портала, на который поступил звонок. Это необязательный параметр, используется как дополнительный фильтр при поиске звонков. Примеры: - +78124243277 - искать звонки на номер +7 (812) 424-32-77; - 8124243277 - искать звонки на номер без префикса; - {=Variable:PORTAL_NUMBER} - использовать номер из переменной предыдущего активити (робота). Когда использовать: - Для фильтрации звонков по номеру портала; - Для поиска звонков на конкретную линию; - Для анализа звонков на определённые номера. |
| Номер клиента на который звонили | В данном поле можно указать номер телефона клиента, на который происходил звонок или с которого поступил звонок. Это необязательный параметр, используется как дополнительный фильтр при поиске звонков. Примеры: - +79161234567 - искать звонки на номер клиента +7 (916) 123-45-67; - 89161234567 - искать звонки на номер без префикса; - {=Document:PHONE} - использовать номер телефона из текущей сущности; - {=Variable:CLIENT_PHONE} - использовать номер из переменной предыдущего активити (робота). Когда использовать: - Для поиска звонков конкретного клиента; - Для фильтрации звонков по номеру телефона; - Для анализа истории звонков с определённым номером. |
| Тип звонка | В данном поле можно указать тип искомого звонка: входящий или исходящий. Это необязательный параметр, используется как дополнительный фильтр при поиске звонков или для проверки условий при указании ID звонка. Варианты выбора: - ИСХ (1) - исходящий звонок (звонок от оператора клиенту); - ВХ (2) - входящий звонок (звонок от клиента оператору). Примеры использования: - ИСХ - найти только исходящие звонки; - ВХ - найти только входящие звонки; - При указании ID звонка - проверить, соответствует ли тип звонка указанному значению. Когда использовать: - Для фильтрации звонков по типу (входящие/исходящие); - Для анализа активности операторов (исходящие звонки); - Для анализа входящей активности клиентов (входящие звонки). |
| Длительность звонка в секундах | В данном поле можно указать минимальную длительность звонка в секундах. Это необязательный параметр, используется как дополнительный фильтр при поиске звонков или для проверки условий при указании ID звонка. Примеры: - 60 - найти звонки длительностью не менее 60 секунд (1 минута); - 300 - найти звонки длительностью не менее 300 секунд (5 минут); - {=Variable:MIN_DURATION} - использовать значение из переменной предыдущего активити (робота); - При указании ID звонка - проверить, соответствует ли длительность звонка указанному значению (точное совпадение). Особенности работы: - При поиске звонков: фильтр работает как "больше или равно" (>=), т.е. найдутся звонки с длительностью >= указанного значения; - При проверке по ID звонка: проверяется точное совпадение длительности (==). Когда использовать: - Для фильтрации коротких звонков (например, пропущенные или неудачные); - Для поиска длительных звонков (например, консультации); - Для проверки длительности конкретного звонка. |
| Статус звонка | В данном поле можно указать статус звонка, описывающий его состояние (отвечен, пропущен, отклонён и т.д.). Это необязательный параметр, используется как дополнительный фильтр при поиске звонков или для проверки условий при указании ID звонка. Поддерживается множественный выбор (можно указать несколько статусов). Варианты выбора: - 200 - Успешный звонок; - 304 - Пропущенный звонок; - 603 - Отклонено; - 603-S - Вызов отменен; - 403 - Запрещено; - 404 - Неверный номер; - 486 - Занято; - 484 - Данное направление не доступно; - 480 - Временно не доступен; - 402 - Недостаточно средств на счету; - 423 - Заблокировано. Примеры использования: - 200 - найти только успешные звонки; - 304, 603 - найти пропущенные и отклонённые звонки (множественный выбор); - При указании ID звонка - проверить, соответствует ли статус звонка указанному значению. Когда использовать: - Для фильтрации успешных звонков (статус 200); - Для поиска пропущенных звонков (статус 304); - Для анализа неудачных звонков (различные статусы ошибок); - Для проверки статуса конкретного звонка. |
| Выбрать звонки от указанной даты | В данном поле можно указать дату и время, начиная с которой будет осуществлён поиск звонков. Это необязательный параметр, используется как дополнительный фильтр при поиске звонков. Примеры: - {=System:NowLocal} - искать звонки с текущей даты и времени; - ={{=dateadd({=System:Now}, "-7d")}} - искать звонки за последние 7 дней; - ={{=dateadd({=System:Now}, "-1m")}} - искать звонки за последний месяц; - 01.01.2025 00:00:00 - искать звонки с указанной даты; - {=Variable:START_DATE} - использовать дату из переменной предыдущего активити (робота). Когда использовать: - Для поиска звонков за определённый период; - Для анализа звонков за последние дни/месяцы; - Для фильтрации звонков по дате начала. |
| Выбрать звонки до указанной даты | В данном поле можно указать дату и время, до которой будет осуществлён поиск звонков. Это необязательный параметр, используется как дополнительный фильтр при поиске звонков. Примеры: - {=System:NowLocal} - искать звонки до текущей даты и времени; - ={{=dateadd({=System:Now}, "1d")}} - искать звонки до завтрашнего дня; - 31.12.2025 23:59:59 - искать звонки до указанной даты; - {=Variable:END_DATE} - использовать дату из переменной предыдущего активити (робота). Когда использовать: - Для поиска звонков за определённый период (в паре с параметром "Выбрать звонки от указанной даты"); - Для анализа звонков до определённой даты; - Для фильтрации звонков по дате окончания периода поиска. |
| Делать отладочные сообщения в журнал БП | Варианты: да/нет. Позволяет выбрать, нужно ли создавать отладочные сообщения в журнал БП или нет. Это поле нужно использовать только по необходимости из-за большого расхода запросов и уменьшенной скорости срабатывания активити (робота). |
| Запускать от имени | Данное поле необходимо для того, чтобы установить сотрудника, с правами которого выполнять действие данного активити (робота). Если у сотрудника не будет прав на выполнение действия, то активити (робот) не сработает. Рекомендуем выбирать всегда сотрудника с правами администратора системы. |
| Устанавливать текст статуса | Данное поле позволяет включать возможность установки статуса бизнес-процесса. Это необходимо для того, чтобы во время работы активити (робота) информировать пользователя в истории о том, что бизнес-процесс остановился на конкретном шаге. Это особенно важно в момент отладки и выяснения причин неполадок в работе механизма. |
| Текст статуса | В данном поле указывается текстовый вариант статуса, который Вы можете изменять. Используется только при включённом параметре "Устанавливать текст статуса". |
| Ожидать ответа | Данное поле Вами не управляется. Оно необходимо для того, чтобы определить, нужно ли ожидать реакции от нашего активити (робота) после запуска. |
| Период ожидания. Время ожидания ответа от приложения | Указывается в секундах, минутах, часах, днях, но не менее 5 минут и желательно не более 1 часа. Это поле нужно для аварийного завершения активити (робота), и если ответ не получен в течении того количества времени, то активити (робот) завершается. |
| Описание примера | Решение |
|---|---|
| Проверка соответствия звонка условиям по ID | Параметры: ID звонка - {=Variable:CALL_ID}, Тип звонка - ИСХ, Длительность звонка в секундах - 120, Статус звонка - 200. Активити (робот) проверит, соответствует ли звонок указанным условиям. Результат будет возвращён в параметре conditions (Y или N). |
| Поиск всех звонков контакта за последний месяц | Параметры: Тип сущности - CONTACT, ID Сущности - {=Document:ID}, Выбрать звонки от указанной даты - ={{=dateadd({=System:Now}, "-1m")}}, Выбрать звонки до указанной даты - {=System:NowLocal}. Активити (робот) найдёт все звонки контакта за последний месяц. |
| Поиск успешных исходящих звонков компании | Параметры: Тип сущности - COMPANY, ID Сущности - {=Document:COMPANY_ID}, Тип звонка - ИСХ, Статус звонка - 200. Активити (робот) найдёт все успешные исходящие звонки компании. |
| Поиск звонков в контактах сделки | Параметры: Тип сущности - DEAL, ID Сущности - {=Document:ID}, Искать звонки, в контактах, привязанных к Сделке - Да. Активити (робот) найдёт все звонки во всех контактах, привязанных к указанной сделке. |
| Поиск длительных звонков (более 5 минут) | Параметры: Тип сущности - CONTACT, ID Сущности - {=Document:ID}, Длительность звонка в секундах - 300. Активити (робот) найдёт все звонки контакта длительностью не менее 300 секунд (5 минут). |
| Поиск пропущенных входящих звонков | Параметры: Тип сущности - CONTACT, ID Сущности - {=Document:ID}, Тип звонка - ВХ, Статус звонка - 304. Активити (робот) найдёт все пропущенные входящие звонки контакта. |
| Поиск звонков конкретного оператора | Параметры: Тип сущности - CONTACT, ID Сущности - {=Document:ID}, ID ответившего (звонящего) оператора - {=User:ID}. Активити (робот) найдёт все звонки контакта, выполненные текущим пользователем. |
| Поиск звонков по номеру телефона клиента | Параметры: Тип сущности - CONTACT, ID Сущности - {=Document:ID}, Номер клиента на который звонили - {=Document:PHONE}. Активити (робот) найдёт все звонки контакта по указанному номеру телефона. |
| Поиск звонков в компании и контактах сделки | Параметры: Тип сущности - DEAL, ID Сущности - {=Document:ID}, Искать звонки, в контактах, привязанных к Сделке - Да, Искать звонки, в компании, привязанной к Сделке - Да. Активити (робот) найдёт все звонки в контактах и компании, привязанных к сделке. |
| Поиск звонков за рабочий день | Параметры: Тип сущности - CONTACT, ID Сущности - {=Document:ID}, Выбрать звонки от указанной даты - ={{=date('d.m.Y 09:00:00', {=System:Now})}}, Выбрать звонки до указанной даты - ={{=date('d.m.Y 18:00:00', {=System:Now})}}. Активити (робот) найдёт все звонки контакта за текущий рабочий день (с 9:00 до 18:00). |
- Результат поиска (массив ID звонков) для итератора (calls_array) - массив или строка с ID найденных звонков. Если найден один звонок, возвращается одно значение. Если найдено несколько звонков, возвращается строка с ID, разделёнными запятыми (например, "12345, 67890, 11111"). Используется для итерации по результатам в бизнес-процессе.
- Результат поиска (массив ID дел) для итератора (search_results_entitys) - массив ID дел (CRM_ACTIVITY_ID), связанных со найденными звонками. Каждый звонок может быть связан с делом в CRM. Используется для получения ID дел, связанных со звонками.
- Количество найденных элементов (count_search) - числовое значение, указывающее количество найденных звонков. Используется для проверки наличия звонков и для аналитики.
- Соответствует условиям (conditions) - строка, указывающая результат проверки или поиска. Возможные значения: Y (найдены звонки или условия выполнены) или N (звонки не найдены или условия не выполнены). Используется в условиях для проверки успешности поиска или соответствия условий.
Особенности возвращаемых параметров:
- При указании ID звонка: возвращается только параметр conditions (Y или N), другие параметры не заполняются;
- При поиске звонков: возвращаются все параметры, включая массивы ID звонков и ID дел;
- Если найден один звонок: calls_array содержит одно значение (не массив);
- Если найдено несколько звонков: calls_array содержит строку с ID, разделёнными запятыми.
Два режима работы:
Активити (робот) поддерживает два режима работы:
- Режим 1: Проверка условий по ID звонка (если указан ID звонка) - проверяет соответствие звонка указанным условиям (тип, длительность, статус);
- Режим 2: Поиск звонков в сущности (если не указан ID звонка) - ищет звонки по заданным фильтрам в указанной сущности.
Ограничение по сделкам:
Из-за архитектуры Битрикс24, данное активити (робот) не осуществляет поиск звонков напрямую в сделках, так как через REST-API связи сделки и звонка нет. Существует связь между делом типа "звонок" и сделкой, но не существует связи между фактически совершенным звонком и сделкой из-за отсутствия номера телефона у сделки. Для поиска звонков, связанных со сделкой, используйте параметры "Искать звонки, в контактах, привязанных к Сделке" или "Искать звонки, в компании, привязанной к Сделке".
Поиск дел типа "звонок":
Данное активити (робот) не ищет дела типа "звонок", поиск осуществляется через телефонный REST API (voximplant.statistic.get), соответственно найдётся только фактически совершенный звонок, а не созданное дело "звонок". Если нужно искать дело типа "звонок", то нужно воспользоваться активити (робот) "Поиск дел".
Работа с большими объёмами данных:
Активити (робот) автоматически обрабатывает случаи, когда результатов больше 50 звонков, используя специальную структуру данных (many50). Все звонки будут корректно обработаны и возвращены в результатах.
Проверка условий при указании ID звонка:
При указании ID звонка активити (робот) проверяет соответствие звонка указанным условиям:
- Тип звонка (если указан) - проверяется точное совпадение;
- Длительность звонка (если указана) - проверяется точное совпадение (==);
- Статус звонка (если указан) - проверяется точное совпадение.
Если все указанные условия выполнены, возвращается conditions = Y, иначе conditions = N.
Фильтрация при поиске звонков:
При поиске звонков (без указания ID звонка) все указанные фильтры работают как условия поиска:
- Длительность звонка работает как "больше или равно" (>=);
- Статус звонка может быть указан множественно (несколько статусов);
- Даты работают как диапазон "от и до".
Поиск в контактах и компании сделки:
При работе со сделками хотя бы один из параметров "Искать звонки, в контактах, привязанных к Сделке" или "Искать звонки, в компании, привязанной к Сделке" должен быть установлен в "Да". Если оба параметра установлены в "Нет", активити (робот) завершится с ошибкой.
Права доступа:
Убедитесь, что пользователь, указанный в поле "Запускать от имени", имеет права на просмотр статистики звонков. Рекомендуется использовать пользователя с правами администратора системы.
Обработка результатов:
Если звонки не найдены, параметр conditions будет равен N, а count_search будет равен 0. Всегда проверяйте значение параметра conditions перед использованием результатов в дальнейших шагах бизнес-процесса.
