Skip to main content

How we integrated Bitrix24 with WhatsApp

The task of integrating the CRM Bitrix24 with WhatsApp was implemented by me and my team 4 times using various methods. (2 times for Cloud Bitrix24 and 2 times for Self-hosted Bitrix24). We have been working on this task for the last 3 months.

The WhatsApp messenger has not yet opened API for everyone, so in order to integrate Bitrix24 with WhatsApp, we had to use third-party services as a proxy.


We investigated the integration of Bitrix24 and WhatsApp through several services, and only two services met our requirements:  https://chat2desk.com and https://www.twilio.com/whatsapp.

In this article, we will mainly talk about our experience with the Chat2desk service. Although the principle of integration is applicable to other services.

For the integration of cloud Bitrix24 and self-host Bitrix24 with WhatsApp via Chat2desk we had to write completely different code.

Bitrix24 Cloud REST-API does not allow us to create our custom connector for  Bitrix24 open lines.

For cloud Bitrix24, we have developed a chat-bot that listens to incoming messages from various messengers (not only WhatsApp but also Viber, Instagram, Facebook, VC, Telegram, Skype) when the chatbot receives an incoming message, he creates a separate chat for each individual client and invites to this chat the responsible manager - Bitrix24 user.

This is one of the key features of our application, which is not available in other similar solutions in the market.



After that, the Bitrix24 user can communicate in this chat with the client, and if this is a new client, then the system creates a new lead.

In the chat, you can exchange text messages, pictures, files, locations.





It is possible to link the chat not only to a particular lead but also to a deal and/or to a contact:



This application for the cloud Bitrix24 was bought from us by Chat2desk and published in the Bitrix24 Marketplace: https://www.bitrix24.ru/apps/?app=chat2desk.integration

Integration through a chat-bot, and not through a custom connector assumes some functional limitations. Integration via the connector, which is possible only for the self-hosted version of Bitrix24 gives more functionality, therefore, despite the fact that the cloud Bitrix24 application can be launched in the self-hosted Bitrix24 too, for our customers and their self-hosted versions of Bitrix24 we also developed a module that adds  a custom connector into the system.



This allows us to work with messages that come from WhatsApp (and from other instant messengers that can be connected) in exactly the same way as with standard Bitrix24 Open Lines.

In addition, for self-hosted Bitrix24 we added the ability to initiate WhatsApp chat directly from the CRM card. Unfortunately, this feature is not yet available for the cloud version.




In the development process, we also discovered a lot of technical details from both the Bitrix 24 REST API and the Bitrix Framework API for the self-hosted version of Bitrix24, I'll write about them in future blog posts.

Comments

  1. Simply wish to say your article is as astonishing. The clarity in your post is simply great, and I could assume you are an expert on this subject. Well with your permission let me grab your RSS feed to keep updated with forthcoming post. Thanks a million and please keep up the gratifying work.
    Project Management Apps

    ReplyDelete

Post a Comment

Popular posts from this blog

How to add a custom activity type in Bitrix24 CRM

During one of our recent self-hosted Bitrix24 implementations, we had the task of adding a new type of Activity to CRM - something between a Call Activity and a Visit Activity. The customer wanted this new Activity to be able to participate in CRM reports and filters. To begin with, it was necessary to add a link to a new Activity type in the CRM entity card. We found out that the crm.timeline component is responsible for the output of this part of the interface. In particular, its template.php contains a list of displayed links to case types. For example, for a call, something like: Accordingly, as we can see, this is a regular link with the data parameter item-item-id. So we can add ours, with our own unique data-item-id. As you can see, the href for the link is set as "#" - clicking on this link is processed by the JS code from the script.js of this component. Indeed, the BX.CrmTimelineMenuBar function is responsible for this.processItemSelection().

How to setup server for Bitrix24 on AWS EC2

How to сreate AWS Lambda Layer with Zeep Library

Python Zeep library designed to work with SOAP - services. Zeep is a pure-python module. However the lxml dependency does contain C code since it uses libxml2 and libxslt. So the Zeep library can not be deployed into the Lambda Layer without some tricks. In one of my Serverless projects, I needed to use this library, and I found such a way to deploy it into the Layer: