Export user conversations data from IBM Watson Assistant (Conversation)? - ibm-cloud

Can we export conversation data which is shown in improve section of IBM Watson Assistant? It is basically conversation analytics.
Downloading that data to any format will be fine

You can use the API to obtain the logs: List log events in a workspace
This allows you to export the logs and save them in the format you want. The API supports some filters to only retrieve specific entries. The documentation for IBM Watson Assistant has a section on learning from conversations and discusses logs.

Related

Request Body of IBM Watson Assistant for webhook

I'm creating a bot using IBM Watson Assistant. I am trying to use a webhook, but don't know the format of the POST request JSON/HTML which is sent to the webhook.
My case study is a shop where user can pre-order. I want to send the order details to my back-end server and give the user a reference number for the pre-order. I found nothing in the documentation about what POST request format is sent from IBM Watson Assistant and in what format response should be returned.
I know IBM Watson Assistant does not require a particular response format. It allows the developer to manipulate the response as the developer wants.
IBM Watson Assistant has a documented API. There are the recommended V2 Assistant API which can be used to create session and then send messages. The older V1 Assistant API has more functions and is deeper into the system. Both APIs can be used to write chatbots.
If you mean a Webhook as the Watson Assistant feature to reach out from a dialog node to an external service, the process is the following:
in the global configuration, you define the URL and the header
for a dialog node, you enable webhooks, then define the key / value pairs that are sent as payload. They can differ by dialog node.
Typically, the expected result is JSON data because it is the easiest to process.
This IBM Cloud Solution tutorial on building a Slack bot with Watson Assistant uses webhooks to call out to a Db2 database. The code is available in a GitHub repo.

IBM Watson Assistant: Retrieve a specific conversation via IBM Cloud Functions

How can I extract a specific user conversation from all chat logs? I noticed that the chat-log JSON response contains a field named conversation-id.
My goal is to obtain, via Cloud Function, that specific conversation id for the current conversation. So, when the conversation starts how can I retrieve the current conversation id?
The answer is similar to this one:
You can access context variables using either context[variableName] or $variableName. See the documentation on expressions for accessing objects in IBM Watson Assistant.
The conversation_id is in the set of context variables (context.conversation_id). You can access it as part of that structure.

How to connect between IBM Watson Assisstant and IBM Watson Discovery?

I am using IBM Watson Assisstant to create a chatbot, and created a Watson Discovery collection too in the project.
I need help in that how the dialogs works to take a response from the Discovery collection when an intent along with the entities are detected in the try section.
in the response section we have to define something or there is something else similar like text response
is the discovery response is only available in the app on which we work
There are a couple of options to link up a IBM Watson Assistant chatbot to IBM Watson Discovery.
The first and oldest is to have the application interact with Watson Assistant and, depending on the flow, context and response send a request to Watson Discovery. Basically, the integration is done in the application layer.
The second option is to use server or client dialog actions in Assistant to directly call into Discovery. See my blog on a barebone news chatbot and the related code on GitHub on how to implement such an action. My example uses client actions (basically let the app handle it again), but server actions are similar. This IBM Cloud solution tutorial covers server actions for a database-driven bot.
The newest option and currently in beta is to use the direct integration of Assistant and Discovery. See "Building a search skill" for an introduction into this direct linkage between IBM Watson Assistant and IBM Watson Discovery.
The option 2 (server action) and 3 should work from the "Try it" in the tooling, the others not because of the app-based coordination.
As usual in IT, there are different way to achieve the goal, the choice is yours... ;-)

Is it possible to output google search results in IBM Watson Chatbot?

I have created a chatbot with IBM Watson Assistant. But currently I have hardcoded all values in the dialog
e.g : When some user will ask "Who created Computer ?" then in the dialog flow I have written "XYZ created computer".
But suppose the user will ask about some other person and that value is not hardcoded in the dialogs on IBM Watson Assistant then is there any way by which I can provide Google search results?
You can make programmatic calls from within IBM Watson Assistant dialog nodes. Both server-side actions (IBM Cloud Functions) or client side calls (within the app) are supported. That way you can react to such queries as described and could call a search engine, database or somethin else.
This IBM Cloud solution tutorial on how to build a database-driven Slackbot uses server side actions to interact with a Db2 database. Instead of calling out to a database to fetch data, in your example, you would open a request to Google search.
I saw that you tagged it "facebook-apps". If you use Botkit middleware to build an integration with Facebook Messenger, then check out this blog on how to enable actions in the Botkit Middleware for Watson Assistant.

Ibm analytics user logging data to DashDB, then sent to Watson Analytics

My name is Cristian and my task is to implement IBM Bluemix Analytics into an app (which was succesfull, since I get the data shown on my analytics service), then how do I transfer this data for every user into DashDB, and then into Watson Analytics?
Sincerely,
Cristian Sandu
To answer the latter half of your question, you can import it into Watson Analytics via these steps
You'll need a 'Professional' level subscription to access the 'Create a new Connection' page (what you get with the 30 day free trial).
Watson Analytics allows you to create multiple data connection and select particular data from columns and add it to a single database.
You can not only do that, you can shape the data before you import, so if different connections have a variety of data arrangements, it helps you streamline into the same format.
Quick procedure is mentioned here in the IBM Watson Analytics Knowledgebase
And yes, you will not get these feature in the LITE version of Watson Analytics.