SlideShare a Scribd company logo
1 of 39
Download to read offline
UiPath Studio Session 2
The Fundamentals of UiPath Studio
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
Variables
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
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
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
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
Data Types
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
● 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
● 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
● 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
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
Workflow
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
● 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
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
Arguments
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
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
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
•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
Control Flow
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
● 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
● 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
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
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
Exercises
● If Condition
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.
31
Better than Else If?
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
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
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
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?
Exercises
● Do While
● For Each
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
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?
39
Happy Automating!

More Related Content

Similar to RPA Summer School Studio Session 2 - The Fundamentals of UiPath Studio .pdf

UiPath Development Best Practices.pptx
UiPath Development Best Practices.pptxUiPath Development Best Practices.pptx
UiPath Development Best Practices.pptxApurbaSamanta9
 
Getting Started with Calc Manager for HFM
Getting Started with Calc Manager for HFMGetting Started with Calc Manager for HFM
Getting Started with Calc Manager for HFMAlithya
 
Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes arvind pandey
 
Rules Programming tutorial
Rules Programming tutorialRules Programming tutorial
Rules Programming tutorialSrinath Perera
 
Decision table
Decision tableDecision table
Decision tablejeebala
 
Workflows via Event driven architecture
Workflows via Event driven architectureWorkflows via Event driven architecture
Workflows via Event driven architectureMilan Patel
 
Chapter 1 Data structure.pptx
Chapter 1 Data structure.pptxChapter 1 Data structure.pptx
Chapter 1 Data structure.pptxwondmhunegn
 
Introduction To Work Item Customisation
Introduction To Work Item CustomisationIntroduction To Work Item Customisation
Introduction To Work Item Customisationwbarthol
 
What are the features in qtp
What are the features in qtpWhat are the features in qtp
What are the features in qtpRamu Palanki
 
Qtp interview questions and answers
Qtp interview questions and answersQtp interview questions and answers
Qtp interview questions and answersRamu Palanki
 
Qtp interview questions and answers
Qtp interview questions and answersQtp interview questions and answers
Qtp interview questions and answersRamu Palanki
 
UNIT_5_Data Wrangling.pptx
UNIT_5_Data Wrangling.pptxUNIT_5_Data Wrangling.pptx
UNIT_5_Data Wrangling.pptxBhagyasriPatel2
 
Go Observability (in practice)
Go Observability (in practice)Go Observability (in practice)
Go Observability (in practice)Eran Levy
 
Qtp Training
Qtp TrainingQtp Training
Qtp Trainingmehramit
 
Test Automation: How to Succeed When Moving Beyond Manual Testing
Test Automation: How to Succeed When Moving Beyond Manual TestingTest Automation: How to Succeed When Moving Beyond Manual Testing
Test Automation: How to Succeed When Moving Beyond Manual TestingSmartBear
 
3 interaction and_state_modeling
3 interaction and_state_modeling3 interaction and_state_modeling
3 interaction and_state_modelingMinal Maniar
 

Similar to RPA Summer School Studio Session 2 - The Fundamentals of UiPath Studio .pdf (20)

UiPath Development Best Practices.pptx
UiPath Development Best Practices.pptxUiPath Development Best Practices.pptx
UiPath Development Best Practices.pptx
 
Getting Started with Calc Manager for HFM
Getting Started with Calc Manager for HFMGetting Started with Calc Manager for HFM
Getting Started with Calc Manager for HFM
 
Use Case Diagrams part4
Use Case Diagrams part4Use Case Diagrams part4
Use Case Diagrams part4
 
Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes
 
Spring batch overivew
Spring batch overivewSpring batch overivew
Spring batch overivew
 
Rules Programming tutorial
Rules Programming tutorialRules Programming tutorial
Rules Programming tutorial
 
Decision table
Decision tableDecision table
Decision table
 
Workflows via Event driven architecture
Workflows via Event driven architectureWorkflows via Event driven architecture
Workflows via Event driven architecture
 
pccf unit 1 _VP.pptx
pccf unit 1 _VP.pptxpccf unit 1 _VP.pptx
pccf unit 1 _VP.pptx
 
Chapter 1 Data structure.pptx
Chapter 1 Data structure.pptxChapter 1 Data structure.pptx
Chapter 1 Data structure.pptx
 
Introduction To Work Item Customisation
Introduction To Work Item CustomisationIntroduction To Work Item Customisation
Introduction To Work Item Customisation
 
What are the features in qtp
What are the features in qtpWhat are the features in qtp
What are the features in qtp
 
Lecture 1 and 2
Lecture 1 and 2Lecture 1 and 2
Lecture 1 and 2
 
Qtp interview questions and answers
Qtp interview questions and answersQtp interview questions and answers
Qtp interview questions and answers
 
Qtp interview questions and answers
Qtp interview questions and answersQtp interview questions and answers
Qtp interview questions and answers
 
UNIT_5_Data Wrangling.pptx
UNIT_5_Data Wrangling.pptxUNIT_5_Data Wrangling.pptx
UNIT_5_Data Wrangling.pptx
 
Go Observability (in practice)
Go Observability (in practice)Go Observability (in practice)
Go Observability (in practice)
 
Qtp Training
Qtp TrainingQtp Training
Qtp Training
 
Test Automation: How to Succeed When Moving Beyond Manual Testing
Test Automation: How to Succeed When Moving Beyond Manual TestingTest Automation: How to Succeed When Moving Beyond Manual Testing
Test Automation: How to Succeed When Moving Beyond Manual Testing
 
3 interaction and_state_modeling
3 interaction and_state_modeling3 interaction and_state_modeling
3 interaction and_state_modeling
 

More from Cristina Vidu

Communauté UiPath Suisse romande - Séance de janvier 2024
Communauté UiPath Suisse romande - Séance de janvier 2024Communauté UiPath Suisse romande - Séance de janvier 2024
Communauté UiPath Suisse romande - Séance de janvier 2024Cristina Vidu
 
State of the Automation Professional 2023: Insights and Implications for Nigeria
State of the Automation Professional 2023: Insights and Implications for NigeriaState of the Automation Professional 2023: Insights and Implications for Nigeria
State of the Automation Professional 2023: Insights and Implications for NigeriaCristina Vidu
 
Steps towards RPA Development: Create a Process Assessment Matrix
Steps towards RPA Development: Create a Process Assessment Matrix Steps towards RPA Development: Create a Process Assessment Matrix
Steps towards RPA Development: Create a Process Assessment Matrix Cristina Vidu
 
Dev Dives: Design user-friendly attended automations from A to Z
Dev Dives: Design user-friendly attended automations from A to ZDev Dives: Design user-friendly attended automations from A to Z
Dev Dives: Design user-friendly attended automations from A to ZCristina Vidu
 
Dev Dives: Unlock AI-driven automation with semantic automation & communicati...
Dev Dives: Unlock AI-driven automation with semantic automation & communicati...Dev Dives: Unlock AI-driven automation with semantic automation & communicati...
Dev Dives: Unlock AI-driven automation with semantic automation & communicati...Cristina Vidu
 
Advocating for the customer. Bringing soft skills into software development
Advocating for the customer. Bringing soft skills into software developmentAdvocating for the customer. Bringing soft skills into software development
Advocating for the customer. Bringing soft skills into software developmentCristina Vidu
 
🌺 Women in Automation Program: Become an RPA Developer with UiPath Studio Ses...
🌺 Women in Automation Program: Become an RPA Developer with UiPath Studio Ses...🌺 Women in Automation Program: Become an RPA Developer with UiPath Studio Ses...
🌺 Women in Automation Program: Become an RPA Developer with UiPath Studio Ses...Cristina Vidu
 
Steps towards RPA Development: How to Document your Automation.pdf
Steps towards RPA Development: How to Document your Automation.pdfSteps towards RPA Development: How to Document your Automation.pdf
Steps towards RPA Development: How to Document your Automation.pdfCristina Vidu
 
🌺 Women in Automation Program: Become a Citizen Developer with UiPath StudioX...
🌺 Women in Automation Program: Become a Citizen Developer with UiPath StudioX...🌺 Women in Automation Program: Become a Citizen Developer with UiPath StudioX...
🌺 Women in Automation Program: Become a Citizen Developer with UiPath StudioX...Cristina Vidu
 
Women in Automation - Intro to Studio Session 1
Women in Automation - Intro to Studio Session 1Women in Automation - Intro to Studio Session 1
Women in Automation - Intro to Studio Session 1Cristina Vidu
 
Think before we automate
Think before we automateThink before we automate
Think before we automateCristina Vidu
 
🌺 Women in Automation Program: Become a Citizen Developer with UiPath StudioX...
🌺 Women in Automation Program: Become a Citizen Developer with UiPath StudioX...🌺 Women in Automation Program: Become a Citizen Developer with UiPath StudioX...
🌺 Women in Automation Program: Become a Citizen Developer with UiPath StudioX...Cristina Vidu
 
Women in Automation - Introduction to RPA
Women in Automation - Introduction to RPAWomen in Automation - Introduction to RPA
Women in Automation - Introduction to RPACristina Vidu
 
Conversational AI and Chatbot Integrations
Conversational AI and Chatbot IntegrationsConversational AI and Chatbot Integrations
Conversational AI and Chatbot IntegrationsCristina Vidu
 
Let’s build an app with UiPath Apps!
Let’s build an app with UiPath Apps!Let’s build an app with UiPath Apps!
Let’s build an app with UiPath Apps!Cristina Vidu
 
Dev Dives: Unlock automation adoption with UiPath Apps
Dev Dives: Unlock automation adoption with UiPath AppsDev Dives: Unlock automation adoption with UiPath Apps
Dev Dives: Unlock automation adoption with UiPath AppsCristina Vidu
 
UiPath Amsterdam DEV meet-up For Developers, By Developers
UiPath Amsterdam DEV meet-up For Developers, By DevelopersUiPath Amsterdam DEV meet-up For Developers, By Developers
UiPath Amsterdam DEV meet-up For Developers, By DevelopersCristina Vidu
 
Jahresplanung und Content Map
Jahresplanung und Content MapJahresplanung und Content Map
Jahresplanung und Content MapCristina Vidu
 
Webinar - Utilizzo delle WebApi dell'Orchestrator.pdf
Webinar - Utilizzo delle WebApi dell'Orchestrator.pdfWebinar - Utilizzo delle WebApi dell'Orchestrator.pdf
Webinar - Utilizzo delle WebApi dell'Orchestrator.pdfCristina Vidu
 

More from Cristina Vidu (20)

Communauté UiPath Suisse romande - Séance de janvier 2024
Communauté UiPath Suisse romande - Séance de janvier 2024Communauté UiPath Suisse romande - Séance de janvier 2024
Communauté UiPath Suisse romande - Séance de janvier 2024
 
State of the Automation Professional 2023: Insights and Implications for Nigeria
State of the Automation Professional 2023: Insights and Implications for NigeriaState of the Automation Professional 2023: Insights and Implications for Nigeria
State of the Automation Professional 2023: Insights and Implications for Nigeria
 
Steps towards RPA Development: Create a Process Assessment Matrix
Steps towards RPA Development: Create a Process Assessment Matrix Steps towards RPA Development: Create a Process Assessment Matrix
Steps towards RPA Development: Create a Process Assessment Matrix
 
Dev Dives: Design user-friendly attended automations from A to Z
Dev Dives: Design user-friendly attended automations from A to ZDev Dives: Design user-friendly attended automations from A to Z
Dev Dives: Design user-friendly attended automations from A to Z
 
Dev Dives: Unlock AI-driven automation with semantic automation & communicati...
Dev Dives: Unlock AI-driven automation with semantic automation & communicati...Dev Dives: Unlock AI-driven automation with semantic automation & communicati...
Dev Dives: Unlock AI-driven automation with semantic automation & communicati...
 
Advocating for the customer. Bringing soft skills into software development
Advocating for the customer. Bringing soft skills into software developmentAdvocating for the customer. Bringing soft skills into software development
Advocating for the customer. Bringing soft skills into software development
 
🌺 Women in Automation Program: Become an RPA Developer with UiPath Studio Ses...
🌺 Women in Automation Program: Become an RPA Developer with UiPath Studio Ses...🌺 Women in Automation Program: Become an RPA Developer with UiPath Studio Ses...
🌺 Women in Automation Program: Become an RPA Developer with UiPath Studio Ses...
 
Steps towards RPA Development: How to Document your Automation.pdf
Steps towards RPA Development: How to Document your Automation.pdfSteps towards RPA Development: How to Document your Automation.pdf
Steps towards RPA Development: How to Document your Automation.pdf
 
🌺 Women in Automation Program: Become a Citizen Developer with UiPath StudioX...
🌺 Women in Automation Program: Become a Citizen Developer with UiPath StudioX...🌺 Women in Automation Program: Become a Citizen Developer with UiPath StudioX...
🌺 Women in Automation Program: Become a Citizen Developer with UiPath StudioX...
 
Women in Automation - Intro to Studio Session 1
Women in Automation - Intro to Studio Session 1Women in Automation - Intro to Studio Session 1
Women in Automation - Intro to Studio Session 1
 
Think before we automate
Think before we automateThink before we automate
Think before we automate
 
🌺 Women in Automation Program: Become a Citizen Developer with UiPath StudioX...
🌺 Women in Automation Program: Become a Citizen Developer with UiPath StudioX...🌺 Women in Automation Program: Become a Citizen Developer with UiPath StudioX...
🌺 Women in Automation Program: Become a Citizen Developer with UiPath StudioX...
 
Women in Automation - Introduction to RPA
Women in Automation - Introduction to RPAWomen in Automation - Introduction to RPA
Women in Automation - Introduction to RPA
 
Conversational AI and Chatbot Integrations
Conversational AI and Chatbot IntegrationsConversational AI and Chatbot Integrations
Conversational AI and Chatbot Integrations
 
RPA Karaoke
RPA Karaoke RPA Karaoke
RPA Karaoke
 
Let’s build an app with UiPath Apps!
Let’s build an app with UiPath Apps!Let’s build an app with UiPath Apps!
Let’s build an app with UiPath Apps!
 
Dev Dives: Unlock automation adoption with UiPath Apps
Dev Dives: Unlock automation adoption with UiPath AppsDev Dives: Unlock automation adoption with UiPath Apps
Dev Dives: Unlock automation adoption with UiPath Apps
 
UiPath Amsterdam DEV meet-up For Developers, By Developers
UiPath Amsterdam DEV meet-up For Developers, By DevelopersUiPath Amsterdam DEV meet-up For Developers, By Developers
UiPath Amsterdam DEV meet-up For Developers, By Developers
 
Jahresplanung und Content Map
Jahresplanung und Content MapJahresplanung und Content Map
Jahresplanung und Content Map
 
Webinar - Utilizzo delle WebApi dell'Orchestrator.pdf
Webinar - Utilizzo delle WebApi dell'Orchestrator.pdfWebinar - Utilizzo delle WebApi dell'Orchestrator.pdf
Webinar - Utilizzo delle WebApi dell'Orchestrator.pdf
 

Recently uploaded

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 

Recently uploaded (20)

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 

RPA Summer School Studio Session 2 - The Fundamentals of UiPath Studio .pdf

  • 1. UiPath Studio Session 2 The Fundamentals of UiPath Studio
  • 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?