Расширяйте возможности – покупайте наши разработки!

Интеграция 3CX с Битрикс24

Интеграция 3CX с Битрикс 24 с прослушиванием записей разговоров и речевой аналитикой

Наша компания предлагает модуль расширенной интеграции АТС 3CX с Битрикс 24 собственной разработки. Модуль работает на стороне сервера. В нем можно выделить 3-и составные части:

  • Журналирование звонков и открытие/создание карточки лида/контакта при входящем вызове
  • Управление входящей маршрутизацией на АТС 3CX на основе данных, заданных в Битрикс 24
  • Прилипание звонка к последнему сотруднику на непродолжительное время

В стоимость модуля входят работы по его внедрению и консультации по его использованию. Купив модуль, вы получаете полностью работающее решение.

Наш модуль может использоваться как базовая платформа для интеграции 3CX с другими CRM-системами. За дополнительную оплату возможна адаптация модуля под работу с другими CRM.

Наше журналирование звонков имеет целый ряд преимуществ перед серверной интеграцией от 3CX. Так все журналирование ведется от имени того сотрудника (веб-хука), который участвовал в разговоре. Для сравнения: интеграция от 3CX все изменения в Битриксе делает от имени одного и того же веб-хука, что делает невозможным статистическую обработку данных и крайне неудобным считывание информации о принадлежности звонка.

Интеграция передает в Битрикс 24 файлы записи разговоров в формате mp3. Записи можно прослушивать непосредственно из карточки контакта/компании/лида. Файлы с разговорами хранятся как на АТС 3CX, так и в Битриксе. Старые записи разговоров по ночам автоматически удаляются с диска Битрикса. Пользователь может сам определить время хранения записей в Битриксе.

Кроме mp3-файла в карточку разговора загружается текстовая версия разговора. Если полный текст разговора слишком большой (что такое большой текст определяется в настройках интеграции), то текст заменяется на краткое резюме. Описанная речевая аналитика работает через сервисы Яндекса. Опция требует дополнительной оплаты помимо базовой стоимости интеграции, а также регулярной оплаты сервисов Яндекса.

Если по номеру телефона лид/контакт не найден в базе Bitrix24, то может создаваться новый лид. Лид создается в момент поступления звонка и привязывается к "фейковому" (несуществующему) сотруднику. И только после завершения первого разговора лид будет привязан к сотруднику, который первым пообщался с новым клиентом. Это удобно, т.к. карточка нового лида создается всегда, даже если новый клиент не дождался ответа (в отличии от штатной интеграции), и, таким образом, в Битриксе будут отображены все новые звонки.

В карточке нового лида наша интеграция прописывает город (регион) из которого поступил вызов и часовой пояс позвонившего. Геолокация работает как для звонков с городских телефонов, так и с мобильных.

При журналировании завершенных звонков в Битрикс 24 прописывается следующая информация: время начала и окончания разговора; продолжительность разговора (минуты, секунды); для входящих – название транка, на который поступил вызов; для исходящих – префикс, через который был совершен вызов, если таковой использовался. И главное – звонок привязывается к сотруднику, который вел разговор. Штатная же интеграция из всего перечисленного прописывает только временные рамки разговора.

Пропущенные входящие вызовы помечаются как невыполненные и видны в списке напоминаний Битрикса. Если звонок поступил на очередь и был пропущен, то он привязывается к "фейковому" (несуществующему) сотруднику или к начальнику отдела и не отображается в списке пропущенных вызовов каждого отдельного оператора, на которого распределялся вызов. Информация о таком пропущенном звонке будет присутствовать в базе Битрикса в единственном экземпляре. Также наша интеграция фиксирует звонки, пропущенные на уровне IVR. Для сравнения: штатная клиентская интеграция создавала информацию о пропущенном вызове для каждого оператора (причем, несколько раз, если звонок приходил на оператора несколько раз), а штатная серверная интеграция вообще не создает информацию о пропущенном вызове, если звонок пришел в очередь.

Ниже на скриншоте смотрите результат журналирования вызовов нашим модулем.

Следующая возможность модуля – входящая маршрутизация, которая, если кратко, работает так: наш модуль по номеру позвонившего находит сущность в базе Битрикс 24 (контакт, компания, лид) и направляет входящий звонок на добавочный номер закрепленного менеджера, заданного в свойствах найденной сущности.

В базе Битрикс 24 можно гибко управлять особенностями входящей маршрутизации. В карточке сущности (контакт, компания, лид) можно отдельно задать менеджера, на которого будет переводиться звонок. Если такой менеджер не задан, то звонок уйдет на ответственного менеджера (обязательное постоянное поле). Таким образом, ответственный менеджер и менеджер, на которого уходит звонок, могут отличаться. Как вариант, вы можете создать фиктивного менеджера и его добавочный определить, например, как номер очереди на АТС. Если такого менеджера в какой-то сущности сделать ответственным за звонки, то звонки, пришедшие с номеров такой сущности, будут уходить на очередь – ведь не во всех случаях звонок нужно уводить на добавочный номер конкретного менеджера.

Можно назначить временного менеджера по звонкам и задать для него дату и время. До наступления такого временного рубежа звонки будут уходить на временного менеджера, а после – по обычному алгоритму выбора менеджера. При этом, если у пользователей системы разные часовые пояса, то такая ситуация отрабатывается корректно.

Когда истекает срок перевода звонков на временного менеджера, 3CX автоматически удаляет из Битрикс данные о временном менеджере и отправляет письмо восстановленному и временному менеджерам о смене переадресации.

Если звонок в базе найден, и для него определен добавочный номер закрепленного менеджера, то АТС вначале может проиграть звуковой файл. Содержание такого файла определяет заказчик. Внутри звукового приветствия можно сделать озвучивание имени и фамилии сотрудника, на которого будет переведен звонок (для этого используется движок TTS Google).

Пока играет звуковой файл, позвонивший может сделать донабор добавочного номера, и тогда вызов уйдет на такой добавочный (т.е. настройки адресации из Битрикса будут проигнорированы). Если позвонивший не вводит добавочный или вводит некорректный (несуществующий) добавочный, то вызов уходит согласно настройкам Битрикса (т.е. к закрепленному менеджеру).

В Битриксе можно отказаться от такой логики, задав в свойствах любой сущности опцию «Прямой звонок». Тогда вызов с номера такой сущности сразу напрямую, без каких-либо голосовых уведомлений, пойдет на добавочный номер прикрепленного менеджера.

Наш модуль номер позвонившего вначале ищет в секции контактов, если не находит там, то в секции компаний, и уже в самую последнюю очередь – в секции лидов.

Корректно отрабатываются ситуации, когда в рамках одной секции находится несколько сущностей, соответствующих номеру позвонившего. Если все найденные сущности (в рамках одной секции) имеют одного и того же закрепленного менеджера, то звонок уйдет на него. Если у найденных сущностей менеджеры отличаются, то звонок уйдет на направление по умолчанию. Аналогично ведет себя опция «Прямой звонок». Она будет учтена только в том случае, если у всех найденных сущностей эта опция будет активной.

Если в Bitrix24 по входящему звонку не было найдено ни одной сущности, то направлений по умолчанию (куда поступит звонок) может быть несколько, в зависимости от входящего правила, через которое поступил звонок.

Т.к. модуль анализирует все сущности, найденные по номеру позвонившего, то в общем случае (когда находится несколько десятков сущностей) суммарный поиск по базе Битрикса может оказаться слишком долгим. Чтоб позвонивший не оказался в ситуации долгого ожидания (при этом он слышит тишину), в модуле предусмотрен контроль времени суммарного поиска. Если это время выходит за разумную границу (ее в параметрах определяет администратор), то поиск прекращается, и звонок уходит на направление по умолчанию. Тоже самое произойдет, если ваш Битрикс вдруг стал недоступен. По опыту, когда Битрикс 24 работает в облаке, поиск закрепленного менеджера занимает от 0,5 до 1,5 секунды. Поэтому лимит на поиск обычно выставляется в 2,5-3 секунды.

Наш модуль интеграции производит полноценную синхронизацию между базой контактов/компаний/лидов Битрикс 24 и адресной книгой 3CX. В момент завершения любого вызова модуль интеграции данные из Битрикс 24, которые соответствуют завершенному звонку, переносит (обновляет) в адресную книгу 3CX. Наша синхронизация лишена недостатков штатной синхронизации 3СХ: в штатной синхронизации в адресную книгу переносятся не все телефоны, и в некоторых случаях обновление телефонов производится некорректно.

По желанию заказчика логика определения добавочного номера, на который переводится звонок в зависимости от номера позвонившего, может быть любой. Выше описана стандартная логика, и в рамках этой логики определена стоимость нашего модуля. Мы готовы реализовать любые пожелания заказчика в плане логики определения закрепленного менеджера, и каким образом и при каких дополнительных условиях на него будет переведен звонок. Также может быть изменена логика обработки DTMF-ввода, который осуществляет позвонивший (опция «Прямой звонок» неактивна»).

Все индивидуальные пожелания заказчика оплачиваются дополнительно. Цена определяется из оценки сложности индивидуальной задачи.

Наш модуль имеет еще одну опцию: автоматическое прилипание звонка на непродолжительное время. Когда входящий звонок по правилам, заданным в базе Битрикса, попадает на нужного менеджера, далее этот звонок может быть переведен менеджером на другого сотрудника. Либо другой сотрудник может сам позвонить клиенту. Таким образом, последний, кто общался с клиентом, или пробовал позвонить ему, может отличаться от текущего менеджера по звонкам. Если через непродолжительное время клиент перезванивает, то скорее всего он хочет продолжить общение с тем, с кем говорил (или пытался поговорить) последним, а не с менеджером по звонкам. В этом случае опция прилипания звонка позволит соединить клиента с тем, с кем он разговаривал (или пытался поговорить) недавно: вызовы от клиента временно, и что важно, автоматически «прилипают» к такому сотруднику. В базе Битрикса для каждого сотрудника можно задать его индивидуальное время прилипания, а можно указать, что к данному сотруднику звонки не «прилипают» никогда. Также можно отключить прилипание звонка на уровне каждой отдельной сущности CRM.

В карточке контакта (компании, лида) зона управления входящей маршрутизацией выглядит следующим образом:

За расчетом стоимости модуля обращайтесь в нашу компанию.

3CX integration with Bitrix24 with call recordings listening and speech analytics

Our company offers a module for advanced integration of PBX 3CX with Bitrix24 of its own design. The module works on the server side. It can be divided into 3 components:

  • Call logging and opening/creating a lead/contact card on an incoming call.
  • Management of incoming routing to PBX 3CX based on the data specified in Bitrix24.
  • Sticking a call to the last employee for a short time.

The cost of the module includes work on its implementation. By purchasing the module, you get a fully working solution.

Our call logging has a number of advantages over 3CX server integration. So all logging is done on behalf of the employee (webhook) who participated in the conversation. For comparison: integration from 3CX makes all changes in Bitrix24 on behalf of the same web hook, which makes statistical data processing impossible and extremely inconvenient to read information about call ownership.

Integration sends conversation recording files in mp3 format to Bitrix24. Recordings can be listened to directly from the contact/company/lead card. Conversation files are stored both on 3CX PBX and Bitrix24. Old recordings of conversations at night are automatically deleted from the Bitrix24 disk. The user can determine the time for storing records in Bitrix24. You can refuse to transfer the recordings of conversations to Bitrix24. Then a link to download the recording will be written in the call file.

If the lead/contact is not found in the Bitrix24 database, a new lead can be created. The lead is created at the time of the call and is attached to the "fake" (non-existent) employee. And only after the first conversation is over, the lead will be tied to the employee who first talked to the new client. This is convenient, because a new lead card is always created, even if the new client did not wait for a response (unlike regular integration), and thus all new calls will be displayed in Bitrix24.

When logging completed calls, Bitrix24 records the following information: start and end time of the call; call duration (minutes, seconds); for incoming - the name of the trunk on which the call was received; for outgoing, the prefix through which the call was made, if one was used. And most importantly - the call is tied to the employee who led the conversation.

Missed incoming calls are marked as failed and are visible in the Bitrix24 reminder list. If a call arrived at the queue and was missed, then it is attached to a "fake" (non-existent) employee or to the head of the department and is not displayed in the list of missed calls of each individual operator to whom the call was distributed. Information about such a missed call will be present in the Bitrix24 database in a single copy. Also, our integration captures missed calls at the IVR level. For comparison: regular client integration created information about a missed call for each operator (moreover, several times if the call came to the operator several times), and regular server integration does not create information about a missed call at all if the call came to the queue.

Below in the screenshot, see the result of call logging by our module.

The next feature of the module is incoming routing, which, in short, works like this: our module finds an entity in the Bitrix24 database (contact, company, lead) by the number of the caller and directs the incoming call to the extension number of the assigned manager specified in the properties of the found entity.

In the Bitrix24 database, you can flexibly manage the features of incoming routing. In the entity card (contact, company, lead), you can separately specify the manager to whom the call will be transferred. If such a manager is not set, then the call will go to the responsible manager (mandatory constant field). Thus, the responsible manager and the manager to whom the call goes may differ. Alternatively, you can create a fictitious manager and define its extension, for example, as the queue number at the PBX. If such a manager is made responsible for calls in some entity, then calls coming from the numbers of such an entity will go to the queue - after all, not in all cases the call needs to be directed to the extension number of a specific manager.

You can assign a temporary call manager and set the date and time for him. Before such a time limit, calls will go to a temporary manager, and after - according to the usual algorithm for choosing a manager.

When the term for transferring calls to a temporary manager expires, 3CX automatically deletes data about the temporary manager from Bitrix24 and sends a letter to the restored and temporary manager about changing the forwarding.

If a call is found in the database, and the extension number of the assigned manager is defined for it, then the PBX can first play an audio file. The content of such a file is determined by the customer. Inside the audio greeting, you can voice the name and surname of the employee to whom the call will be transferred (for this, the Google TTS engine is used).

While the sound file is playing, the caller can make an additional dialing of an extension number, and then the call will go to such an extension (i.e., addressing settings from Bitrix24 will be ignored). If the caller does not enter an extension or enters an incorrect (non-existent) extension, then the call leaves according to the Bitrix24 settings (i.e., to the assigned manager).

In Bitrix24, you can opt out of the logic described above by setting the "Direct call" option in the properties of any entity. Then the call from the number of such an entity will immediately go directly, without any voice notifications, to the extension number of the assigned manager.

Our module first searches for the caller's number in the contacts section, if it does not find it there, then in the companies’ section, and lastly looks in the leads section.

Situations are handled correctly when there are several entities within one section that correspond to the caller's number. If all found entities (within the same section) have the same fixed manager, then the call will go to him. If the found entities have different managers, then the call will go to the default direction. The "Direct call" option behaves similarly. It will be taken into account only if all found entities have this option active.

If no entities were found in Bitrix24 for an incoming call, then there may be several default directions (where the call will go), depending on the incoming rule through which the call came.

Because the module analyzes all entities found by the caller number, then in the general case (when there are several dozen entities), the total search in the Bitrix24 database may be too long. So that the caller does not end up in a situation of long waiting, the module provides control over the total search time. If this time goes beyond a reasonable limit (it is defined in the parameters by the administrator), then the search stops and the call goes to the default direction. The same thing will happen if your Bitrix24 suddenly becomes unavailable. From experience, when Bitrix24 works in the cloud, the search for an assigned manager takes from 0.5 to 1.5 seconds. Therefore, the search limit is usually set at 2.5-3 seconds.

Our integration module performs full synchronization between the Bitrix24 contacts/companies/leads database and the 3CX address book. At the moment of completion of any call, the integration module transfers (updates) the data from Bitrix24 that correspond to the completed call to the 3CX address book. Our synchronization is free from the disadvantages of standard 3CX synchronization: in standard synchronization, not all phones are transferred to the address book, and in some cases, phones are updated incorrectly.

Our module has one more option: automatic call sticking for a short time. When an incoming call, according to the rules set in the Bitrix24 database, reaches the right manager, then this call can be transferred by the manager to another employee. Or another employee can call the client himself. Thus, the last person who spoke with the client, or tried to call him, may be different from the current call manager. If after a short time the client calls back, then most likely he wants to continue communication with the one with whom he spoke (or tried to talk) last, and not with the call manager. In this case, the call sticking option will allow you to connect the client with the one with whom he talked (or tried to talk) recently: calls from the client are temporarily, and importantly, automatically stick to such an employee. In the Bitrix24 database, for each employee, you can set his individual sticking time, or you can specify that calls never stick to this employee. You can also disable call sticking at the level of each individual CRM entity.

In the contact (company, lead) card, the incoming routing control area looks like this: