Chatbot IBM WATSON Get facebook name in MSN - chatbot

I had been trying to get the names automaticaly, but it didnt seems to work, so I'm asking the ussers for their names and putting it as a variable. Is there a way to make the chatbot get the name when the conversation starts?

As detailed in the Watson Assistant documentation, sys-person has been deprecated as of 2020. See this posting. The suggestion as detailed in the Blog "Detecting Names And Locations With Watson Assistant"is to use Contextual Entities.

Related

Create a Watson Assistant chatbot for websites and Facebook Messenger

Designing a Watson Assistant chatbot for a website and Facebook Messenger raises some issues due to the different way these channels format the Watson response. I am trying to understand how to deal with this.
Currently, a Watson Assistant dialog node allows responses that include text, image, pause, and an option. So far so good. The problem is that in text response I need:
add some empty line. In HTML I can use <br/> and it works fine on Website but not on Facebook.
add a link. In HTML I use link while Facebook Messenger render directly the single URL
I need to list an unordered or ordered list. In HTML I can use ol/li or ul/li tags in Facebook messenger no.
carriage return. In HTML I can use <br/> in Facebook see 1.
How do I deal with these incompatibilities?
I expect to have somewhere best practices documented to write a multi-channel chatbot but I haven't found them.
When building a chatbot with IBM Watson Assistant that has to face different output channels (in your case website and Facebook Messenger), I see two options:
Limit the responses to the common output features. Watson Assistant supports rich responses with multi-line support. Use that instead of <br/>. Check with the integration-specific docs, here Facebook Messenger integration, what is supported.
Use two bots, one for the website and one for Facebook Messenger. In that case you could use the native response format supported by Watson Assistant. The downside is that you have to maintain two bots.
(not an option from your description) Add a wrapper around Watson Assistant and translate your generic responses to your desired output channel with optimized formatting. It would require more effort, but has the best output.
As a common format, consider some basic Markdown as supported by Watson Assistan and some output channels.

IBM Watson Assistant: Multi-workspace for Facebook page?

We have integrated a Watson Assistant skill/workspace with Facebook page using Watson-provided integration approach from virtual Assistants tab.
We are able to get the response from single skill/workspace. Now we want to add another skill/workspace to the integration, but we are not able add it.
Please let us know how can we enable multiworkspace approach for FB integration using watson provided integrations.
At this time, you can only have one skill per assistant. You can swap existing skills using the tool.
If you are using the Watson Assistant API (V1 only) from an application, then you have access to multiple workspaces / skills. See the Botkit Middleware for Watson Assistant for an example of dynamically switching workspaces. It is based on the Watson SDKs.

I can't set up the Facebook integration with IBM Watson Assistant. Callback URL 404 error

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.

How to integrate Facebook with Watson conversation

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.

Set up News source for Google Home

I work for a publication and would like to find out how I can enable our site to be read by Google Home or if there's something I need to do to set that up. I've looked at the Google Assistant SDK but it seems to be geared more towards custom commands to your own device like a Raspberry Pi etc.
Thank you!
You're right, the Google Assistant SDK is for building your own Assistant hardware.
The Actions on Google API is for building Actions that work with the Google Assistant on multiple platforms. With this, you can build an Action that responds to requests to "Hey Google, Talk to your action name". Google also reviews these Actions periodically to find ones that may more directly respond to questions such as "Hey Google, tell me the news".
There is currently no way to explicitly have your audio included as part of Google Assistant's "Good Morning" news briefing list, although Google may use RSS streams or other public feeds to make such content available.
Update
Google just announced formalizing what they call Content Actions, which are the formal way to get specific content such as poscasts, news, and recipes through the Assistant. See the documentation for details, but in your case, they've documented what the RSS feed should look like.