Improving Generalization in Task-oriented Dialogues with Workflows and Action Plans