Search code examples
alexa-skills-kitalexa-slot

Alexa - Using a slot right after the invocation for skill-internal routing


I have skill with an Invocation like this: "Alexa, ask SuperDuperEvent". But I want to be able to do this: "Alexa, ask SuperDuperEvent location". Where location is going to be a city.

Because my Skill is heavily location based I need to know the location that is requested before anything else happens. Is this possible?

Is it possible to start the skill with a location, too? Like so: "Alexa, start SuperDuperEvent location".

Is this at all possible with creating a new skill for every location? I want to avoid using this type of dialog:

User: "Alexa, start SuperDuperEvent"

Alexa: "What location do you want to know about?"

User: "Brussels"

Alexa: "What do you want to know about the SuperDuperEvent in Brussels?"

This is probably the way to go, but it does not feel fluid or engaging.

Cheers


Solution

  • I struggled with this for hours without finding any good comprehensive answers on SO. I finally found this post from Amazon Developer Forums Answer Hub which addresses the problem https://amazon.developer.forums.answerhub.com/questions/184825/how-to-handle-launch-and-intent-request-at-the-sam.html

    Different launch words arbitrarily behave differently, as defined in the documentation here https://developer.amazon.com/en-US/docs/alexa/custom-skills/understanding-how-users-invoke-custom-skills.html. If you want to use "start" then you also have to use the connecting word "and".

    However, your initial proposition of using "ask" works in my experience. "tell" can also be used without any connecting words.