Change Dialogflow chatbot language in Facebook Messenger - dialogflow-es

How to test the multilingual chatbot integrated to Facebook messenger, Dialogflow always uses English(Default language) when integrated to FB messenger.
I tried to changed the facebook profile settings also, but still it is not recognizing the other languages other than the English.
So, How to test/work with multilingual chatbot in Facebook messenger?
Thanks in Advance.
~ Praz Solver

I´m actually after the same thing, I reached DialogFlow support, and they told me this:
Thanks for reaching out to Dialogflow Support.
At the moment, Dialogflow does not yet support multiple languages for any of its built-in integrations - so requests from Facebook Messenger will automatically only be sent to the Default Language of the agent.
However, you can try to make your own implementation for this. You may consider creating a middleware that would serve as a bridge between your Dialogflow agent and your Facebook Messenger bot.
When a user sends a query from Facebook Messenger, your middleware should detect which language was used and then it should send a detectIntent request (https://cloud.google.com/dialogflow/docs/reference/rest/v2/projects.agent.sessions/detectIntent ) to Dialogflow containing both the query and a "languageCode" parameter field with the language tag (https://cloud.google.com/dialogflow/docs/reference/language ) of the end-user's language.
You can use Dialogflow's REST API (https://cloud.google.com/dialogflow/docs/reference/rest/v2-overview ) or client libraries (https://cloud.google.com/dialogflow/docs/reference/libraries/overview ) to integrate your middleware to Dialogflow.
More information about Multilingual Agents can be found at https://cloud.google.com/dialogflow/docs/agents-multilingual .

Related

Dialogflow knowledbase works and responds in the 'try it now" console but not on integration kommunicate

My Dialogflow knowledge base intent is detected when I ask questions withing the knowledge base document while in the dialogflow console try it now and works well in facebook too. But when integrated kommunicate, if i ask a same question, it defaults to fallback intent and responds with fallback response. What could be the cause. I increased the knowledge base slider to strongest.
Screenshot of the console
Kommunicate supports the knowledgebase feature of Dialogflow. However, This feature is disabled by default because it is in the beta phase.
If you want to enable this feature you can contact to Kommunciate support team at support#kommunicate.io with the knowledgebase Ids and bot Id.
Check this answer to get the knowledgebase id from Dialogflow.

Dialogflow- chatbot related queries

I've created a basic app with a chatbot that can respond to what I type using DialogFlow and Angular. It is hosted locally. Now I want to have that chatbot respond to what I type with cards, lists and such. Like how Messenger has templates. I want to have a custom payload sent to me in response to what I send. Can anyone please help me? (NOTE: iam using the v2api)
Dialogflow supports rich message response to only certain platforms that it has listed on its website for ex. Facebook, google assistance etc. To display rich message you need to code it out.

How to integrate api.ai bot with any booking site to book/order something?

I've made a chatbot who can talk to people and make a normal conversation. I want to develop that chatbot so that user is able to, say order a pizza from Dominoz.com or Book a ticket on expedia or add something to cart in ebay.
I've made the bot using Google's Api.Ai (diagflow). How can I integrate it with any site performing some kind of transaction. Answer with an example booking/ordering site would be highly appreciated.
Just for additional info: I think it is possible by that webhook option in fulfillment section. But how exactly? How to implement it?
You should check if there are APIs available for ordering/booking through Expedia/eBay. Dominos have exposed their APIs for ordering purposes. Following is the link for bot ordering pizza & node-dominos-api
https://hellotars.com/bot-examples/featured/pizza-ordering-chatbot/
http://riaevangelist.github.io/node-dominos-pizza-api/
https://www.youtube.com/watch?v=F68HtCtJbGA
Webhook in Dialogflow is something where your actual logic lies. You can write it in any language you're confident of & host it somewhere for Dialogflow to communicate with it. There are 2 API references v1 & v2. Your web service receives a POST request from Dialogflow. Your request/response to/from webhook should include mandatory fields mentioned at following links:
https://dialogflow.com/docs/fulfillment
https://dialogflow.com/docs/reference/agent/query

How to enable a BOT on my website with rich text messages(Quick replies, cards etc) embedded on it?

I need to integrate a bot on my website. Api.ai bot supports rich messages on social media messengers like facebook etc.
Is there any way to do the same for my own website?
You'd have to do a bit of coding:
Build a chat ui,
call your own server ..
...that will call api.ai via REST
and then render everything that you want, based on the action that api.ai did figure out for you.

How does Facebook Messenger connect with Wit.ai Bot Engine?

In Facebook's documentation they refer to wit.ai Bot Engine, but I can't find anywhere online where its explained how to connect the Story that you build in Wit with your Facebook Messenger App?
Wit.ai needs an input - user input. Sentence, phrase, word - to give you back the analysed results.
So first when you say "your Facebook Messenger app" - you need to make sure you are handling the messenger part by itself: have a code in your language of preference running on the server\your laptop which can receive the text which is sent to the messenger account on Facebook.
When you get that working, you will have to use one of Wit.ai libraries for the code language you are using to pass that phrase you receive from the user chatting through the messenger to Wit.ai "library" which will communicate it "to the wit.ai stories" you have and get the result from them.
For example for Python:
Library to handle FB Messenger chatting
Wit.ai library to pass the user input "to stories and get result"
You can integrate Wit to any messaging API. Using the Messenger Send/Receive API for example, you will be able to get and receive messages from/to Messenger users. Wit.ai can then parse the messages and predict the next response.
Here is an example in Node js: https://github.com/wit-ai/node-wit/blob/master/examples/messenger.js
I reviewed the latest updates on wit.ai. It seems that Wit.ai does not have an in-built integration with Facebook Messenger. That is, you can't plug it into Facebook Messenger directly by using the page access tokens etc.
What you'll need to do instead is set up a webhook where Messenger will send callbacks with the details of the user's message. If you want you can enable Facebook's in-built NLP too.
Then inside your webhook, send a call to Wit.ai, and get its output in JSON. Then you must process the JSON and send a reply back to the customer using a Sendmessage API call.
It's a bit long-winded, but if you have this setup, you can potentially use any AI engine in the backend. Including wit.ai or dialogflow.

Resources