Modern business demands for processes automation. Integration of cloud services is a reality that no efficient company can refuse. Integration of CRM with IP telephony significantly expands the company’s capabilities for organizing telephone customer service.
Integrating IP telephony with CRM will help the client quickly get what he needs: now there is no need to listen to the voice menu or enter an extension number. Based on the data specified in the CRM system, the telephony will immediately connect the client with the manager, who will be able to quickly solve the client’s problem or give him advice.
To contact a client, you do not have to make unnecessary movements – you save time on dialing a number and call directly from the CRM. The client’s card contains all the necessary information: name and surname, contact information, the organization in which he works and what position he holds there.
Here, in this card, you can also view the call history and track the results achieved during the negotiations. This makes it easier for the manager to control the call processing: he will be able to choose the appropriate action template and achieve the desired result. At the same time, he does not interfere with his colleagues’ work: the integration does not allow intercepting the clients of other managers, since each card indicates the manager responsible for the negotiations.
The link between the CRM system and the telephony simplifies the analysis of the sales department’s work. The system records everything: the duration of the call, the number of outbound, inbound and received calls. All this allows you to understand how well the manager is doing his job. Based on open data analytics, the head of the company can more easily make management decisions.
Frameworks: Express.js, Monster UI.
API of products with which we integrate: Kazoo 2600Hz API, Slack Bot API, Salesforce Apex, Zendesk API, Hubspot API, Zapier API, Zoho PhoneBridge API.
Testing (integration and load): Clinic.js + Doctor.js, Mocha.
Infrastructure: Jenkins, Bitbucket, Jira, Slack, Winston, Saltstack, Prometheus, Grafana.
- Technological features:
- The complexity of handling telephony events, especially in cases of calls passing through several nodes, telephone conferences, call forwarding, call holding, etc.
- The heterogeneity of various APIs of the systems being integrated, as well as the need for periodic adaptation of changes in the APIs of these systems.
- Organizational features:
- The project team grew gradually. The first phase of the project was the integration of Kazoo with Zoho. And only after the customer was convinced that JazzTeam had successfully.
- implemented the first integration with Zoho, we got permission to expand the project team.
Separately, it is worth noting the fact that the integration of the Kazoo VoIP platform with Zoho was a certain challenge for our team and the groundwork for the future. Therefore, along with the manager, the project was personally supervised by Dzmitry Harachka, founder of JazzTeam. His many years of experience in software design and development ensured the technological “perfection” of the solution-to-be. This approach paid off in the future – subsequent integrations required minimal adjustments of the core for our solution.
Our team developed the integration server application that integrates IP telephony based on Kazoo with various CRM platforms (and not only CRM):
- Integrating Kazoo with Zoho product family;
- Integrating Kazoo with Salesforce CRM;
- Integrating Kazoo with Hubspot CRM;
- Integrating Kazoo with Zendesk;
- Integrating Kazoo with Slack;
- Integrating Kazoo with Zapier.
For this purpose, we implemented a middleware server based on Node.js. This server opens a web socket and starts listening to events from Kazoo VoIP platform. The server determines the type of an inbound telephone event, as well as with which CRM you need to integrate, and sends the appropriate requests to the specific CRM.
Tasks the integration allows to complete:
- Quick reception and processing of calls.
- Automatic dialing of the client’s number from the CRM interface (Call on a single mouse click).
- Automatic opening of a client’s card in the CRM interface.
- Automatic creation of a CRM entity from an inbound call.
- Work with recordings of conversations.
We also developed a system for balancing and logging applications, implemented playback of call records and ensured data security. The team also developed the UI part: managing integration settings for the CRM users, adding or removing access to the integration; and the user itself, with a simple UI with integration confirmation.
CI/CD processes were implemented and supported. For project build Jenkins is used, for its deployment SaltStack, there are autoruns of integration tests, runs of load tests regularly. Test and production servers monitoring was implemented via Prometheus+Grafana.
The Company’s Achievements on the Project
- JazzTeam has established a long-term relationship with the customer in a relatively new for the company junction of technologies: VoIP communications+CRM.
- We implemented CI/CD based on Jenkins+SaltStack.
- We implemented monitoring of numerous application metrics using Prometheus+Grafana.
- We proved the efficiency and high performance of the developed solution with the help of integration and load tests.