I am trying to call the node service developed in actions in ibm watson conversation.
I am inputting two values say username and father name:
.
Right now there is just a link to call the external API (link for user details). I want to get the user details directly in chatbot as response once the username and fathername are entered.
I developed a node service for this. But I am not able to figure out how to connect chatbot dialog to node service.
Can anyone help?
You can either make programmatic calls from the dialog node using IBM Cloud Functions.
https://console.bluemix.net/docs/services/conversation/dialog-actions.html#dialog-actions
or you need to carry out an action, based on the detected intents.
https://console.bluemix.net/docs/services/conversation/develop-app.html#implementing-app-actions
Related
I have built a google assistant agent with DialogFlow. I plan to use it as a chatbot. It works rather well as it calls my webhook page. The problem is that I need an id to differentate users. Unfortunately There is no such id in the json I receive in my webhook.
I try to follow the instructions of https://developers.google.com/assistant/identity/google-sign-in#configure_the_project , to receive this id in the webhook . But the process mentions the creation of a scene and unfortunately I can not do this with the version of my Actions Console: It does not have a menu to manage scenes.
Does anybody know how to solve this ? or more generally to get the id of the user or of the device in the webhook ?
I have a free SNOW developers instance ,and i want to be able to raise an incident from Google DialogFlow. I have the user name and reason for the call transcribed into text and need to pass it to SNOW to create the incident. I have already created an integration where i can query the status of a SNOW incident from Google.
Here you go, you can do this with fulfillment.
Enable fulfillment on that intent.
Write it in NodeJS or JAVA or python.
Raise the ticket from your fulfillment (use service now API make http call from your server)
Once you get the response, send the ticket number back to google assistant, reply to the user.
This the way you can implement this. Directly from dialogflow you can not integrate any other 3rd party API.
I have successfully implemented google assistant on rpi using gassistpi and added agent on dialogflow also. The issue is that if multiple users invoke google assistant on different raspberry pi I am not able to identify which user has invoked the action as request from webhook on dialogflow doesn't have any user identity information. Thus, I am facing issues while retrieving data for particular user.
I tried using account linking on actions on google using google signup over voice but I am unable to implement that.
The Google Assistant SDK does not have voice match as a feature, so you would be unable to use it to identify individual users of the Action on that surface.
when your webhook is called, you have the ability to store data from every request. For instance look at :
https://developers.google.com/actions/assistant/save-data
That way you can maintain and know each devices session. Even if you don't know the user.
I have created a watson conversation using assistant-simple github repo in node.js and it is working fine locally and in ibm cloud also. Now I want to log these conversation messages in a database. How can I log these conversation messages using database in node.js.
Assistant will keep the messages in a log for a small period of time List logs for a workspace and see Log limits.
Alternatively you will have to code putting messages into a database inside the NodeJS (or other language) server Orchestrator layer (which the UI communicates with). This layer gets all the user messages and Assistant responses and so can store them where you want.
I am not aware of a sample which directly communicates with Assistant and stores the user messages in a database. You would need to take various pieces of code and put them together to achieve this.
For example this sample shows how to upload information to a Cloudant database running on IBM Cloud, using NodeJS.
Alternatively if you don't want to write the code locally, you can invoke App Connect to store the data in a database. This Assistant and App Connect sample shows how to use Assistant actions to invoke AppConnect at some point in the dialog flow, either from the Assistant service (using a Cloud Function) or from the Orchestrator layer (as a client action).
The sample passes a user Id found in the utterance, but the approach is to take some data from Assistant, invoke App Connect and pass it to App Connect, and App Connect calls some other external system with the data. In your case, the data could be the user utterance and Assistant response, and App Connect could store this in a database.
One option would be to leverage cloud functions to make a call to another service.
Depending on what you want to do with the conversation data. If you wanted to access chatlogs and metrics you could send it to a logging service such as www.chatseer.com so you can access the logs.
I have developed a chatbot using dialogflow and hosted my webhook api to firebase cloud. I have integrated this bot to MS Team and Skype where I am able to access the bot from both channels. I have a requirement that I have to show "user typing..." notification to users in the chat window similar to session.sendTyping() having in MSBot. Do we have similar functionality using webhook option?
Any help would be appreciated.
Thank you!
This is not a feature that is built into Dialogflow. If you want to add this, you'll need to use another system to store the state of the focus and receive it on other devices. This could be accomplished through storing the boolean state in Firebase's database, for example.