This is an internal document and is for Sestek employees only and will not be accessible if shared with other parties.
With the Twilio-Knovvu Analytics integration, call centers using Twilio as their call center application, can have all the conversations between agents and customers analyzed in Knovvu Analytics.
All Twilio 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 Twilio, which APIs are used for the integration and technical details.
Twilio Services
Twilio Producer
One of the services written for Knovvu Analytics-Twilio integration is Twilio Producer. Twilio 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, Twilio understands that if these users receive an event, it will notify Twilio Producer. If Twilio 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 Twilio with those in Knovvu Analytics for the last 24 hours.
Conversation Consumer
The other service written for Twilio 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 Twilio API. Conversation Consumer then saves the metadata into Knovvu Analytics' database and sends the call recording to MinIO.
Integration Flow
-
Deployment
Deployment of the integration services to the desired environment should be done by Sestek DevOps Support team.
More details on the deployments steps. -
Configuration
Required settings for the integration to work should be made by the Knovvu Analytics' host.
More details on the required settings. -
With the tenantID entered into Twilio Producer's settings during the configuration, the service becomes aware of which tenant it works for. Using this tenantID, Twilio Producer reads the Twilio settings of the relevant tenant kept in Knovvu Analytics' database, such as:
- which organization this tenant corresponds to in Twilio,
- which users in this organization will be added to Knovvu Analytics,
- which users' calls will be analyzed, etc.
-
When Twilio Producer receives an event coming from Twilio API, it sends the conversation ID of the relevant call to RabbitMQ.
-
Conversation Consumer gets the conversationID from RabbitMQ, and again uses Twilio APIs to get the metadata and download the recording of the call.
-
Conversation Consumer saves the metadata received into Knovvu Analytics' database and sends the call recording to MinIO.
-
As the final step, the call enters the analysis queue and is analyzed when its turn comes.

