Technical Overview

Prev Next
Warning

This is an internal document and is for Sestek employees only and will not be accessible if shared with other parties.

With the Nice-Knovvu Analytics integration, call centers using Nice as their call center application, can have all the conversations between agents and customers analyzed in Knovvu Analytics.

All Nice admin needs to do is gather the agents whose calls will be analyzed into a group. When an agent in this group makes a call, Knovvu Analytics captures it; and as soon as the call ends, it automatically imports the call into Knovvu Analytics to be analyzed.

It is further explained how Knovvu Analytics works integrated with Nice, which APIs are used for the integration and technical details.

Nice Services

Nice Producer

One of the services written for Knovvu Analytics-Nice integration is Nice Producer. Nice Producer has 3 main jobs:
1. Getting the user group and the users in it whose calls will be analyzed and create these users in Knovvu Analytics as agents.
2. Starting an event listening for these added users. With this request, Nice understands that if these users receive an event, it will notify Nice Producer. If Nice Producer catches an event about a call being ended belonging to these users, it sends the conversation ID of the relevant call to RabbitMQ.
3. Checking if there is an event missed that day with a job that runs every night. This job works by comparing the calls in Nice with those in Knovvu Analytics for the last 24 hours.

Conversation Consumer

The other service written for Nice integration is Conversation Consumer. Its job is to get the conversationID from RabbitMQ, and get the metadata and download the recordings of the call with this conversationID using Nice API. Conversation Consumer then saves the metadata into Knovvu Analytics' database and sends the call recording to MinIO.

Integration Flow

  1. Deployment
    Deployment of the integration services to the desired environment should be done by Sestek DevOps Support team.
    More details on the deployments steps.

  2. Configuration
    Required settings for the integration to work should be made by the Knovvu Analytics' host.
    More details on the required settings.

  3. With the tenantID entered into Nice Producer's settings during the configuration, the service becomes aware of which tenant it works for. Using this tenantID, Nice Producer reads the Nice settings of the relevant tenant kept in Knovvu Analytics' database, such as:

    • which organization this tenant corresponds to in Nice,
    • which users in this organization will be added to Knovvu Analytics,
    • which users' calls will be analyzed, etc.

  4. When Nice Producer receives an event coming from Nice API, it sends the conversation ID of the relevant call to RabbitMQ.

  5. Conversation Consumer gets the conversationID from RabbitMQ, and again uses Nice APIs to get the metadata and download the recording of the call.

  6. Conversation Consumer saves the metadata received into Knovvu Analytics' database and sends the call recording to MinIO.

  7. As the final step, the call enters the analysis queue and is analyzed when its turn comes.