How to get response from the API (which is not in local) using webhook - dialogflow-es

An android app has been developed by my development team. For which a chatbot is to be developed. So I chose DialogFlow platform to create the chatbot. Here, the API's for the app screens has been created by the development team. For the chatbot in DialogFlow, after creating all the necessary intents, is it just enough to enter the API url in the webhook url section or do I need to apply any logic in inline editor. [Here, the API's are created using python and it is connected with MySql DB]
As a beginner to DialogFlow, I couldn't move forward. Can anyone please help me out. Thanks in advance.

If you made your intents for your chatbot you will still need to write code which chooses what to do for each intent. Dialogflow's documentation can explain you more about the details of what you need to do.
Below is an image of an overview of all components from the documentation. To connect your chatbot to your MySQL API you will have to write a webhook service. This service can be an API which you host somewhere or code that you write in Dialogflows inline editor. Here you can program what API's to call on each intent and how to output it to the user. More info about that can be found here.

Related

How to add google assistant or alexa to our own websites or apps using their sdk?

I just wanted to know if we can somehow integrate alexa or google assistant onto a website I made. I don't want to make completely new skills or apps. I just wanted to know if I type something, can I get a reply from google assistant or alexa and show on website.
I think Google has some google assistant sdk but then, it's written on python and even the node-js one is dependent on python environments
So is there any chance I can do this?
No.
The only way to initiate conversation with the smart speaker is by voice. No server side activation, sorry.

Google Assistant - existing dialogflow intents & new actions cooperation

I have a technical question about the Google Assistant - unfortunately, I couldn't find a clear answer anywhere.
At the moment our company have:
the conversational chatbot built on Dialogflow, which is constantly developed by our employees
Google Actions agent. Our developers managed to construct the connection of the Google account and our client's account on our platform using OAuth 2.0 and created the first actions that, by the exchange of tokens, allow the return of certain information from our platform to the Google Assistant and vice versa - providing certain information in the Google Assistant that are sent and saved in the customer's account on our platform.
We would like both actions on actions.google.com (2) and conversations on Dialogflow (1) to cooperate with each other in the Google Assistant. One team is working on the chatbot, and the other on advanced actions, and we would like it to stay that way.
My question is - is the absolute only way to finally publish it on the google assistant is to migrate the chatbot from Dialogflow to Actions Builder and stop using Dialogflow?
Or maybe there is a simpler solution where both these environments (of course woring on one profile / agent) cooperate with each other and it will be possible to continue working on dialogflow?
We understand the advantages of Action Builder, but Dialogflow is just good enough for our needs.
There are a few angles to how you can approach this, depending on your exact needs and limitations you may accept, but the general answer is "yes, you can do both at the same time".
First, Dialogflow ES continues to support the Actions on Google Integration. Just as your Dialogflow agent integrates with other platforms, it should still be able to integrate with Actions.
There are some caveats (and some upsides!) with this, however:
You'll be using the Actions on Google v2 platform, rather than the v3 that comes with the Action Builder (and newer SDK). If the features you need are supported on v2, then you're fine. (Account Linking is supported in v2.) But if you need some of the features in v3, then you will run into problems.
You can't have used the Action Builder on the same Cloud project, and you should start the integration from the Dialogflow side. (But once you do - you'll be able to use the Actions Console to do things such as submit it for review, etc.)
Make sure you do not "upgrade" from Dialogflow to Actions Builder. This severs the two, so you won't be able to update the Action from Dialogflow.
Another approach is that you can use Action Builder, but have it forward all (or nearly all) of the requests to Dialogflow. Under this scheme, you would have an Action Builder project that has as little as one Scene with an Intent that captures all input, sends that to a webhook you control, which sends it to your Dialogflow agent via the Dialogflow API, gets the response from your Dialogflow agent, and forwards that response through Action Builder.
This is a little more complicated, but may offer some benefits if you want to take advantage of more advanced Action concepts that may not be available using v2.

dialogflow, google action and webdemo

Can you like with the Test Simulator have an embedded Google Action or use a Live chat style bot on a website with Google Actions responses? Are there any code labs or third party platforms that do this?
Yes, some of the 3rd party chat windows I know of:
- Smooch
- Kommunicate
You will have to use the Payload response to send specific components (such as cards, quick replies or images)
There's also this Github repository which allows you to set Google Actions replies and it will display it in chat:
https://github.com/mishushakov/dialogflow-web-v2
Or you can write your own in React or Vue.
Actions on Google is the platform for Google Assistant developers and have own library and components. You can use these features and components only on Google Assistant projects, since every platform has different features and capability. If you need to create a chatbot with these kind of features, you should check platform's docs eg. Facebook, Telegram...
If you want to create a chatbot which has some rich responses, Dialogflow has own attributes such as Card, Suggestion. So, you can build your agent and integrate Dialogflow (not Google Action).
You can check here for platform and Dialogflow's response and payload ability.

Linking DialogFlow to a Desktop Application

i just started on a project in DialogFlow and i was wondering is it possible to link my dialogflow to a specific desktop application? And if possible, what is the solution?
For example:
By saying "launch app", it will open up the desktop application "app"
While this is certainly something that Dialogflow's APIs can help with - this isn't a feature provided by Dialogflow itself. Dialogflow's NLP runs in the cloud - there is nothing local that it can "do".
However, you can create a launcher app that does this sort of thing by opening the microphone and sending either the stream or a speech-to-text version to Dialogflow through the Detect Intent API. Dialogflow can determine an Intent that would handle this and pass that information back to your launcher, and your launcher can then locate the app and start it.
I'm not sure how practical this would be, however. Microsoft already has this feature built-in with Cortana, and Google is building the Assistant into ChromeOS which will do this as well. While I'm not aware of Apple doing this, I may just have missed an announcement that Siri does this as well. And if there isn't someone who is doing this for Linux using some local speech-to-text libraries, it sounds like the perfect opportunity to do so.
You may try and use different Dialogflow clients available on their GitHub page. Java Client 2 may be helpful to start your work. However, you will be required to write your own UI code and have to consume Dialogflow API.

how to write own logic without using qnamaker

I am still trying to understand Chatbots. Currently i have already made chatbot which is integrated in skype. I have Sharepoint online where user search for FAQ. If they dont find then they ask BOT which sends request to LUIS and Qnamaker.
Qnamaker then sends response back by looking it into its database. I upload FAQ from sharepoint to Qnamaker using sharepoint workflows. But i want to write my own logic and get rid of Qnamaker.
What are ways to do it? Any good tutorials? I also wanted to know how the flow happens. For example if we dont use Qnamaker then we fire queries in sharepoint based on what user asked? I dont understand how i can fire queries in sharepoint if user makes typo then we will not get anything from sharepoint. So any tips on how to implement this without using qnamaker is highly appreciated?
The FAQ bot generator is a subset of the main Microsoft bot framework. You should do some research on the Microsoft Bot Framework. The link above takes you right to the documentation overview of the bot framework and from there you can get into developing one. They have links to a few sample projects as well as a large number of code snippets within some of the article explanations. It has a full setup guide that will walk you through the initial setup so it should be easy to get a basic echo bot running, but if you are not a programmer you should stick to the FAQ generator.
I suggest you use either node.js or c# to develop the bot since these are directly supported by the framework. I am personally using c# to build my bot from the ground up. The purpose of mine is to be used within a customer facing android/ios app that will help with questions, checking the status of different things, and even paying bills.
Just remember you will need to manually set up your cloud hosting. I host mine in azure alongside a web interface I built for it (you can build the website inside your bot if you are using c#, just replace the default.htm file in the web.config with the main page of the interface).

Resources