Dialogflow and heroku Webhooks - node.js

I have created a Dialogflow agent which is integrated with telegram bot. The bot answers all the questions to which is trained. Now I want to create a webhook to which the Dialogflow agent will fetch the queries ( e.g weather , movie ratings etc )say from another website. How do i carry it out. I have googled but so far not successful. can any body suggest basic tutorial for the above or examples.
thanks

You can check out my answer here. Most of the part would be helpful. Once you tested it locally you may follow this to deploy NodeJS code on Heroku.

Related

Hot to get clients location data in Dialogflow CX

I am writing an app in dialogflow CX which suggests locations to a user based on position and other data about the user.
The flow for the user requesting a location works by sending dummy coordinates to my python flask using a webhook. The flask sends a location back which gets presented to the user. So far so good.
My current objective is not sending dummy coordinates but using the clients real location.
This is my first time working with dialogflow CX and I've also never used any other Google service like actions on Google or dialogflow ES.
After some research I only found old documentation on how to extract client information using dialogflow ES. Some other documentations claim it is now only possible with actions on Google.
So I tried using dialogflow ES documentations and got rich content working.
Sadly the "old" solution for getting user data using dialogflow ES helpers did not work for me or I simply used them wrong. Any help, solution or clarification on how to solve this problem or if it is even possible to do this in dialogflow CX is greatly appreciated for I am getting more confused by the documentation than actual help!
And what device is your user in to get that info?
I asume you could ask the customer for his location as well.
I recommend you to check the ES connector of Voximplant, that would allow to have that flow very easily over chat or voicecall as well.
You can pass any metadata to the webhook and provide the flutter response in the chat.
I mean, instead of using the DF fulfillment, you use Voximplant that is easier to work with.
Here a tutorial to connect DF CX to Telephony and
How to have a custom channel to be responded by DF bot.
Let me know if you have questions about this.

Azure Bot Creation with Natural Language understanding(LUIS)

I am facing issues while building a Voice bot using nodejs in Microsoft Azure, Currently i have made some research and built a sample chatbot which works fine using nodejs.
I have tried MS portals for voice bot integration and unable to take it forward, need guidance and suggestions.
My idea is getting a number from Twilio, then put my azure bot's end point URL in the twilio number.
Once my twilio gets an incoming call it will route the request to the Azure bot which will respond with a greeting and ask for few inputs, then the recorded voice should be passed to the LUIS app for Natural Language understanding and give the required text which will be further handled by the Azure bot.
I am not sure whether this is good solution, please suggest
I am not able to see any sample code for nodejs. Steps for integration and a basic sample code is what i need as a basic to start with, Your inputs/suggestions on this is highly appreciated.
Using the Bot Framework SDK for Node.js, you can specify text to be spoken by your bot on a speech-enabled channel in either of the following ways:
Set the IMessage.speak property and send the message using the session.send() method
Send the message using the session.say() method (passing parameters that specify display text, speech text, and options)
Send the message using a built-in prompt (specifying options speak and retrySpeak).
Feel free to review the following documentation provided and sample code for more details.
Update
Also check out Connect a bot to Twilio.

Basic Concept of Chatbot using Wit.ai

I am trying to create a chatbot application where user can create their own bot like Botengine. After going through google I saw I need some NLP api to process user's query. As per wit.ai basic example I can set and get data. Now I am confused, How I am going to create a botengine?
So as far I understand the flow, Here is an example for pizza delivery:-
User will enter a welcome message i.e - Hi, Hello ...
Welcome reply will be saved by bot owner in my database.
User will enter some query, then I will hit wit.ai API to process that query. Example :- Users query is "What kind of pizza's available in your store" and wit.ai will respond with the details of intent "pizza_type"
Then I will search for the intent return by wit in my database.
So, is that the right flow to create a chatbot? Am I in the right direction? Could anyone give me some link or some example so I can go through it. I want to create this application using nodejs. I have also found some example in node-wit, but can't find how I will implement this.
Thanks
What you need is webhook. You need to call different API's based on the user intent. I believe you can distinguish between different intents using parameters available in request. Check this out - Creating nodejs webhook for dialogflow

How to create a chatbot with facebook messenger like templates

I'm trying to create a chatbot for use in a chat app I've created. I basically need the chatbot to send me replies that have message templates like in facebook messenger. For example, If I type in "what's the weather like", I want my chatbot's reply to look like facebook's media template, linked here: Media Template
Does anyone have any tutorials or links I can follow?
Thank you in advance.
Cheers!
Usavaully work flow of chat application as follows,
Message providers(Facebook, twitter,slack etc..) receives messages from user
Message is sent to the configured endpoint(your webserver) according to the settings provided in the face book developer page reference
In the webserver you classify the intent prepares the response according to the request and sends the responses back.
So in the 3rd point web server you give responses based on the platform you are responding to reference, since in your case it's your own platform you need to design your own UI based on the response format or you can use some predefined html templates.
I hope answer gave some direction to work on.

Developing Chat Bot using Wit.aI

I am planning to develop a chatbot using Wit.ai for Android and iOS. I want to have a server where I have the Bot engine. The Bot Engine has several components like Exported application from Wit.ai, calls to weather API, date API etc. When the user sends a message, it is sent to the Wit and it returns back a response. For example, when the user says, "What's the weather in New York, the message is forwarded to Wit which further calls weather API to fetch weather and returns it back to the bot. Bot in turn forwards to app which acts as the presentation layer."
I am planning to use the following to achieve the above:
Heroku to act as the server.
Wit.ai as the NLP
Planning to integrate app with messenger
Since I am new to this kind of programming and architecting, my questions are very basic. Please bear with that. I have the following questions:
Can I have a program uploaded on Heroku which talks to Wit.ai and other APIs? If yes, can someone show a detailed tutorial to call Heroku from app, how to make a call from Heroku to other APIs?
I was advised by some to use Firebase which is Baas. Can I achieve more using that?
With regards,
Suresh
We use the heroku to getting the https url,and if we got that ,we can set up webhook url in developer.facebook.com .
To understand more,follow this tutorial.
Remember when you try to test after you set up all,u need to test ur own account(means cant test every facebook account yet.)
To be public ur messenger bot,u need to wait 5 business days at least.

Resources