A method, comprising: at an electronic device with one or more processors: receiving a first natural-language input; determining a first intent based on the first natural-language input; identifying a first dialog flow based on the first intent; outputting a natural-language output associated with the first dialog flow; receiving a second natural-language input; determining whether the second natural-language input satisfies dialog criteria associated with the first dialog flow, fluw, wherein determining whether the second natural-language input satisfies dialog criteria associated with the first dialog flow includes: determining a second intent based on the second natural-language input; and determining whether the first intent matches the second intent; in accordance with a determination that the second natural-language input satisfies the dialog criteria, outputting a second natural-language output associated with the first dialog flow; and in accordance with a determination that the second natural-language input does not satisfy the dialog criteria: determining whether the second natural-language input satisfies dialog context criteria, wherein the dialog context criteria includes determining whether the second natural-language input is associated with a particular intent specified by the first dialog flow or includes determining whether the electronic device is currently in a particular state of the first dialog flow; and in accordance with a determination that the second natural-language input satisfies dialog context criteria, outputting a third natural-language output associated with the first dialog flow. at an electronic device with one or more processors: receiving a first natural-language input; determining a first intent based on the first natural-language input; identifying a first dialog flow based on the first intent; outputting a natural-language output associated with the first dialog flow; receiving a second natural-language input; receiving a first natural-language input; determining a first intent based on the first natural-language input; identifying a first dialog flow based on the first intent; outputting a natural-language output associated with the first dialog flow; receiving a second natural-language input; determining whether the second natural-language input satisfies dialog criteria associated with the first dialog flow, fluw, wherein determining whether the second natural-language input satisfies dialog criteria associated with the first dialog flow includes: determining a second intent based on the second natural-language input; and determining whether the first intent matches the second intent; in accordance with a determination that the second natural-language input satisfies the dialog criteria, outputting a second natural-language output associated with the first dialog flow; and in accordance with a determination that the second natural-language input does not satisfy the dialog criteria: determining whether the second natural-language input satisfies dialog context criteria, wherein the dialog context criteria includes determining whether the second natural-language input is associated with a particular intent specified by the first dialog flow or includes determining whether the electronic device is currently in a particular state of the first dialog flow; and in accordance with a determination that the second natural-language input satisfies dialog context criteria, outputting a third natural-language output associated with the first dialog flow. determining a second intent based on the second natural-language input; and determining whether the first intent matches the second intent; in accordance with a determination that the second natural-language input satisfies the dialog criteria, outputting a second natural-language output associated with the first dialog flow; and in accordance with a determination that the second natural-language input does not satisfy the dialog criteria: determining whether the second natural-language input satisfies dialog context criteria, wherein the dialog context criteria includes determining whether the second natural-language input is associated with a particular intent specified by the first dialog flow or includes determining whether the electronic device is currently in a particular state of the first dialog flow; and in accordance with a determination that the second natural-language input satisfies dialog context criteria, outputting a third natural-language output associated with the first dialog flow. determining whether the second natural-language input satisfies dialog context criteria, wherein the dialog context criteria includes determining whether the second natural-language input is associated with a particular intent specified by the first dialog flow or includes determining whether the electronic device is currently in a particular state of the first dialog flow; and in accordance with a determination that the second natural-language input satisfies dialog context criteria, outputting a third natural-language output associated with the first dialog flow.