Problem using .recent attribute of sys.date parameter in Dialogflow - dialogflow-es

I have question regarding Intent configuration in Dialogflow.
I've found information on StackOverflow regarding ".recent" attribute of sys.date parameter.
The idea is that using value from that attribute gives a date that happened in the past (i.e. "Monday" will be translated to last Monday, not next Monday).
I've encountered a problem when using it with required parameters.
The result in date interpretation differs depending on the input:
has the user provided all required parameters at once
user has been prompted to deliver missing ones.
Please find example below - notice different dates returned for the same input
Intent configuration
Behavior
Questions:
Do you know what may be the problem here? It seems like a bug for me
I've searched and I have not been able to find documentation on
Dialogflow's or Google's sites regarding ".recent" - do you know
where I can find it?

Related

Why dialogflow cant recognize CNY?

enter image description here
Why dialogflow cant recognize CNY?
I don't know Chinese language, I dare giving the following answer based on my observations.
In the image, a single training phrase has two parameters with same name with two different values for #sys.currency-name, what is strange to me is that both parameters are highlighted with purple. I think a parameter name was changed to have the same name than the other (which is not correct due to they have different values). By having the same parameter name with two different values I think Dialogflow will decide which one to return or combine.
Please try to change the parameter names with currency-name-1 and currency-name-2. Most probably Dialogflow will return each value (USD and CNY) in a different parameter. I think this should fix the behavior because #sys.currency-name is an ISO 4217 string where CNY is already included.

DialogFlow - 1 word trigger 2 entities

For my project I need to trigger 2 entities by one word. I have two entities with list of restaurant types the restaurant_type_id and restaurant_type. In the responses I am using $restaurant_type, but I need also to trigger the id of the restaurant type that is inside restaurant_type_id.
In the example below you can see that only one of the entities is triggered.
Is there a way to do that or that is not possible? I have tried looking for more information, but couldn't find anything in the DialogFlow Docs.
One way of getting the id as well as the name is by asking the Dialogflow to send the original value along with the resolved one.
To do this, you can create one single entity like below,
Next in the intent section under the parameter, you can tell the Dialogflow to send both the original and resolved data.
Now you have both the id and name.
In order to work the above answer, you will have to follow this rule. Otherwise, it won't recognise.

Dialog flow having trouble matching parameters

I am having an issue where dialogflow does a really bad job of matching paramters.
At first I was trying to use specific fields types like #sys.geo-city-us and #sys.given-name, but when I entered a name like Jones it matched it as a city even though I was answering the question about my name.
In the above example I answered the name question and it matched it to the company even though name and company are #sys.any entities. I don't understand why in response to a question for a specific parameter with the entity type of any it fails to match and tries to plug it into another parameter value.
Is there something I am missing about how parameters are matched?
I think this weirdness may be related to doing both #sys.any and setting is list. I ended up doing #sys.any without is list set for the name and then parsing out the names in the code. Then I left city as #sys.geo-city-us. This seems to work for my specific case but I would caution others that multiple #sys.any fields can cause some weirdness, especially with is list set.
I wish there was a setting that when I ask for X whatever the user relies is taken in as X, because that is not what #sys.any is doing.

New to DialogFlow, proper values won't appear when referencing them

I'm working my way through the tutorial and I am pretty sure I'm following it closely but it doesn't seem to be working.
I think I've successfully connected the value with the entity, then referenced said value in the response. But it seems like the entity is not responding.
You don't show the text response, but it seems unlikely this will do what you think it does.
As you've written it, the Intent will match if a user says something like "What is the February 10th"? Which doesn't make much sense.
Specifying a parameter against the sample phrase means that you expect the user to say something that matches that parameter in that place. In this case, you're saying the parameter is of type #sys.date, so you're expecting them to say a date of some sort (there are a variety of possible things that will match).
If you want the user to say "What is the date?" as a phrase, then the "date" part shouldn't be associated with a parameter. You'll then need to fill in some value for the reply - likely through a webhook.

api.ai max of 4 required parameters

I am trying to build a conversation but I have managed to hit a stumbling block. It looks like I can only have 4 required parameters ....
Here is a screenshot of my intent:
This will work with no issues, but if I add another required parameter, when my conversation gets to that last required parameter prompt, it never accepts the text I put in.
Does anyone know if this is by design? Or am I doing something wrong?

Resources