Once Dialog Management has been enabled for your skill (by making slots required), at every turn of the conversation, Alexa includes the status of slot collection as the
dialogState property in the JSON request sent to your skill. You can choose the skill’s response based on this property, rather than checking the status of every slot at every turn, reducing the potential complexity of the code.
dialogState can take any of the following values inside a JSON request:
'STARTED': a multi-turn conversation* has been initiated
'IN_PROGRESS': Alexa is in the process of eliciting/confirming slots and confirming intents
'COMPLETED': Alexa has all slot values and confirmations needed from the user
*A conversation in which Alexa must ask the user follow-up questions to elicit/confirm slots and intents. The conversation on the right is one example.
The same conversation is included on the right, now with dialog states labeled.