Add a Bot Id to rasa

How to add a Bot ID in Rasa events table? I need it because I am using multiple bots and need it for reporting purpose?

@bharath-madduri can you please elaborate more about your use case please.

I have multiple bots. I need to pull event data for all these bots and feed to the analytics system. For that I had to write ETL jobs to do the bot Mapping and feed them to analytics which is not possible in real time.

So for that I was thinking if we can add a bot ID while dumping data to the event table. It will make my task easier and real time.

Though it will increase the payload, still fine as it will help me in analytics.

@bharath-madduri how many bots do you have? and all are running into one server and all are connected with one database?

Yes, as of now 4 bots. It’ll increase.

@bharath-madduri Bharath, you not answered completely about my last post. You just answered one.

Yes, all bots are connected to one database and running in single server , having 4 bots right now and it will increase.

@nik202 , any idea on how to solve this issue? Not only on how to add extra column in rasa events table, the next question will be on how to pass the value from bot .

@bharath-madduri Hi, I guess your use case is complex as you have many bots i.e 4 bots. The proposed solution is you need to create different database schemas for all 4 bots then you can able to add a bot id (hope so) and I have seen you want to combined all these bot data to analytic purpose to a dashboard to see from where which question are coming and later you can train the bot’s based on data. First, please create the different database schema for each and then I will tell you analytic approach. Good Luck!

@bharath-madduri I hope you remember this suggestion from rasa team Multiple bots connected to same db - #2 by kalkbrennerei

1 Like

@nik202 I did it. added a new column Bot_id to events table , to achieve that need to add a key (bot_id) in tracker_store of endpoints.yml and changed core level changes in tracker_store.py file

Hi Mr Bharath, can you elaborate how to add the bot_id in tracker store and where i get the tracker_store.py and where i have to put the tracker_store.py?

in my understanding the tracker_store in endpoints.yml will be like this

tracker_store:
    type: SQL
    dialect: "postgresql"  # the dialect used to interact with the db
    url: ""  # (optional) host of the sql db, e.g. "localhost"
    db: "rasa"  # path to your db
    username:  # username used for authentication
    password:  # password used for authentication
    bot_id: "bot-12123213123" # bot id

is it right?

Yes, tracker_store.py can be found in the rasa core packages (libraries of rasa)where you did pip install.

1 Like

@hanifabd I have posted the answer here

thank you very much @bharath-madduri for the solution example :star_struck: