0
votes

I would like to call my utterances without saying ask + InvocationName. By example:

Alexa, what is my plan today ?

Instead of

Alexa, ask my planning what is my plan today ?

I was thinking that you need to launch your skill (Alexa, launch my planning) and set shouldEndSession to false, but it's not working, do i do it wrong ?

I found "canfulfillintentrequest" explaning here but i'm not able to turn on it on dev alexa panel :/

So, i'm stuck and not sure if it's really possible ?

Thanks by advance for the answer.

1
Probably not want you're looking for but SmartHome skills allow for name free interaction "eg. alexa turn on my device"German
I'm looking for a custom skills but thanks for the info :/Nearyuk

1 Answers

4
votes

canfulfillintentrequest is exactly what you want if you are looking for name-free interactions to interact with Alexa without invoking a specific skill by its invocation name.

How CanFulfillIntentRequest works:

  1. The customer speaks to Alexa with a requested action, a question, or a statement that does not include a skill name.
  2. Alexa, process this utterance and queries few skills which can handle CanFulfillIntentRequest to check whether they can fulfill the request.
  3. Your skill receive a CanFulfillIntentRequest with the processed utterances and slots. Your skills has to then respond back with a canFulfillIntent object that contains the mandatory field canFulfill for the intent, and two optional fields for slot– canUnderstand and canFulfill.
  4. Alexa collects the responses from the original list of skills and select the best skill to fulfill the customer's request.
  5. Alexa calls the selected skill with an actual IntentRequest, just like how a customer might have invoked the skill by name. Your skill has to then respond back to this IntentRequest as usual.

If your skill supports the CanFulfillIntentRequest interface, then your skill may be chosen and auto-enabled to fulfill a query for users who have not enabled your skill yet.


shouldEndSession property is used to keep-alive a skill session (when you want a response from the user) for a max time of 8 seconds followed by reprompt and another 8 seconds. You cannot extend this time. While you are in an active session you don't have to use invocation name.

Note: The use of CanFulfillIntentRequest in Alexa skills is offered as a public preview/beta and may improve or change. This feature is available for English (U.S.) skills only.