Global commands and if block

Hi everyone! I am a new here. I am just trying to build a skill by iterations.
I have a few questions. Unfortunately, I didn’t find the answers in docs and tutorials.

  1. I have a custom slot variable {type}.
    When the user says the {type}, I need to figure out what type is it. I use if block: {type} = Kundalini. And it does not work. Else branch activates.
    UPDATE: I changed “expression” type to “value”, and it starts working. But I have Slot Synonyms. I have to add all of them in if block? Can I map them somehow?

  2. I added a “random flow” to commands and tried to test it. And I had no response (the flow is not empty). Why?

  3. I am capturing a user’s name with choice block. Slot type US_FIRST_NAME. I can say things like “my name”, “testing”, “asdasad” instead of name. And it will capture as a user’s name, the else branch is not activated. Why?

Thank you for you help

{user_name} slot settings

  1. you can create synonyms when adding custom slot values. remember its value is always passed as main value, not synonims.(ex. main value is tea and synonim is ‘iced ted’, if user say ‘iced tea’, value will be ‘tea’)

for 2 and 3, you should test on Amazon Developer Console, not on Voiceflow. IMO, Voiceflow test is for simple and instant logic test, that means not simulate everything Alexa does.

1 Like

Thank you for your help! Unfortunately I have all this settings and it does not work(((

Maybe I did something wrong in if block?

again, recommend you should test on ADC. voiceflow’s test is not perfect and some feature doesn’t work.

1 Like

Thank you) I’ll try))

also, recommend to use mic when you test. then you can check how alexa recognize your utterance. This is so important because Alexa’s recognition is not perfect and sometimes will be different from what we expect.

1 Like

I appreciate. It will be my next iteration of testing)