Handle actions.intent.NO_MATCH_1



When changing to Actions Builder from Dialogflow, do I need to map actions.intent.NO_MATCH_1 to FallbackIntent?

\\ config.js

  intentMap: {
    'AMAZON.FallbackIntent': 'FallbackIntent',
    'actions.intent.NO_MATCH_1': 'FallbackIntent',    
    'actions.intent.NO_MATCH_2': 'FallbackIntent',    
    'actions.intent.NO_MATCH_FINAL': 'FallbackIntent',    

@AlexSwe @jan


Hey Mark

sorry, for the late response.

Yes, this should work and is the recommended approach.


I’ve used the same approach for NO_INPUT but it doesn’t seem to be working. Any thoughts?

    'actions.intent.NO_INPUT_1': 'FallbackIntent',
    'actions.intent.NO_INPUT_2': 'FallbackIntent',
    'actions.intent.NO_INPUT_FINAL': 'FallbackIntent',


NO_INPUT is handled differently. It’s basically a reprompt which is handled by the framework.

this.ask('foo', 'bar'); would return bar on NO_INPUT_1

You can also take control by defining the ON_NOINPUT1, ON_NOINPUT2, ON_NOINPUTFINAL intent in the handler.

   return this.toIntent('FallbackIntent');

Intent mapping in the config is not possible right now. Just added it to the v4 list.


Thanks! I’ll have to implement that.

Now can you help me solve my Actions Builder issue where Cancel/Stop/Goodbye just ends the session without playing the final this.tell?


This worked for me.

	END() {
		this.tell('Good Bye');

Did you enable the webhook call in the CANCEL intent?


Should there be an intentMap in config.js?

'actions.intent.CANCEL': 'CancelIntent',


Is it still not working with END() ?

We map actions.intent.CANCEL directly to the request type END. Intent mapping only works for the request type INTENT. Like we do with SessionEndedRequests on Alexa.

I think it makes more sense to handle it as an intent and do the mapping in the config like we do it with AMAZON.StopIntent. This would be a breaking change. I put it on the v4 list.


I’m doing some custom stuff in END. It works for Alexa and Bixby and for the old Dialogflow but not Google Actions Builder.