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:
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: