handle(handlerInput) { const {attributesManager, requestEnvelope} = handlerInput; // the attributes manager allows us to access session attributes const sessionAttributes = attributesManager.getSessionAttributes(); const {intent} = requestEnvelope.request; if (intent.confirmationStatus === 'CONFIRMED') { const day = Alexa.getSlotValue(requestEnvelope, 'day'); const year = Alexa.getSlotValue(requestEnvelope, 'year'); // we get the slot instead of the value directly as we also want to fetch the id const monthSlot = Alexa.getSlot(requestEnvelope, 'month'); const monthName = monthSlot.value; const month = monthSlot.resolutions.resolutionsPerAuthority[0].values[0].value.id; //MM sessionAttributes['day'] = day; sessionAttributes['month'] = month; //MM sessionAttributes['monthName'] = monthName; sessionAttributes['year'] = year; // we can't use intent chaining because the target intent is not dialog based return SayBirthdayIntentHandler.handle(handlerInput); } return handlerInput.responseBuilder .speak(handlerInput.t('REJECTED_MSG')) .reprompt(handlerInput.t('REPROMPT_MSG')) .getResponse(); }