studio
2023.4
false
- Release Notes
- Getting Started
- Setup and Configuration
- Automation Projects
- Dependencies
- Types of Workflows
- File Comparison
- Automation Best Practices
- Source Control Integration
- Debugging
- The Diagnostic Tool
- Workflow Analyzer
- About Workflow Analyzer
- ST-NMG-001 - Variables Naming Convention
- ST-NMG-002 - Arguments Naming Convention
- ST-NMG-004 - Display Name Duplication
- ST-NMG-005 - Variable Overrides Variable
- ST-NMG-006 - Variable Overrides Argument
- ST-NMG-008 - Variable Length Exceeded
- ST-NMG-009 - Prefix Datatable Variables
- ST-NMG-011 - Prefix Datatable Arguments
- ST-NMG-012 - Argument Default Values
- ST-NMG-016 - Argument Length Exceeded
- ST-DBP-002 - High Arguments Count
- ST-DBP-003 - Empty Catch Block
- ST-DBP-007 - Multiple Flowchart Layers
- ST-DBP-020 - Undefined Output Properties
- ST-DBP-023 - Empty Workflow
- ST-DBP-024 - Persistence Activity Check
- ST-DBP-025 - Variables Serialization Prerequisite
- ST-DBP-026 - Delay Activity Usage
- ST-DBP-027 - Persistence Best Practice
- ST-DBP-028 - Arguments Serialization Prerequisite
- ST-USG-005 - Hardcoded Activity Arguments
- ST-USG-009 - Unused Variables
- ST-USG-010 - Unused Dependencies
- ST-USG-014 - Package Restrictions
- ST-USG-020 - Minimum Log Messages
- ST-USG-024 - Unused Saved for Later
- ST-USG-025 - Saved Value Misuse
- ST-USG-026 - Activity Restrictions
- ST-USG-027 - Required Packages
- ST-USG-028 - Restrict Invoke File Templates
- ST-USG-032 - Required Tags
- ST-USG-034 - Automation Hub URL
- Variables
- Arguments
- Imported Namespaces
- Trigger-based Attended Automation
- Recording
- UI Elements
- Control Flow
- Selectors
- Object Repository
- Data Scraping
- Image and Text Automation
- Citrix Technologies Automation
- RDP Automation
- Salesforce Automation
- SAP Automation
- VMware Horizon Automation
- Logging
- The ScreenScrapeJavaSupport Tool
- The WebDriver Protocol
- Studio testing
- Extensions
- Troubleshooting
- About troubleshooting
- Microsoft App-V support and limitations
- Internet Explorer X64 troubleshooting
- Microsoft Office issues
- Identifying UI elements in PDF with Accessibility options
- Repairing Active Accessibility support
- Automating Applications Running Under a Different Windows User
- Validation of large Windows-legacy projects takes longer than expected

Studio User Guide
Last updated Sep 3, 2025
Flowcharts
linkFlowcharts can be used in a variety of settings, from large jobs to small projects that you can reuse in other projects.
The most important aspect of flowcharts is that, unlike sequences, they present multiple branching logical operators, that enable you to create complex business processes and connect activities in multiple ways.
Flowcharts come with the Auto Arrange option in the context menu.
Example of a Flowchart
linkTo exemplify the properties of a flowchart, we are going to build a guessing game that generates a random number from 1 to 999 that the user must guess. To create such an automation, do the following:
- Create a blank process and from the Design tab, in the File group, select New > Flowchart. The New Flowchart window is displayed.Note: You can also add a Flowchart activity to the Designer panel to create a new flowchart project.
- In the Name field type a name for the automation, such as "First Flowchart", and leave the default project location or add a subfolder. Click Create. The Designer panel is updated accordingly.
- Create two Int32 variables (
RandomNumber
,GuessNumber
) and a String one (Message
). - Set the default value of the
Message
variable to "Guess a number from 1 to 999." TheRandomNumber
stores a random number between 1 and 999,GuessNumber
stores the user’s guess andMessage
stores the message that is going to be displayed to prompt the user. - Add an Assign activity to the Designer panel, and connect it to the Start node.
- In the Properties panel, in the To field add the
RandomNumber
variable. - In the Value field, type
new Random().Next(1,999)
.Note: This field uses theRandom()
function to generate a random number between 1 and 999. For more information on variables, see Variables. - Add an Input Dialog activity to the Designer panel and connect it to the Assign one.
- In the Properties panel, in the Label field, add the
Message
variable. - In the Result field, add the
GuessNumber
variable. This activity asks and stores the user’s guesses in theGuessNumber
variable. - Add a Flow Decision activity and connect it to the Input Dialog. This activity enables you to tell the user if they correctly guessed the number or not.
- In the Properties panel, in the Condition field, type
GuessNumber
=RandomNumber
. This enables you to verify if the number added by the user is the same as the randomly-generated one. - Add a Message Box activity and connect it to the True branch of the Flow Decision.
- In the Properties panel, in the Text field, type "Congratulations! You guessed correctly! The number was " +
RandomNumber.ToString
+ ".". This is the message that is going to be displayed if the user correctly guessed the number. - Add a new Flow Decision activity and connect it to the False branch of the previously added Flow Decision.
- In the Properties panel, in the Condition field, type
GuessNumber
>RandomNumber
. This activity enables you to check if the number the user added is bigger than the randomly-generated one. - In the DisplayName field, type Comparison. This enables you to easily to tell the difference between the two Flow Decisions used.
- Add an Assign activity and connect it to the True branch of the Comparison activity.
- In the To field, type the
Message
variable, and in the Value field, type a message indicating that the guess was too high, such as "Too big. Try again.". - Select the Assign activity and press Ctrl+C. The entire activity and its properties are copied to the Clipboard.
- Press Ctrl + V. A duplicate of the previous Assign activity is displayed.
- Connect it to the False branch of the Comparison activity and, in the Properties panel, in the Value field, type "Too small. Try again.".
- Connect the Assign activities created at steps 18-22 to the Input Dialog. A loop is created, asking the user to type a smaller or bigger number, until he guesses correctly.
The final project should look as in the screenshot below.