Bluemix Watson Conversation API to manage intents, entities - ibm-cloud

The documented API only allows interaction with the Watson Conversation service once it is configured. Is there any API which will allow the configuration. For example create intents, entities etc...

Good questions and we agree. We have plans shortly to expose a lower level set of APIs that will address your concerns. Brian

At this point in time the APIs for what you want to do are not publicly exposed.

Just to close out this question. The API for Watson Assistant (formerly Watson Conversation) can be seen here. The Watson Developer SDKs support that API.
To see the API in action there are several examples. I wrote a tool demonstrating some of the API calls and a so-called EgoBot that mutates during the dialog, i.e., adds objects by using that API.

Related

how to call a public api in Watson Assistant webhook?

I am calling a public api with IBM fucntion in Watson assistant webhook.
how to call a public api without IBM fucntion?
IBM Watson Assistant allows call-outs to webhooks in different places and for several reasons. This can be for logging purposes, before and after processing a user message or within dialog steps. The latter could be used to gather information from external sources.
As far as I know, you can call out to external webhooks in all of the supported places.

Can IBM Watson Assistant use more than one webhook

I am making a chat bot that requires the use of 3 external APIs to be used as responses. When wanting to call an external API from within Watson Assistant, webhooks would be required to connect to one API either locally or on the cloud (IBM functions). How would I connect more than one API to the assistant if possible ?
Unfortunately no, not at this time. The design was meant to have a middleware app that orchestrated the apis, formats the data, etc just like the video in the docs.

Dynamically create skills for Actions on Google via an exposed API?

Is there an API exposed for Actions on Google, similar to what Dialogflow offers with their API? The only API-like flow I have found through my research is this webhook flow API, but that only deals with conversation requests, prompts, and responses, which I have already handled.
Ideally I'd like to be able to dynamically create "agents" and their conversation flows without having to use the AoG console, similar to what Amazon offers with Alexa SMAPI.
There's not a full API to do everything that you want end-to-end. Some parts, like Dialogflow and fulfillment, can be automated, but it will still require some manual work in the Actions Console.
I had a conversation with another developer on this subject once. As a workaround, which is admittedly hacky, they decided to use the Puppeteer library to programmatically control a browser instance to fill in fields and click buttons.
That may not necessarily work when the console changes, and isn't a good substitute for an API, but it may work for you.
Yes you can do it using Google Dialogflow REST API
Here are APIs for the agent :
There are many more APIs available for different operations.

IBM Watson Assistant: How to make API calls from dialog

We have integrated IBM Watson Assistant skill/workspace with a Facebook page using the Watson features. We did this using an integrated approach from Virtual Assistants tab.
We are able to get the response in Facebook Messenger from Watson skill/workspace FAQS. Now we want to add a few more questions to skill/workspace and get the response from a database.
We know that we can use IBM Cloud Functions to get DB data and respond back with the data, but Cloud Functions action types (web_action and cloud_function or server) incur a cost, hence we are looking for another approach.
We have our own APIs developed for the DB and want use those in Watson Assistant dialogue node actions. Please let us know how we can add it in actions and get a response from the API without using client application/cloud functions.
Note: we haven't developed any application for this chatbot, we directly integrated Watson skill/workspace with the Facebook page and trying to call API calls wherever we require them from the dialogue nodes.
As you can see, IBM Watson Assistant allows to invoke three different types of actions from a dialog node.
client,
server (cloud_function),
web_action.
Because for cloud_function and web_action the action is hosted as Cloud Function on IBM Cloud, the computing resources are charged. For type client, your app would handle the API call and the charges depend on where your app is hosted. Thus, there are always costs.
What you could do is to write a wrapper function that is deployed as web_action or cloud_function. Thus, there isn't much of computing resource needed and the charges would be minimal. But again, independent of the action type, there are always costs (maybe not charges) - one way or another...

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... ;-)