How to handle facebook thumbs up/like in api.ai - dialogflow-es

Everytime someone sends a thumbs up, api.ai doesn't understand anything and my bot goes into the fallback intent. How can I handle 'thumbs up', 'thumbs down' text/emoji/image in api.ai?

I really want to comment but don't have enough points to post.
API AI supports emoji https://discuss.api.ai/t/emoji-support/1061/12
Hope you can find a clue.

Related

Re-prompt user on a Mobile Device if no response

I have a mobile application which has a google assistant SDK integrated within and I want to re-prompt the assistant to say something like "Hey, I am still here, can I help ?" on 'no-input' from the user. I would like to know what could be the best approach to do that ?
I already went through a couple of links on stack overflow and github where I read that it is "not possible" to "re-prompt" on a Mobile Device as Assistant closes the microphone if there is no response from the user. What would be the best way forward -
Can I increase the timeout of when the assistant closes the microphone ?
I did figure out a way to keep the microphone always "ON", but it creates a "SERVICE UNAVAILABLE" error after few seconds and then the user has to re-start the service again which is not a good UX. Is there a way to mitigate the error, my investigation reveals it could be because of audio buffer ?
I read that we can use "Media Response" so that a Media is played while the user doesn't respond but is this the best approach ?
I also have a follow up question here, if I go with "Media Response" approach, is there a way I can explicitly close the conversation after say 30 secs of no user response ?
Some of the links I went through -
Follow up intent for NO INPUT not firing with dialogflow
Reprompt user if no response in google action?
Can you please suggest a good approach to tackle this problem ?
My apologies if the question sounds silly, I am new to DialogFlow.
EDIT: - I also came across "continued conversation", is it possible to enable "continued conversation" from the assistant SDK, I searched but didn't find any documentation on that ?

Dialogflow: following up on quick reply directly to webhook

I am building a simple quiz bot with Dialogflow.
When I detect a "start of quiz", I am able to send a Quick Reply with 3 proposals, thanks to the fulfilment on the Question intent.
However, when the user clicks on one of the proposed answers, I need to have that response back to my backend so I can check the result and finally give a score, for example.
Basically, the "response-check" intent should be automatic right after the quick reply and Dialogflow should not try to understand that response.
Is there any way to easily achieve this?
Using "events" you can directly trigger an intent. Or if you are only using Dialogflow console for training, better to have an output context say "check-answer" as an input context to your answer checking intent and use the same "check-answer" as output context to all your questions intent.

How do i make my Chatbot Message have some seconds of delay response in dialog flow?

I'm creating a chatbot for a Facebook page to solve people's questions and I wanted to make the bot messages 1 or 2 seconds of delay between each of the bot's replies. Could someone tell me how to do it in dialog flow? I couldn't find any answer around my research so hopefully someone could help me.
This isn't possible if you're using Dialogflow's built-in rich messages. It also wouldn't be possible using only webhook fulfillment and the Dialogflow Facebook integration, as you can only deliver a full set of messages as a reply at one time, and can't specify how they are delivered.
The only way to achieve that level of control would be to build the bot yourself (perhaps using an existing Messenger bot framework), and make calls from that code to Dialogflow to handle natural language understanding.

The words "not working" always trigger the default intent in Google Assistant

I have been working with Google Dialogflow to create a Google Assistant experience.
My GA Action is to Raise Support tickets and those tickets are raised in our system via API.
We ask the user to describe the Issue they are facing, We have used a fallback Intent to capture the Issue/Ticket Description(Since the reply can be any free text, is this the best way to capture free text?).
Once the user gives a description, A webhook is called and the results are sent to our backend to capture.
We have noticed that when the user uses the words "not working" as a part of the issue description, it always calls the welcome intent, instead of going to the follow up Intent. If the user describes the Issue without using those words, it works fine. Below are 2 different responses.
I personally feel that this is a bug in GA, is there any way to solve it?
I think you're doing some things wrong. I don't have enough information to understand 100% what you are doing, but I will try to give you some general advice:
A fallback intent is used to 'fall back' to this intent when a user asks something that is nowhere provided in one of your other intents. That's why your fallback intent has the 'input.unknown' set as action. It will be triggered when the user gives some input that is unknown for your application. F.e. I don't think your '(Pazo) Support Action' will provide an answer if the user asks to book a plane to Iceland, so that's when your fallback intent comes in to give an answer such as 'Sorry, I can't answer that question. Pazo is here to give you support in... What can I do for you?'
Your user can either register a complaint or raise a support ticket if I'm getting this right? I recommend you to make two seperate intents. One to handle the complaints and one to handle the support tickets.
Before developing advanced actions with a seperate webhook and a lot of logic with calling an API etc., I recommend to go through the documentation of Actions on Google:
https://developers.google.com/actions/extending-the-assistant

How to detect bot message/user message?

My FB-NodeJS-API prototype is not working correctly because my webhook is receiving the bot respond which is then sent to API.AI.
I need to set a condition where only a user's message should be received on the webhook request or only user's message should be sent to API.AI.
Can anyone advise me on this?
Can you explain the problem better? Please add the relevant code.
The bot response should go the user, not the webhook. The user input will come to the webhook.
I would suggest getting the bot to work without API.AI first and then adding support. My bot is in node.js so you may just want to jump to the source code.
For more information on setting up a bot see my article Facebook Bots for Fun and Profit
The example bot is DMS Software Bot
The source code is Github fb-robot

Resources