Weather App not working on Action simulator

Weather app is working perfect in “Testing prototype” on voiceflow but when I’m trying the same after uploading in google actions project, its showing an error.

1 Like

can you show your utterances settings and slots settings?

BTW, this weather app is something based on tutorials somewhere? If so, I just want to check it.

1 Like

I don’t know what are these utterances settings and slot settings. I never came across these terms till now.
And yes this is a part of boltiot training.


This is the design tab of weather app in voiceflow. I used API key also. It was working fine while prototyping in voiceflow. The issue was only in google assistant and in actions simulator.
Same issue was faced by some other students also from that training.
https://voiceappsforum.boltiot.com/ This is the link for boltiot forum where similar issues were posted.

https://drive.google.com/file/d/1IbiXL6ZDMF3NX6YYfacWwU2OiBzFm6i5/view?usp=sharing
This is the link for the recording of working of this weatherapp in voiceflow prototype.

ok. I am sure this works in Prototype and also I guess it “had worked before” in Google actions simulator.

Currently, Voiceflow’s Google Integration is connected with Google’s new conversational app builder called “Actions Builder”, which replace old Google’s “Dialogflow”.

Actions Builder is simple and easy to setup and use but lots of useful things existed in Dialogflow has been losted such as slot type like Geo City, which automatically recognized a keyword for city name.

so you need to use Custom slot type but Custom needs example values for city name by yourself otherwise Google does not understand what user said as a city name. I guess that’s why error happens.

IMO, Voiceflow’s new integration and also Actions Builder just has been released the last year and still in the middle of development. So, these are current limitations for both Google and Voiceflow. In future, it should be improved.

2 Likes

Can you please tell how to assign those example values for custom slot in order to recognize city names. I have to submit this project working video in order to complete my training. Can you please help me out with this.
Thanks

2 Likes

Hey @abhigna , you can create a custom slot type that has a variety of city names. You can create a custom slot within the interaction model manager: Voiceflow Documentation

@abhigna

There are 2 ways to capture what user says: Capture Step and Choice Step.

you are using capture block. Then add possible city name like this.

Using Choice Block, you can manage intent and slots via interaction model manager as Braden says.

@kun432 Hey! I was facing the same issues and I tried doing what you did in the picture. However Im still facing the same issues with the city input causing the error in google action sim. Could you please help? Thank you.

@UKN sorry, I guess capture block does not work for this. maybe need Choice Block instead. Let me check.

I tested and this is my current workaround.

Disclaimer:

  • I’ve not tested the whole actions because I don’t know your sample in detail and what weather API you use.
  • This is just a workaround. This might not be perfect and there might be better ways in future.
  • You need to fill in possible values for city name slot. This is because Google has removed useful built-in slot for getting city name and also changed their system.

remove Capture Step.

put a Choice Step instead of Capture Step.

Set the settings of Choice Step. First, create Intent name like capture_city_name.

s_125

create a slot.

choose Custom for slot type. Custom slot type needs example values. add a city name for Slot Value. If you wanna add more, click on “Add Custom value”.

After adding example values, click on “Create Slot”. (I only added 3 for my test, but you should
add more possible values)

Back to Choice Step setting, click on Enter.

Click on Else.

add some texts for when what user said does not match with intents and slots. Actually, this seems sometimes works and sometimes not for Google, but you should because this is very practical way for using Choice Step. Then go back to Choice settings by clicking on Choice on the top.

Now, this works if the city name user said matches with example slot values we added.

However, if it does not matched, same errors still happen. To avoid this, you should add more example values for slot.

you can add more example values via interaction model manager.

s_122

I have tried several ways to avoid this but cannot find better ways. Also I created a sample using Actions Builder without Voiceflow, same thing happens. So, this is current limitation for Google because they changed their ways.

Thank you so much. I will try to do it now.

@kun432 the api used for this project is weatherbit api. Since this api has parameters needed to decide city name we would need variables. What would be considered as variable in your example given?
(Also thanks alot for the effort in helping us I really appreciate it :smile: )

you can use a slot as a variable. so {city} slot can be almost same as {city} variable. I think you don’t need to change API Block. (That’s why I chose {city} as slot)

i have done all the process as u said and test is showing like this

Enable debug mode and test again to see what happens.

@kun432 Thanks alot, it is working for me now. But I have a doubt. While this will work for a pre-defined list of inputs, what are we supposed to do if we need the input to be arbitrary and not from a given set of inputs?

Normally, if user utterance does not mach wiith any intents or slots we prepared, it goes Else part for fallback and say like “sorry I couldn’t understand. say again?” or “that city is not supported yet. try with other city name.”, then ask again. For Alexa, this works without any problems (also Alexa has built-in city name slot type).

However, Google seems change their behaviours and it seems does not work currently. I’ve not tested all, but when user utterance does not match with any intents or slots AND when it does matches with Google’s standard features, such as searching wikipedia or answer the weather, seems they end our actions’ session and try to switch to their standard features.
(BTW, those standard features cannot be invoked on test simulator of Actions on Google. That’s why error happens.)
Also, it seems happen when user utterances are like simply short word and related location such as city name.

This is all I know based on my research currently (so it might be wrong, sorry) And this happens with my sample action I created using Actions Builder only (I mean created without Voiceflow), so I guess this is because of Google’s changes.

There might be any fixes in future by Voiceflow or Google (IMO, Google should do). But for now, I’m not sure. That’s why I said “workaround”.

1 Like

Thank you very much! If there is any update in google or voiceflow pls put it here as well

1 Like