In addition, you can define contextual actions that ran in the context of a parent action.You can have a action and an additional contextual action for updating the check-in date.Each LUIS action should implement an ILuis Action interface which is the basic contract for action binding implementation that are recognized by the Luis Action Resolver when an intent should be handled and fulfilled.There is an abstract Base Luis Action base class within the project which provides an implementation for the ILuis Action.Next, there is a sample to depict the scenario: Scenario shows an user changing a check-in date within its reservation (stored in a booking system) User: Please change my check-in date to tomorrow Bot: Ok, I changed the check-in date to tomorrow -- This triggered the `Find Hotels-Change Checkin` intent which should run in the context of the `Find Hotels` action (so main action also is instanced) Bot: I changed your reservation in Madrid from 03/25 to 03/27 -- The required parameters of the main context are iterated until it can call the action fulfillment The framework also provides, within this scenario, a callback that you can use to hydrate or re-create the parent contexts for the action you are starting.
The attribute Luis Action Binding Param Attribute has the following implementation and members: argument), and will assign the entities found by LUIS service to your model properties. Fulfill Async you do whatever it is required to fulfill the intent returned from LUIS service, and provide a meaningful result.
Each action includes members (properties) mapping to entities.
These action members can be optional or required, the client framework will provide you the tools to validate the action's state in order to see if it can be fulfilled or if further information is required from the user.
While filling a parameter for the current action, the user can provide an input that triggers the execution of a different action (related with a different intent) Next, there is a sample to depict the scenario: Scenario shows the user changing its mind (context switching) Bot: What do you want to do?
User: Find me a hotel in Madrid -- This would trigger a new `Find Hotels` intent with Madrid as Location entity Bot: When do you want to check-in? User: I changed my mind, find flights to Madrid -- This would trigger a new `Find Flights` intent with Madrid as Location entity (`Find Hotels` progress is discarded) Bot: When do you want to flight?