For most bots, storing state (where a conversation left off or information previously gathered from the user) is necessary for your bot to have a meaningful conversation.
UI Builder lets you store data into two distinct scopes: long-term and short-term scopes.
Long-term Scopes
These can be referenced using user and conversation. These are useful for user, or conversation level data that you want to store.
Data stored in user scope does not expire automatically. Data in user scope is available whilst the bot is processing activities and actions associated with the user across multiple conversations. Data can still be removed from long term scope by initialising any variables stored using this mechanism.
Short-term Scopes
These can be referenced using syntax and are useful for short term tasks such as processing logic or capturing information as part of a conversation. Some further notes on these scopes:
You can see an example of the user age being captured and assigned to a user scoped variable here:
In the above image we can see the designer canvas in UI Builder. To the left you can see several boxes that are connected. These are activities and actions.