Main.yaml

Main.yaml defines the main story. This file is required because it represents the root state of the dialog. This is where everything begins. There are a couple special behaviors for the main story:

  1. This story cannot be re-used by other stories.
  2. init actions may be specified, which are run only once when Diatheke first starts, before the start_actions.
  3. Instead of returning to the parent story, the main story will return to the start actions when the end of the main story is reached. The main story has no parent, and returning to the start of the story automatically keeps this in a loop.
  4. The last item of the start_actions list may not be the “start” or “end” named action.

Properties of main story

init_actions

(Optional) This field is only valid for the main story. This is where actions that should only be run once at session startup are specified. They differ from the start actions in that:

  1. They are optional
  2. They can only be run once at startup

start_actions

(Required) The list of actions to execute when this story begins. The dialog will automatically return to this point when the main story reaches its end.

conditional_actions

(Optional) Specify any conditional actions for this story. See Conditional Actions

input_actions

(Optional) Define the intents a user may express to start a dialogue. See Input Actions

named_actions

(Optional) Give a name to a group of actions for re-usability. See Named Actions

defaults

(Optional) Specify default actions. See Defaults. Because this is the main story, these defaults (if specified) are essentially the defaults for the entire model.