Search code examples
chatbase

Track multiple context for the same Bot


We have a bot that will be used by different customers and depending on their database, sector of activity we're gonna have different answers from the bot and inputs from users. Intents etc will be the same for now we don't plan to make a custom bot for each customer.

What would be the best way to separate data per customer within Chatbase?

I'm not sure if we should use

  • A new API key for each customer (Do we have a limitation then?)
  • Differentiate them by the platform filter (seems to not be appropriated)
  • Differentiate them by the version filter (same it would feel a bit weird to me)
  • Using Custom Event, not sure how though

Example, in Dialogflow we pass the customer name/id as a context parameter.


Solution

  • Thank you for your question. You listed the two workarounds I would suggest, I will detail the pros/cons:

    New API Key for each customer: Could become unwieldy to have to change bots everytime you want to look at a different users' metrics. You should also create a general api (bot) where you send all messages in order to get the aggregate metrics. This would mean making two api calls per message.

    Differentiate by version filter: This would be the preferred method, however it could lengthen load times for your reports as your number of users grows. The advantage would be that all of your metrics are in one place, and they will be aggregated while only having to send one api call per message.