Oscova is not just a Bot system but a high-end Natural Language Processing system. so it can help you achieve it easily.
If you are going to integrate it with your product then every action that the user does should be converted to a simple action message (as Oscova currently works with text data) and let Oscova process it without generating a response. Like if the user has opened a file or a tab then you can send a message to Oscova like "file-opened" and set some context so the user can ask question relating to the current state of your application.
Here is a simple application
public class AppDialog
public void FileOpened(Context context)
[Expression("Please save it")]
public void CloseIt(Context context, Result result)
that shows how you can work with database with Oscova
For anything relating to Natural Language Interface, Oscova is the best choice. Did you know that you can even talk to your excel sheet