A method, comprising: at an electronic device with one or more processors: receiving a first natural-language input; determining whether the first natural-language input satisfies a first dialog criteria of a multi-turn canned dialog, wherein multi-turn canned dialog comprises a set of one or more predefined dialog sequences dictating a flow of dialog between a user and the electronic device; in accordance with a determination that the first natural-language input satisfies the first dialog criteria of the multi-turn canned dialog: identifying a first predefined natural-language output of the multi-turn canned dialog corresponding to the first natural-language input; outputting the first predefined natural-language output; receiving a second natural-language input; determining whether the second natural-language input satisfies a second dialog criteria of the multi-turn canned dialog; and in accordance with a determination that the second natural-language input satisfies the second dialog criteria of the multi-turn canned dialog: identifying a second predefined natural-language output of the multi-turn canned dialog corresponding to the second natural-language input; and outputting the second predefined natural-language output; and in accordance with a determination that the first natural-language input does not satisfy the first dialog criteria of the multi-turn canned dialog: identifying a task associated with the first natural-language input; and performing the task associated with the first natural-language input. receiving a first natural-language input; determining whether the first natural-language input satisfies a first dialog criteria of a multi-turn canned dialog, wherein multi-turn canned dialog comprises a set of one or more predefined dialog sequences dictating a flow of dialog between a user and the electronic device; in accordance with a determination that the first natural-language input satisfies the first dialog criteria of the multi-turn canned dialog: identifying a first predefined natural-language output of the multi-turn canned dialog corresponding to the first natural-language input; outputting the first predefined natural-language output; receiving a second natural-language input; determining whether the second natural-language input satisfies a second dialog criteria of the multi-turn canned dialog; and in accordance with a determination that the second natural-language input satisfies the second dialog criteria of the multi-turn canned dialog: identifying a second predefined natural-language output of the multi-turn canned dialog corresponding to the second natural-language input; and outputting the second predefined natural-language output; and identifying a first predefined natural-language output of the multi-turn canned dialog corresponding to the first natural-language input; outputting the first predefined natural-language output; receiving a second natural-language input; determining whether the second natural-language input satisfies a second dialog criteria of the multi-turn canned dialog; and in accordance with a determination that the second natural-language input satisfies the second dialog criteria of the multi-turn canned dialog: identifying a second predefined natural-language output of the multi-turn canned dialog corresponding to the second natural-language input; and outputting the second predefined natural-language output; and identifying a second predefined natural-language output of the multi-turn canned dialog corresponding to the second natural-language input; and outputting the second predefined natural-language output; and in accordance with a determination that the first natural-language input does not satisfy the first dialog criteria of the multi-turn canned dialog: identifying a task associated with the first natural-language input; and performing the task associated with the first natural-language input. identifying a task associated with the first natural-language input; and performing the task associated with the first natural-language input.