General description

Analytics is a component responsible for gathering analytics data. It stores all information in SQL database. It serves data for the admin panel: analytics module.


Default port: 5754

Application has got HTTP API which is not secured by any mechanism, therefore should NOT be visible from outside the Kubernetes cluster.

There are default endpoints for monitoring purposes. They are described in Components monitoring section.



The component has its own SQL Database for storing transcription. Main tables:

  • session log - contains all conversations' information
  • message_event - contains single messages within a conversation, contains details such as: dialog state, intents, variables, tags, commands, used states, and executions times


The component reads data from the queues:

  • - used for getting transcriptions
  • - used for handling jobs from cron-orchestrator


This service communicates with the following services:

ApplicationConfig to URLAuth


Application's config: {
  db { 
    url: "jdbc:postgresql://HOST:PORT/chatbots-analytics",
    user: "USER",
    password: "PASSWORD"
    max-connections: 20

data-retention {

    # Max duration to keep data for, always extended to the start of a day
    duration: 365d

    # Sessions delete limit per run, can be ignored when there are more sessions in 6h period
    limit-per-run: 100000

Other required configurations:

chatbots.senti-one-api {  
  url: "", # actual address for bot-integration service  
  secret: "KNSWG4TFORIGC43T" # same secret as defined in bot-integration service  


chatbots.messaging {  
  rabbit {  
    hosts: ["HOST:PORT"]  
    username: "USER"  
    password: "PASSWORD"  

Play Framework config

More information about Play Framework could be found in Play Framework configuration section

Job execution

AnalyticsExport (Optional)

This optional cron job (if configured) is executing in this component. It fetches data from the DB and from bot-integration API. Then it zips the results and sends to the specified address (in the job's configuration).


No analytics data in analytics module (NOT conversation analytics)

If it is reported that analytics module does not show any data in charts it could mean that this component is not doing its job. First thing is to check if actual data exists in the underlying DB.

If the data is present in the DB then communication between admin and analytics should be investigated.

If there isn't data in the DB, next step would be to check RabbitMQ's queue. If there are messages it would mean there are probably errors when processing messages - check logs.