Using Alexa terminology I can see just collecting inputs and assigning them to potential slots. Look at all combinations of slots that could match an intent. Do not throw away registered slots but rather allow the system to look at the current inputs and if they don’t match an intent, reach back to previous inputs to see if they can supply slots that match an intent. You can already filter out intents that do not include the slot(s) in the current input (the input your bot has not yet completed its response to). So “temperature” comes in and the bot doesn’t need to look for intents that are for driving directions for example.