I'm working on a flight reservation chatbot using Watson Assistant chatbot that connects to IBM Cloud SDK through Java API. My idea is to get the API results, from a client's flight search, and set the json response into different button options using Watson. The problem is that I'm not finding a way to do it, can someone help me?
My friends and I are trying to create a chatbot using IBM Watson Assistant and integrating it with Facebook Messenger as platform to host the chatbot.
Our intention is to extract the text and image data that is inputted in the chatbot. Since the chatbot is integrated with Facebook, we are having problems finding a way to extract the data.
Any form of help would be much appreciated!
Thanks!!!!!!!!
Following the instructions for adding Facebook Messenger integration to an IBM Watson Assistant (Watson Conversation chatbot) it all goes well until adding the callback url to the webhooks setting in the Facebook app messenger settings.
The URL returns a 404 error.
Has anyone seen a fix for this?
I have managed to find a fix for this. Basically although you can create a Watson Assistant service in any region (EU, USA, Asia etc etc) the integrations only work on services created in the USA region. I recreated the service in Dallas (which created a USA based callback URL) and the Facebook app accepted that url with no issues.
Note I have seen this behaviour with IBM Cloud Functions too. Calling cloud functions natively (which are extremely powerful) from Watson Assistant also requires the service to be USA based.
I have created my chatbot with IBM Watson Assistant from the GUI using Intents, Entities and Dialog and also tested the same using the "Test Yourself" utility. Now I want to embed this Chatbot on another HTML page. How do I do this? How would I start?
Check out the section on integrations for IBM Watson Assistant. In addition the GitHub organisation Watson Developer Cloud provides the SDKs and has samples. One of them is Watson Simple which is a good starting point.
I can already connect my conversation to my Facebook page and the bot is working.
My Problem is that i couldn't find a single tutorial on how to make calls to a server that is owned by a company and has information about accounts and payments, for example when i type to the Chat-bot that i want to see a list of accounts, the chat-bot would reply with a list from that API; Or i can login to that server with my account by typing the account's name and password in the chat-bot. I just wanted to know if anyone knows how to do that or if its even possible or knows a tutorial that explains it. I also would prefer if the tutorial was detailed because i'm new to this field.
As #Felipe Paixao said, you need to develop an orchestrating application.
I've found one example that explains step-by-step how to use Watson Conversation with Facebook Messenger.
Requirements:
Facebook page
IBM Bluemix
A Facebook Developer Account
Source code.
Step - IBM Bluemix:
Create a SDK for Node.js application
Create a Watson Conversation service
Create your Workspace for Watson Conversation and build your Dialog
Configure the JS app and integrate it with the Watson Service Connections -> Connect Existent:
In your App created in IBM Bluemix, access the Tools and go to IDE Eclipse, and create a new file: app.js with this code.
Replace with your credentials the username and password
You can see your credentials inside Service Credentials, or going to your workspace and access:
Step - Facebook Developers:
Enter to facebook developers with your Facebook account
In the Dashboard select Create a New App and Select Messenger
Put the URL from your Bluemix (Now IBM Cloud) app and select the options marked: messages, message_deliveries, messaging_options e messaging_postbacks.
Now, return to our app to configure the app.js file with our new FB token autogenerated and deploy it.
Step Final
Test your chatbot: If you made everything OK, we will have your chatbot available on your Facebook page.
Obs.: For built your example, you can add the lines of code for call your API in the app.js using the http module, using the Advanced JSON in Watson Conversation and create one "action": "callApi", and recognize with your code for do something, like this example.
See the Official Reference that I used to build Facebook Messenger with Node.js SDK (Back-end) source code based on Priscila Parodi codes.
You need to develop an orchestrating application, that would be responsible to connect the IBM Watson Conversation with your desired Fronted, Facebook in this case, and the Backend systems. I imagine that you are using the automatic deploy to Facebook from the Conversation Tooling, this option would not resolve your need to access a Backend.
The image passed by #data_henrik shows exactly that.
In conversation, you can create context variables that will be used as triggers in the Orchestrator to let him know when you need to call a Backend service to provide an information and then write the response into the Conversation context.
About using the Chatbot to login into a system, passing a password, this isn't a safe option since all information typed would go to Watson Conversation log and any person with access to the tooling/api could see the passwords.