Dialogflow ES fallback not working properly - dialogflow-es

I hope someone can help me with this one, I'm having a problem with the fallbacks.
I uploaded an image below just to illustrate how is the structure of the bot right now.
For this bot, every single intent must have a corresponding fallback, so that we can control the validation in the backend. Each intent has a parameter controlled by regex.
So the problem is: when I enter the wrong answer for the Intent 3, it should show me the Intent 3 - Fallback message, but instead it is showing me the Intent 2 - Fallback. And this is only happening with this particular intent, with the other 3 intents the fallback is working correctly.
Has anyone ever faced similar issue that can help me?
Thanks,
Chatbot structure image

Related

Triggering next intent without user input in Dialogflow

I'm building my first chatbot using Dialogflow. During my chat sessions, I would like to move on from one intent to another, without having user input in between. This can be seen in this image on Imgur.
The layout of the chat so far can be seen here.
I'm supposed to move from showing the video or article directly to "allright has your car..." without any user input, but I don't seem to be able to. How do I solve this?
I've tried using in and output contexts, but that didn't seem to work.
Thanks in advance!
Events can be triggered through Dialogflow fulfillment or the
detect intent API. These events can be handled in your Dialogflow agent or in fulfillment.
Check documentation here: Dialogflow Events
This means you will need to programmatically do this

Follow-up no intent is not working and throwing MalformedResponse

I'm trying to create Action on Google using the DialogFlow. And using a concept of follow-up intent.
My Intent structure is given below,
default-fallback
default-welcome
invoice-number
|- invoice-number-no
|- invoice-number-yes
|-part-number
|-part-number-yes
|-part-number-no
I think there is no issue with my code(fulfillment) because,
I'm able to reach till "part-number" now I have two option yes and no.
(invoice-number->invoice-number-yes->part-number)
If say yes, it is working perfectly but when I say no, it is not even
calling webhook, and directly throwing MalformedResponse error.
Error:
MalformedResponse Failed to parse DialogFlow response into AppResponse
because of empty speech response.
I compared intents available in DialogFlow and intent implemented in my webhook, and it seems I implemented all intents. Still, let say I forgot to implement intent then I think, action on google lib will throw no matching intent expectation if it trys to find intent which is not implemented. But there is no such error either.
What can be a solution for this?
Thanks in advance

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

Managing intents in google dialogflow

I am New to the Google dialogflow.
I created the Agent and intents.
Now i gave some user utterances (Training Phase) in intent. When user input related to the training phase response is coming.
User input other than the utterances it is going to fallback intent.
But i need user input does not matches to the utterances dialogflow must give the appropriate response as user need.
how to solve the situation.
Thanks in advance
I believe there are two options for your situation:
Create more intents and train them to improve your agent's accuracy for the intents. This is what you are supposed to do if you have a lot of training data. If not, try the option 2.
Create a custom Fallback Intent with an input/output context.
Option 1. is obvious like sid8491 is saying.
Option 2. is kind of a hack, but I think it can solve your situation by providing the correct input context and solved mine too.
One example is when you want to ask users to write feedback. Since users can write any feedback (i.e. it's hard to train the feedback intent with data beforehand), this is where a custom fallback intent comes in. Since you expect feedback from your user, you set an input context for your custom feedback fallback intent and users response (feedback) will match your feedback intent.
You can create a custom Fallback Intent by clicking the three dots right next to "CREATE INTENT" in Intent tab.
Hope it helps.

Creating Follow Up intent in API.AI

I am trying to create a Chatbot through API.AI. Now my chatbot has a flow and it responds based on the users query. So I have created many Follow up Intents. But my follow up intents are not connecting. It is returning the same respinse for the initial question. Where did i go wrong?
Would help to see what your intent looks like. From what you're saying though, it may be that the previous question is not getting the answer its looking for so it will just continue asking it until it does. Check your entity value under action within your intent.

Resources