19. A system comprising: one or more processors; and memory communicatively coupled to the one or more processors and storing executable instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising: causing a virtual agent to be output to facilitate a conversation with a user; identifying a first goal to be accomplished, the first goal being associated with multiple variables; receiving natural language input of the user; determining that information for a variable of the multiple variables is missing; causing the virtual agent to prompt the user for the information that is missing; receiving additional natural language input; determining that the additional natural language input relates to a second goal, distinct from the first goal; performing a task related to the second goal; and causing the virtual agent to return to the first goal and prompt the user again for the information that is missing for the first goal.
21. The system of claim 19 , wherein the operations further comprise determining the information that is missing based at least in part on context of the conversation.