Bitrix24 integration with external systems

How to set the stage for integration and bring the project to a successful close

It has been 8 years now that we have been working with Bitrix24. During this time, we have seen various requests: to integrate telephony, ERP-systems, external accounting systems, and many others. For sure, as for any experienced developer, the more complex the task, the better for us. Nevertheless, we never stop saying that sometimes even the most complex queries can be solved in two steps, not in ten.

How is that possible? Let's puzzle it out. In this article, we share what it means to integrate two systems, how we approach the process, and what the customer needs to prepare himself for to make sure our interaction is as profitable and effective for both parties as possible. 

Getting ready for integration

treasure-map-1850653_1920 (1).jpg

Research on potential compatibility

We always advocate for saving resources — both ours and the customer's. Therefore, first of all, we look for a ready-made solution that can cover the client's need by simply installing and configuring the app. It can be an app from the Bitrix24 catalog or a solution developed by a third-party company.

Sometimes the customer's needs can be met without any third-party apps — solely by standard means of Bitrix24. And only if there is no other way, we proceed with developing a native integration.

For starters, we find out if the product has an open API, and if so, examine it: what technologies the product is based on, whether it will be necessary to construct some intermediate solution or the system allows to access it directly from Bitrix24.

It's important to remember that even an open API may not be enough, and then we'll still have to modify the second system, and moreover, we'll have to do it by efforts of its developers or separate contractors. 

If direct integration via API is impossible, we follow plan B and establish connection via an intermediate server. It acts as a communicator between the integrated product and Bitrix24.

It may turn out that the product does not have an open API. In this case, we rely on specific conditions and limitations that the second system has. For example, if there is a database, we can connect to it directly; if there is an app for Windows, we can write a special driver that will send some necessary info to the Internet; and so on, options vary.

Software design

In the second stage, we describe how the integration will be built in terms of architecture and what work will be required on both sides to complete the project.

We determine general process of interaction of the systems from the perspective of user scenario: 

  • we identify the types of data that are to be transmitted;

  • we establish the stage when it needs to be done;

  • and we describe the scenario of data exchange: whether the data will be transferred all at once or gradually, how often it should happen, etc.

All this is necessary for both the customer and the contractor to know in advance what will happen at the next stages of the project and to be able to prepare for it properly. It is worth saying more about the role of the customer in the integration process, so we will return to this issue a bit further.

Integration testing

Usually, we test the solution right in the process. First, we perform integration testing at the level of simple calls: we send a request, receive a response, and make adjustments, if necessary. Then we proceed with testing at the process level, i.e. taking into account customer's scenarios and with their testing data.

Integration types

pieces-of-the-puzzle-592779_1920_crop.jpg

As mentioned above, Bitrix24 can interact with almost anything, so there are lots of integration types. However, most often our clients request integration with the following products:

  • Integration with accounting systems. Typically, customers order this type of integration to ensure a full-fledged process of lead generation via CRM and to tie a new CRM with the system where they already keep records of goods, services, financial flows, etc.

  • Integration with ERP. The most common systems are SAP and MS Dynamics. This type of integration suits well if the user wants to expand the set of communication tools, arrange employees' work with tasks, and enhance the efficiency of workflows while leaving the document flow in the usual ERP.

  • Integration with telephony. The most popular brands are Asterisk, Avaya, and Cisco. This integration is required when the client already uses a PBX and wants to establish data transfer from the PBX to Bitrix24 CRM, and vice versa. Usually, it's ordered by those who work with one or another form of a call center.

Labour intensity

laundry-413688_1920.jpg

Integration is an arduous process per se because first, you need to work with each system separately and then bring them together.  We need to establish intercultural communication, as we speak in terms of Bitrix24, while the customer speaks in their terms or terms of an integrated system.

In this case, the best way is to work simultaneously with both systems and constantly test intermediate results. Thus, we are rid of combining two independent tasks in a coherent whole at the final stage of the project and get the same result, but with much less effort. 

Most often, we meet two types of obstacles:

  1. Technical difficulties. It might turn out that the integrated system stores data in a format that differs from the Bitrix24 standard, and data conversion requires additional effort. Usually, these issues can be solved by a preliminary integration analysis, though it's impossible to foresee all tiny details in advance.

  2. Requests for changes from the business. At the start, the customer is usually confident in the built-in business logic. But as they immerse themselves in the project, they often feel the need to change something right in the integration process. As in the previous case, it is impossible to foresee everything in advance, but it is important to remember that additional work requires additional investment. Even moderate adjustments may require major modifications: it may cost full or partial change of technology (with alteration), contractors (often with alteration), project goals (with alteration), etc.

How to ensure integration success

basketball-768713_1920.jpg

Clear process description. It is important to determine the logic of integration as early in the project as possible to allocate resources and assess possible risks. It helps both the contractor and the customer to get ready for the project, and significantly reduces the risk of mutual discontent or schedule overrun. The more thorough the preparation, the faster and better the result.

Established communication. Within the project framework, the customer acts as both organizer and coordinator of the whole project. Ideally, the customer company should select a responsible employee who will manage the project. Since we do not always have the opportunity to contact the third party to get, for instance, some testing data, the responsible person from the customer's side should be ready to promptly respond to all requests and communicate with all project participants.

Reliable contractor. A trusted contractor or an outsource specialist who knows the integrated system can make the interaction much easier. It is even better if the communication between the contractor and the customer is established before the start of the project, and the chosen specialist can make adjustments right away.

How to order integration

Hopefully, we've done a good job in convincing you that integration is a complex but feasible project, especially if you break it into small parts and make sure to get ready for all of them. If it's been a long time that you've been thinking about the integration, but you still hesitate because of the process complexity, leave us a request with some basic intro data, and we will contact you to work out a detailed road map for your project.

If you already have an unfortunate history of communication with another contractor, be sure to contact us right away. Together we will fix all that went wrong ;).

Back