Welcome to our second session for the RPA Summer School program Studio track!
In this session we will provide you with the tools and information needed to go smoothly through our following 2 sessions. We will address the fundamentals and main features of UiPath Studio, and familiarize you with the tool options.
🦸🏽♀️🦸🏻♂️Target audience:
RPA curious with tech backgrounds 👉 technical analysts, seasoned StudioX users, developers, comfy with tech tools
📕 Agenda:
What are Variables?
Common datatypes used
What are arguments? (in, out, in/out)
Difference between Flowchart and sequences and when to use each
Example of use case using flowchart and sequence
Control flows and conditional statements
Example of loops and conditional statements
Use of Break and Continue
Exercise - follow along (loops, conditional statements)
Wrap up and give an overview of upcoming session
Your trainers:
👩🏽💻 Anmol Yadav, UiPath MVP 2022, RPA Analyst @Speridian Technologies
👩🏻💻 Daniela Colina, UiPath MVP 2022, RPA Automation Lead @Roboyo
👨🏻💻 Liu Schubin, UiPath MVP 2022, Senior Lecturer @Republic Polytechnic
2. 2
▪ Variables
▪ Data Types
▪ UiPath Workflow Layouts
▪ Arguments
▪ Control flows and conditional statements
▪ Example of loops and conditional statements
▪ Exercise - follow along (loops, conditional statements)
▪ Wrap up and give an overview of upcoming session
Agenda
4. 4
Variables are containers that can hold multiple data entries (values) of
the same data type.
e.g. EmailAddress can be a variable that holds the value
"rpadeveloper@uipath.com"
What are Variables?
Why are Variables important?
● Variables help us pass data from one activity to another.
● Advancing with any automation process would be hardly possible without using variables.
5. 5
Three ways to create Variables in Studio
From the Variables panel
Open the Variables panel,
select the 'Create new
Variable' option, and fill in
the name. Whenever
needed, provide its name in
the Designer panel or in the
desired Properties field.
From the Designer panel
Variables can be created
from expressions directly in
an activity input field or the
Expression Editor. Within
the input field, press Ctrl+K
so the Set Var field is
displayed; fill in the name
and press Enter. Then check
its type and scope in the
Variables panel.
From the Properties panel
In the Properties panel of
the activity, select a field that
can be edited press Ctrl+K.
The Set Var field is
displayed. Fill in the name
and press Enter. Check its
type and scope in the
Variables panel.
6. 6
Variables are configured through their properties. You can set them in the Variables panel.
The main properties in UiPath are:
●Name – the variable's name is its unique ID and it defines the way it is displayed and
used. Pascal Case is recommended.
●Type – it defines what kind of data can be stored in the variable. In UiPath, the type is
declared when the variable is created.
●Default Value – in general, variables have initial values that change throughout the
process.
●Scope – the part of the workflow in which the variable can be used. Some variables can
be global (used throughout the workflow), others local (used inside an activity).
How are Variables Configured?
7. 7
The type of value that a variable holds is determined by the datatype of the
variable.
Based on datatype, some variables can hold a single value (e.g. string, integer,
etc.) while some other can hold multiple values (e.g. array, list, datatable, etc.)
In Studio, variables are configured through their properties using the Properties
panel.
The value of a variable can change through external input, data manipulation or
passing from one activity to another.
Common Facts about Variables in UiPath Studio
9. 9
With some exceptions, the data types in UiPath are borrowed from VB.Net
e.g. String, Int32, Boolean, Arrays, Lists, Datatables, etc.
UiPath has a proprietary variable type called GenericValue that can store
any kind of data, including text, numbers, dates, and arrays.
Data Types
10. 10
● String – System.String: used to store text
NUMERIC: there are different subtypes of numerical variables.
● Int32 – System.Int32 (signed integers) e.g. 10, 299, -100
● Long – System.Int64 (long integers) e.g. 5435435343O, -11332424D
● Double – System.Double (allows decimals, 15-16 digits precision) e.g.
19.1234567891011
● Boolean – System.Boolean: used to store one of two values i.e. True or False
Common Data Types
11. 11
● DataTable – represent a type of variable that can store big pieces of information, and
act as a database or a simple spreadsheet with rows and columns.
DATE AND TIME:
● DateTime – System.DateTime: used to store specific time coordinates (mm/dd/yyyy
hh:mm:ss)
Common Data Types
12. 12
● The GenericValue (UiPath.Core.GenericValue) data type is particular to UiPath and can
store any kind of data, including text, numbers, dates, and arrays.
● UiPath Studio has an automatic conversion mechanism of GenericValue variables and
arguments, which you can guide towards the desired outcome by carefully defining their
expressions.
● Please note that the first element in your expression is used as a guideline for what
operation Studio performs e.g.
<Int32> 123 + <String> 123 = <GenericValue> 246
< String> 123 + < Int32> 123 = <GenericValue> 123123
Generic Data Type
13. 13
What are some business scenarios in which I will use GenericValue?
● Data is extracted from a UI field and forwarded to another workflow without processing.
● Two versions of the same Excel file are being compared column by column.
● The columns are different in terms of data type, the only relevant thing is which entries have
changed.
Generic Data Type Uses
15. 15
A workflow represents a small piece of automation that you can take and re-
use in your projects.
What is a Workflow?
It is basically your canvas, the place where you design and work with all the
UiPath Studio activities and it defines the flow of your automation.
Hence the name, workflow.
16. 16
● The fastest, most reliable, and useful way of automating a process is to break it
down into smaller bits.
● This allows for independent testing of components, enables team collaboration, and
component reuse.
● Hence, most of the automation projects require the use of multiple workflows that
come together to provide a solid business automation solution.
Why are Workflows important?
17. 17
UiPath Studio provides you with predefined workflow layouts to suit all the needs of a fast and
reliable automation process. The workflow layouts are:
● Sequences – are suitable to linear processes as they enable you to go from one activity to
another seamlessly, and act as a single block activity.
● Flowcharts – unlike sequences, flowcharts present multiple branching logical operators, that
enable you to create complex business processes and connect activities in multiple ways.
● State Machines
● Global Exception Handler
UiPath Workflow Layouts
19. 19
In real automation scenarios, business automation projects consist of
multiple workflows, and we need a different kind of vehicle to pass data
between workflows, and this is called an argument.
What is an Argument?
20. 20
Arguments are very similar to variables:
● They store data dynamically
● They have the same data types
● They support the same methods and properties
● The difference is that they pass data between workflows, and they have an
additional property for this – the direction.
Arguments have specific directions: In, Out, and In/Out. These tell the Robot where
the information stored in them is supposed to go.
What is an Argument?
21. 21
Using an Argument
Workflow 1 Workflow 2
Invoke
Workflow 2
In: Carry data to workflow 2
Out: Carry data from workflow 2
In/Out: Carrry data from/to workflow 2
22. 22
•From Expressions – directly in an activity input field or the Expression Editor. Select
a part of the expression and press Ctrl+M (for In arguments) or Ctrl+Shift+M (for Out
arguments).
•From the Properties panel – in the Properties panel of any activity, right-click a field
that can be edited, and select Create In Argument or Create Out Argument from the
context menu. Alternatively, press Ctrl+M (in) or Ctrl+Shift+M (out).
•From the Arguments panel – Navigate to the Arguments panel. Select the Create
Argument line, and fill in the name, direction and type. A new argument is created.
Note: Argument names should be in PascalCase with a prefix stating the argument direction
How to Create Arguments
24. 24
Control Flow is the order in which
activities are executed or evaluated in a
software project.
The most common control flow
statements are If, While, Do While, For
Each, Switch, and Parallel.
What is an Control Flow?
25. 25
● Control flow takes care of the order in which the actions are performed in
automation.
● Activities like If/Else If, For Each, enable us to define rules and automate
conditional statements within the project.
● Loops enable us to run a part of the automation a specific number of times until a
condition is met, or indefinitely.
What is the importance of control flow?
26. 26
● The conditional, also known as decision-making activities such as If, Else If, and
Switch.
● Loops such as While, Do While, and For Each.
● Parallel Activity that executes child activities asynchronously, in parallel.
Three types of Control Statements
27. 27
Contains a statement with a condition, and two sets of instructions (Then & Else) as
outcomes
Then: the set of actions to be executed when the condition is True
Else: the set of actions to be executed when the condition is False
Conditional Control Statements - If
28. 28
It comes with the ability to add multiple
conditions to the Else branch.
● If the first condition is met, then you perform
the action under it.
● If not, you can add another condition using the
second Else If and if the condition is True,
then perform the action under it. If not, add
another condition using Else If.
● Else, if none of the conditions are met, then
you perform the last action under Else.
Conditional Control Statements - Else If
30. 30
Executes a set of activities out of multiple, based on the
value of a specific expression. Useful when we need at
least three potential sources of action.
★ Switch evaluates once; Else If evaluates each time.
Conditional Control Statements - Switch
Business Cases to use Switch Statement
● An invoice that has three potential
statuses (not started, pending, approved)
and three sets of actions for each one.
● A process of automatically ordering raw
materials to four suppliers based on
certain conditions.
32. 32
While
It executes a specific sequence while a condition is met.
The condition is evaluated before each execution of the
statements.
It is possible for a While loop to have zero executions!
For example, if a Robot would play Blackjack, it should
calculate the hand before deciding whether to draw
another card.
Conditional Control Statements - Loops - While
33. 33
Loops are repetitions of a set of operations based on a
given condition.
Do While
It executes a specific sequence while a condition is met.
The condition is evaluated after each execution of the
statements
This is a quite different scenario than the While loop.
In the body of the loop, a robot could perform a refresh
command on a website and then check if a relevant
element was loaded. It will continue the refresh - check
cycle until the element is loaded. .
Conditional Control Statements - Loops - Do While
34. 34
For Each
It performs an activity or a series of activities
on each element of an input collection.
This is very useful in data processing.
Consider an Array of integers. For Each
would enable the robot to check whether
each numeric item fulfills a certain condition.
Conditional Control Statements - Loops - For Each
35. 35
Loops are fun, but you should know how to stop the ride at some point. There are multiple
ways to exit a loop:
● The While and Do While loops will exit when upon checking, the condition is no longer
true.
● The For Each loop will exit when it has finished processing every item in the input
collection.
● The Break activity enables you to exit the current loop activity (e.g. For Each, While, or
Do While) at a chosen point and continues the workflow with the activity that follows it.
● The Continue activity enables you to skip the remaining steps in the current iteration
inside a loop activity, such as For Each, While, or Do While loop.
How to exit a loop?
37. 37
Upcoming sessions:
Wednesday, August 10
Session 3: Introduction to Ui Automation
https://bit.ly/3oQdXSZ
Friday, August 12
Session 4: Advanced practices with Studio and Orchestrator
https://bit.ly/3BCA7Qc
Your StudioX dedicated FORUM thread:
https://bit.ly/RPASummerSchool-Studio-Thread
Your HOMEWORK exercises:
https://bit.ly/3zDdZT5
38. 38
Log into UiPath Academy www.academy.uipath.com
> go to the Learning by Role page
> enroll for the RPA Developer Foundation course
> go through the lesson titled “Variables, Arguments,
and Control Flow in Studio”
Session 3 – Introduction to UI Automation
> Recorders, Selectors, Data Scraping, Excel
Automation etc.
Feel free to ask any questions in the UiPath Forum thread
- https://forum.uipath.com/t/rpa-summer-school-studio-
thread/461307
What’s next?