Composite bag entities model real world objects like "order", "person", "car", "account" etc. Each attribute in such an object is referred to as a bag item. Bag items usually reference other entities (built-in or custom). The System.CommonResponse component and the System.ResolveEntities component can be used to generate dialogs at runtime for users to be prompted to provide input for each bag item.
A common use case for objects is that some of their attributes (bag items) are treated as optional. This means that the item will be prompted but the user can choose not to provide any information. In this article I explain by an example how you achieve the same behavior with composite bag entities.
The sample that you can download as a skill uses a composite bag entity to model an account. The account information is collected by the following bag items:
The following image shows how the user is prompted for the information. When specifying the first name, the bot uses the provided name in the prompt when it asks for the last name. The EMail prompt is rendered with a skip button. In addition, users could type "skip" or "none" to leave the field without providing a valid email address. When the mail address is skipped, the next prompt is for the address. Read the complete article here.
For regular information become a member in the Developer Partner Community please register here.