UiPath Documentation
studio
2020.10
false
  • Release Notes
    • 2020.10.2
    • 2020.10.4
    • 2020.10.6
    • 2020.10.7
    • 2020.10.8
    • 2020.10.9
    • 2020.10.10
    • 2020.10.11
    • 2020.10.12
    • 2020.10.13
    • 2020.10.14
    • 2020.10.15
  • Getting Started
    • Introduction
    • The User Interface
    • Keyboard Shortcuts
    • Configuring Studio Settings
    • Project Templates
      • Orchestration Process
      • Background Process
      • Robotic Enterprise Framework
      • Transactional Process
      • Trigger Based Attended Automation
    • Creating a Basic Process
    • Creating a Basic Library
    • Tutorials
  • Setup and Configuration
    • Hardware and Software Requirements
    • Install Studio
      • Services Studio Connects To
    • Activate Studio
      • About Licensing
    • Update Studio
    • Command Line Parameters
    • Supported Applications and Technologies
    • Enabling Gmail for Email Activities
    • Opting Out of Telemetry
  • Automation Projects
    • About Automation Projects
    • About Publishing Automation Projects
      • Publishing Projects From Studio
      • Publishing Projects from the Command Line
    • About Libraries
      • Loading Web Services in Libraries
    • Managing activity packages
    • Configuring Activity Project Settings
    • Signing Packages
    • Governance
    • Importing Entities
    • Modern Design Experience
  • Dependencies
    • About Dependencies
    • Managing Dependencies
    • Project Dependencies Mass Update
      • Mass Update Command Line Parameters
    • Missing or Invalid Activities
  • Types of Workflows
    • Sequences
    • Flowcharts
    • State Machines
    • Global Exception Handler
  • File Comparison
    • About File Comparison
    • Comparing Files
  • Automation Best Practices
    • Workflow Design
    • UI Automation
    • Project Organization
    • Automation Lifecycle
  • Source Control Integration
    • About Version Control
    • Managing Projects With GIT
    • Managing Projects With TFS
    • Managing Projects With SVN
    • Workflow Diff
  • Debugging
    • About Debugging
      • Test Activities
      • Debugging Actions
      • The Locals Panel
      • The Call Stack Panel
      • The Breakpoints Panel
      • The Watch Panel
      • The Immediate Panel
  • The Diagnostic Tool
    • About The Diagnostic Tool
  • Workflow Analyzer
    • About Workflow Analyzer
    • Naming Rules
      • 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
    • Design Best Practices
      • 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
    • Project Anatomy Rules
      • ST-ANA-003 - Project Workflow Count
      • ST-ANA-005 - Check Project.json Exists
      • ST-ANA-006 - Main Workflow Exists
      • ST-ANA-009 - File Activities Stats
    • Maintainability and Readability Rules
      • ST-MRD-002 - Activity Name Defaults
      • ST-MRD-004 - Unreachable Activities
      • ST-MRD-005 - Redundant Sequences
      • ST-MRD-007 - Nested If Clauses
      • ST-MRD-008 - Empty Sequence
      • ST-MRD-009 - Deeply Nested Activities
      • ST-MRD-011 - Write Line Usage
      • ST-MRD-017 - Incomplete If
    • Usage Rules
      • 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
    • Performance and Reusability Rules
      • ST-PRR-004 - Hardcoded Delay Activity
    • Reliability Rules
      • ST-REL-006 - Infinite Loop
    • Security Rules
      • ST-SEC-007 - SecureString Argument Usage
      • ST-SEC-008 - SecureString Variable Usage
      • ST-SEC-009 - SecureString Misusage
  • Variables
    • Managing Variables
    • The Variables Panel
    • Types of Variables
      • Text Variables
        • Example of Using a Text Variable
      • True or False Variables
        • Example of Using a True or False Variable
      • Number Variables
        • Example of Using a Number Variable
      • Array Variables
        • Example of Using an Array Variable
      • Date and Time Variables
        • Example of Using a Date and Time Variable
      • Data Table Variables
        • Example of Using DataTable Variables
    • UiPath Proprietary Variables
  • Arguments
    • Managing Arguments
    • The Arguments Panel
    • Using Arguments
  • Imported Namespaces
    • About Imported Namespaces
    • Importing New Namespaces
  • Control Flow
    • About Control Flow
    • Control Flow Activities
      • The Assign Activity
      • The Delay Activity
        • Example of Using the Delay Activity
      • The Do While Activity
        • Example of Using a Do While Activity
      • The If Activity
        • Example of Using an If Activity
      • The Switch Activity
        • Example of Using a Switch Activity
      • The While Activity
        • Example of Using a While Activity
      • The For Each Activity
        • Example of Using a For Each Activity
      • The Break Activity
        • Example of Using a Break Activity
  • Object Repository
    • About Object Repository
    • Creating an Object Repository
    • Reusing Objects and UI Libraries
  • Logging
    • Studio Logs
    • Setup Logs
    • OCR Diagnostic Logs
    • Logging Levels
    • Types of Logs
    • Protecting Sensitive Information
  • The ScaleCoordinates Migration Tool
    • Best Practices and Limitations
    • Example of Using the ScaleCoordinates Migration Tool
  • The ScreenScrapeJavaSupport Tool
    • About the ScreenScrapeJavaSupport Tool
    • Argument Descriptions for the ScreenScrapeJavaSupport Tool
  • StudioPro
    • Introduction
    • Application Testing
    • RPA Testing
    • API Test Automation
    • Mock Testing
  • Extensions
    • About extensions
    • SetupExtensions tool
    • UiPath Remote Runtime
    • Extension for Chrome
      • Group Policies
      • Troubleshooting
    • Extension for Edge
      • Group Policies
      • Troubleshooting
    • Extension for Firefox
      • Troubleshooting
    • Extension for Java
      • Troubleshooting
    • Extension for Silverlight
      • Troubleshooting
    • Extension for Citrix
      • Automating Citrix Technologies
    • Extension for Windows Remote Desktop
    • Extension for VMware Horizon
    • Extension for Microsoft Edge Legacy
      • Microsoft Edge Legacy Extension Troubleshooting
    • SAP Solution Manager Plugin
    • Excel Add-in
  • Troubleshooting
    • Internet Explorer X64
    • Microsoft Office Interop Issues
    • Identifying UI Elements in PDF With Accessibility Options
    • Identifying UI Elements After Windows Updates
    • JxBrowser Applications
    • User Events Monitoring
    • Java in App-V
    • Microsoft App-V Support and Limitations
    • Citrix Troubleshooting
UiPath logo, featuring letters U and I in white
OUT OF SUPPORT

Studio User Guide

Last updated Oct 23, 2025

Flowcharts

Flowcharts 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

To 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:

  1. 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.
  2. 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.
  3. Create two Int32 variables (RandomNumber, GuessNumber) and a String one (Message).
  4. Set the default value of the Message variable to "Guess a number from 1 to 999." The RandomNumber stores a random number between 1 and 999, GuessNumber stores the user’s guess and Message stores the message that is going to be displayed to prompt the user.


  5. Add an Assign activity to the Designer panel, and connect it to the Start node.
  6. In the Properties panel, in the To field add the RandomNumber variable.
  7. In the Value field, type new Random().Next(1,999).
    Note: This field uses the Random() function to generate a random number between 1 and 999. For more information on variables, see Variables.
  8. Add an Input Dialog activity to the Designer panel and connect it to the Assign one.
  9. In the Properties panel, in the Label field, add the Message variable.
  10. In the Result field, add the GuessNumber variable. This activity asks and stores the user’s guesses in the GuessNumber variable.
  11. Add a Flow Decision activity and connect it to the Input Dialog. This activity enables you to tell the user if he correctly guessed the number or not.
  12. 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.
  13. Add a Message Box activity and connect it to the True branch of the Flow Decision.
  14. 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.
  15. Add a new Flow Decision activity and connect it to the False branch of the previously added Flow Decision.
  16. 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.
  17. In the DisplayName field, type Comparison. This enables you to easily to tell the difference between the two Flow Decisions used.
  18. Add an Assign activity and connect it to the True branch of the Comparison activity.
  19. 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.".
  20. Select the Assign activity and press Ctrl+C. The entire activity and its properties are copied to the Clipboard.
  21. Press Ctrl + V. A duplicate of the previous Assign activity is displayed.
  22. Connect it to the False branch of the Comparison activity and, in the Properties panel, in the Value field, type "Too small. Try again.".
  23. 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.



  • Example of a Flowchart

Was this page helpful?

Connect

Need help? Support

Want to learn? UiPath Academy

Have questions? UiPath Forum

Stay updated