Plan
The Planner skill introduces four different node variants that are almost identical, see Planner skill for more details about the planner skill. Depending on your Bot App template one or more of the following variants of this node can be used:
Node | Variant | Purpose |
---|---|---|
plan | todo | Plans a todo in a calendar using calendar free busy |
plan | todo slot | Plans a todo in a calendar using predefined slot capacity |
plan | event | Plans an event in a calendar using calendar free busy |
plan | event slot | Plans an event in a calendar using predefined slot capacity |
The properties that are configurable in all four variants are almost identical, see the below Node properties section for more details.
Node properties
Property | Description | Explanation |
---|---|---|
Strategy | Conversation strategy | The way the conversation will elicit the date and time, see below. |
Question (multiple choice) | The question text for choosing one of the provided options | Only applicable when the conversation strategy involves proposing multiple options. |
Question (one suggestion) | The question text for confirming one proposed option | Applicable when the conversation strategy involves proposing a single option or when the user requested a particular date and time that just needs to be verified. |
Try again | The repeat question when wrong input is provided | optional |
Failed text | The text to show when the proposed option is no longer available | This only happens when an option becomes unavailable between asking a question and the user confirming it. |
Assign to | To assign the result to a variable in the conversation | |
Remember | To store the variable in the user object too | The variable name in the Assign to will be used to store the value in the user object. |
Offset (in hours) | The amount of hours from now after which planning is allowed. | |
Until (in days) | The amount of days the bot can maximally plan ahead | |
Duration (in minutes) | Events and todo's that are not based on a slot need to have a duration. | The amount of minutes this event or todo will need in the calendar. |
Flow to collect event details | The flow that is executed to elicit more information from the user just before creating the Todo or Event | For instance to get the name, phone number and reason for the meeting from the user. |
Title | The title for the Todo or Event to create | |
Description | The description for the Todo or Event to create |
Conversation strategy options
This node allows for four different conversation strategies for eliciting the plan:
Strategy | Description |
---|---|
directly suggest 1 option | The bot will directly propose the first available option to which the user only has to reply with yes or no. When answering no, the bot will propose the next available option. |
directly suggest multiple options | The bot will directly propose a couple of options out of which the user can choose. The user can also ask for more options after which the bot will present the next couple of slots. |
first ask before suggesting 1 option | The bot will ask for the user's preferred date and time first before proposing an option that comes closest to the user's preference. The user can then answer with either yes or no. |
first ask before suggesting multiple options | The bot will ask for the user's preferred date and time first before proposing a couple of options that come close to the user's preference. |
Outcome
When the Plan succesfully resulted in a planned to Todo or Event in the calendar, the tag plan::success
will be set. When it failed, it will set the tag plan::failure
. Based on these tags a branch node could be used to handle the different outcomes.
Dialog triggers
When the planning requires too many turns, the dialog trigger __ask_max_unknown__
can be used to get users out of the conversation. This way, endless loops can be prevented.
Last updated