How make a chatbot with Watson Conversation and Slack? - chat

I want to build a Slack bot that can answer support queries. I've designed the conversation in Watson Conversation, but now I want to deploy it to Slack channels.
Ideally I don't want to have to develop and host an application to broker messages between the two systems.
Is there any platform or solution that I can use?

There are two possible solutions that I can think of.
Watson Conversation offers some basic integration with Slack through an application you can deploy yourself in a container. I believe they have a repo in their github (https://github.com/IBM/slack-watson-bot). You'll have to host this somewhere, though Bluemix offers some basic free hosting for a limited time. There are plenty of tutorials out there for spinning up containers in Bluemix.
An alternative solution (disclosure - this is my company) that wouldn't require hosting or development would be to use Bothaus (https://bothaus.io). Bothaus lets you configure integration between Slack and Watson Conversation without hosting or coding anything.

In Watson Conversation while in your conversation workspace, click on the Deploy icon.
After that, click deploy on the Slack card. Click "Deploy to Slack App", and follow the steps.
You should not need to code anything, just fill related fields with data.
Just be aware, if your URLs you are requested to enter into slack contain spaces, change them to %20 so that Slack will recognise the URL.

Related

How to deploy and maintain multiple chatbots agents

This post follow this one where I explain one of my problems. Currently, I have to found a way to publish and maintain a high number of agents. I am not limited to Dialogflow.
I need some integrations like the google assistant (text and vocal), facebook messenger, telegram and if possible others like Slack, Twitter, Twillio, Alexa...
Okay, so I have already produced some agents with Dialogflow to understand the technology. I also read some pages of the actions-on-google documentation and I did'nt found anything on this subject. So basically I have to implement this:
Deploy around X agents through differents integrations instanciations. I mean I really need X facebook contacts, X google assistant apps, etc.
Maintain one code-base but have the ability to add localized-features like the name of the chatbot, currency or just block some intents (for Dialogflow example but in a more generic way, dialogs triggers).
It is just possible ? I am thinking about a web UI that can handle some facilities like the deployment, the monitoring and the maintenance. I am wondering if it's not overkill and if a more easier solution than mine exists already.
It isn't currently possible to create agents automatically, although Dialogflow's V2 API provides a mechanism to update agents via JSON once they have been created; see the restore and import endpoints.

Do I have to use API.AI to create an action for Google Home?

I have some experience building chat and voice agents for other platforms, but I’m not using API.AI to understand natural language and parse intents. Do I have to replace my existing solution with API.AI?
Not at all. The advantages of using API.AI in creating a Conversation Action include Natural Language Understanding and grammar expansion, form filling, intent matching, and more.
That said, the Actions on Google platform includes a CLI, client library, and Web Simulator, all of which can be used to develop an Action entirely independent of API.AI. To do this you’ll need to build your own Action Package, which describes your Action and expected user grammars, and an endpoint to serve Assistant’s requests and provide responses to your users queries. The CLI can be used to deploy your Action Package directly to Google, and you can host your endpoint on any hosting service you wish. Google recommends App Engine on Google Cloud Platform.
I found this explanation from the official page most helpful.
API.AI
Use this option for most use cases. Understanding and parsing natural, human language is a very hard task, and API.AI does all that for you. API.AI also wraps the functionality of the Actions SDK into an easy-to-use web IDE that has conveniences such as generating and deploys action packages for you.
It also lets you build conversational experiences once and deploy to many other platforms other than Actions on Google.
ACTIONS SDK
Use this option if you have simple actions that have very short conversations with limited user input variability. These type of actions typically don't require robust language understanding and typically accomplish one quick use case.
In addition, if you already have an NLU that you want to use and just want to receive raw text and pass it to your own NLU, you will also need to use the Actions SDK.
Finally, the Actions SDK doesn't provide modern conveniences of an IDE, so you have to manually create action packages with a text editor and deploy them to your Google Developer project with a command-line utility.
Google is pushing aggressively everybody to API.AI. The only SDK they have (Node.js) no longer supports expected events for instance. Of course, you don't need to rely on their SDK (you can talk to the API directly) but they may change the API too. So proceed with caution.

IBM Bluemix Watson IOT - How to be notified of service updates

Last week, we noticed a lack of incoming data on our Waston IOT platform.
After some research, we found that the HTTP API of Watson has moved to a new url (only the part to publish messages).
The official documentation is effectively mentionning the new url and we found just one post on the web talking about this update (here). Moreover, this post does not provide precise dates.
We checked our mails for the last 5 months, we were never notified in advance of this update. It's really problematic for us since we provide business apps to customers based on this service.
So the question is : Did the watson team failed to notify us or is there another way than emails to take notice of the schedule of future updates?
Thank you
At this point we do not directly email customers. We have been exploring options of ways to do this and hope to have a procedure in place to notify customers of any changes to the Watson IoT platform in the very near future. We apologize for any inconvenience this change caused.

Get Watson Conversation Workspaces

I am using Watson Conversation services on Bluemix. We have multiple Conversation workspaces within the service to enable better segmentation of the problem space.
I need to load information on the set of available workspaces within the Conversation service (e.g. name, workspace ID) to allow me to target the appropriate Conversation API endpoint. I've been trying to find a Watson or Bluemix API to allow me to retrieve the information directly but have not had any success.
Does anyone know if it is possible to retrieve this information programmatically and if there are any best practices for doing so?
We don't have an exposed endpoint for this capability at this point. It is something being discussed internally, however.
The API for managing Conversation workspaces is now available. It is possible to list workspaces, to create/update/delete a workspace and to download an entire workspace. The API is supported by the Watson SDKs.
Using the new API, I wrote a small tool for managing Conversation workspaces. The tool shows the API in action. The source is available on GitHub to demonstrate how the API can be of use.

Watson conversation - How to deploy?

I've created and trained a basic dialog and it's now ready to be used in my web site.
I can't found any docs to deploy and use the application.
Can anyone help me ?
You need to build a front end application that allows users to interact with the conversation service.
There are some generated SDK's for various programming languages that can help you in doing this.