Learn how to guide conversation flows using FormFlow within the Bot the static MakeRootDialog method, which in turn, calls the FormDialog. To convert files on your computer to the Portable Document Format file format, you need to have a PDF print driver installed. When Adobe Acrobat, or other open. Issues starts when we start using the FormFlow di. there a way to render the adapative card by converting the hero card in the client?.. in my.

Author: Fetaur Mogal
Country: Myanmar
Language: English (Spanish)
Genre: Personal Growth
Published (Last): 26 September 2005
Pages: 30
PDF File Size: 16.3 Mb
ePub File Size: 19.18 Mb
ISBN: 382-5-49872-135-3
Downloads: 36440
Price: Free* [*Free Regsitration Required]
Uploader: Kilkree

This topic applies to SDK v3 release. You can find the documentation for the latest version of the SDK v4 here.

Advanced features of FormFlow

Dialogs are very powerful and flexible, but handling frmflow guided conversation such as ordering a sandwich can require a lot of effort. At each point in the conversation, there are many possibilities of what will happen next.

For example, you may need to clarify an ambiguity, provide help, go back, or show progress. NET, you can greatly simplify the process of managing a guided conversation like this. FormFlow automatically generates the dialogs that are necessary to manage a guided conversation, based upon guidelines that you specify. Although using FormFlow sacrifices formfllow of the flexibility that you might otherwise get by creating and managing dialogs on your own, designing a guided conversation using FormFlow can significantly reduce the time it takes to develop your bot.

Additionally, you may construct your bot using a combination of FormFlow-generated dialogs and other types of dialogs. For example, a FormFlow dialog may guide the user through the process of completing a form, while a LuisDialog may evaluate user input to determine intent. This article describes how to create a bot that uses the basic features of FormFlow to collect information from a user.

To create a bot using FormFlow, you must specify the conveert that the bot needs to collect formfpow the user.

For example, if the bot’s objective is to obtain a user’s sandwich order, then you must convrrt a form that contains fields for the data that the bot needs to fulfill the order. You can define the form by creating a C class that contains one or more public properties to represent the data that the bot will collect from the user.


Each property must be one of these data types:. Any of the data types may be nullable, which you can use to model that the field does not have a value. If a form field is based on an enumeration property that is not nullable, the value 0 in the enumeration represents null i.

FormFlow ignores cpnvert other property types and methods. For complex objects, you must create a form for the top-level C class and another form for the complex object. You can compose the forms together by using typical dialog semantics.

It is also possible to define a form directly by implementing Advanced. IField or using Advanced. Field and populating the dictionaries within it.

This article describes how to define a form using a C class.

Consider this example of a simple sandwich bot that is designed to obtain a user’s sandwich order. The SandwichOrder class defines the form and the enumerations define the options for building a sandwich.

The class also includes the static BuildForm method that uses FormBuilder to create the form and define a simple welcome message. To use FormFlow, you convret first import the Microsoft.

To connect the form to the framework, you must add it to the controller. In this example, the Conversation. FromForm method to create the SandwichOrder form. By simply defining the form formflos a C class and connecting it to the framework, you have enabled FormFlow to automatically manage the conversation between bot and user. The example interactions shown below demonstrate the capabilities of a bot that is created by using the basic features of FormFlow.

This form populates the SandwichOrder. The form automatically generates the prompt, “Please select a sandwich”, where the word “sandwich” in the prompt derives from the property name Sandwich.

The SandwichOptions enumeration defines the choices that are presented to the user, with each enumeration value being automatically broken into words based upon changes in case and underscores.

The user can enter “help” at any point in the firmflow to get guidance with filling out the form. For example, if the user enters “help” at the sandwich prompt, the bot will respond with this guidance. If the user enters “2” in response to the initial sandwich prompt, the bot then displays a prompt for the next property that is formfloww by the form: If the user enters “back” at this point in the conversation, the bot will return the previous prompt.


The prompt shows the user’s current choice “Black Forest Ham” ; the user may change that selection by entering a different number or confirm that selection by entering “c”. If the user responds with text instead of a number to ot a choice, the bot will automatically ask for clarification if user input matches more than one choice. If user input does not directly tk any of the valid choices, the bot will automatically prompt the user for clarification.

If user input specifies multiple choices for a property and the bot does not understand conert of the specified choices, it will automatically prompt the user for clarification. If yo user enters “status” at any point in the order, the bot’s response will indicate which clnvert have already been specified and which values remain to be specified.

If the user responds by entering “no”, the bot allows the user to update any of the prior selections. If the user responds by entering “yes”, the form has been completed and control is returned to the calling dialog. If the user enters “quit” in the form or an exception occurs at some point in the conversation, your bot will need to know the step in which the event occurred, the state of the form formf,ow the event occurred, and which steps of the form were successfully completed prior to the event.

This code example shows how to catch the exception and display a message according to the event that occurred. Although basic FormFlow functionality is sufficient in some cases, you should consider the potential benefits of incorporating some of the more advanced features of FormFlow into your bot. FormFlow simplifies dialog development. The advanced features of FormFlow let you customize how a FormFlow object conveert. Advanced features of FormFlow.

Our new feedback system is built on GitHub Issues. Read about this fofmflow in our blog post.

Basic features of FormFlow – Bot Service | Microsoft Docs

Would you like to provide feedback? Sign in to give feedback.

You may also leave feedback directly on GitHub. There are no open issues.