- Release Notes
- Getting Started
- Tutorials
- Automation Projects
- Creating Automations
- Automation Basics
- Object Repository
- Tutorial: Creating a Pivot Table
- Tutorial: Iterating Through Rows in a Table
- Tutorial: Extracting Data From Automated Emails and Moving It to a Desktop Application
- Tutorial: Filtering Data in Excel
- Tutorial: Formatting Cells
- Tutorial: Adding Information About the Files in a Folder to an Excel File
- Tutorial: Adding Your Own Formulas to the Project Notebook
- PowerPoint Automation
- Data Automation
- Common Activities
- Google Workspace Automation
- OneDrive & SharePoint Automation
StudioX User Guide
Automation Basics
Activities are the basic building blocks of an automation project, each representing one or more manual tasks that StudioX can automate. A sequence of related, interconnected activities makes up an automation project. When you consider automating a repetitive process, you must first break down that process into each of the individual manual steps you take, and then identify the activities in StudioX that automate each of those steps.
For example, let’s say that you want to automate the following workflow:
- Open a spreadsheet.
- Open a business application
- Copy the data from a cell in the spreadsheet.
- Paste the copied data into a field in a business application.
- Click a button in the application to submit the data.
When you create a project in StudioX to automate that process, you use the following activities:
- Use Excel File to indicate which spreadsheet you want to use.
- Use Application/Browser to indicate which application you want to use.
- Type Into to select the input field in the business application where to copy the data as well as the cell from which you want to copy the data.
- Click to indicate which button to click to submit the data in the business application.
There isn’t always a one-to-one relationship between a manual step and a StudioX activity. As you can see in the above example, the Type Into activity covers two manual steps because you use it to indicate both the source and the destination of the copied text.
Container activities define a scope or the conditions to be met for the execution of the activities added inside them. A container activity can be described as a parent activity that contains one or more child activities. Examples of container activities include:
- Resource activities - Add an application resource to the automation and make that resource available to the activities added inside them.
- For Each activities - Define a collection of items and repeat the activities added inside them once for each of those items.
- Repeat number of times - Similar to a For Each, but it repeats the activities added inside it for a specified number of times.
- If, Switch, and Check App State - Evaluate a condition and determine the flow of the automation by executing specific activities added inside them based on the result of the evaluation.
- Wait for Download - Detects a file download initiated by the activities added inside it and makes the file available in the automation.
Activities are grouped into categories based on the application they apply to. Before you can automate tasks you perform in an application, you must first add the required application resource to the automation. The following activities add resources to your automations:
- Use Excel File - Use a specified Excel file. The data in the Excel file is available to all the activities added inside this activity. When you configure child activities, you can select individual cells, ranges, or sheets in the file directly from StudioX.
- Use Desktop Outlook App, Use Outlook 365, and Use Gmail add a desktop Outlook, Outlook 365, and Gmail account to the automation. The emails in the account are available to all the activities added inside this activity. When you configure child activities, you can select individual folders, messages, or message fields directly from StudioX.
- Use Word File - Use a specified Word document. Add the activities to perform on the file inside this activity.
- Use Application/Browser - Use a specified desktop application or web browser page. Add the activities to perform in the application or web browser inside this activity.
- Use PowerPoint Presentation - Use a specified PowerPoint file. Add the activities to perform on the file inside this activity.
You can add as many resources as your automation requires. For activities that use more than one application, add the resources one inside the other. For example:
- To add activities that use both data from an Excel file and emails from an Outlook account, add a Use Excel File activity inside a Use Desktop Outlook App activity, and then add the common activities inside Use Excel File.
- To add activities that use both data from a web page and a Word document, add a Use Application/Browser activity inside a Use Word File activity, and then add the common activities inside Use Application/Browser.
Adding Global Resources to the Automation
When you add a resource to the automation using a resource activity, the resource is only available to the activities added inside the resource activity. To make a resource available to all the activities in a project, you can add the resource globally by connecting the project to the resource. Global resources are managed from the Data Manager panel, not added as activities to the project. This means that connecting the project to a resource also helps save space in the Designer panel.
For information on how to connect a project to an Excel workbook, see Connecting a Project to an Excel File.
Iterating refers to repeating one or more activities in your automation project for each individual item in a collection of items. To iterate through items, add one of the available For Each activities in which you define the collection, and then add the activities to repeat inside the For Each. When you configure the activities to repeat, indicate that an activity should use data from each item in the iteration by selecting the current item option from the Plus menu.
StudioX comes with the following For Each activities:
-
For Each Excel Row - Repeat one or more activities for each row in an Excel table, range, or sheet.
The current item option isCurrentRow
. For some activities, you must also select which column to use from the current row. -
For Each Excel Sheet - Repeat one or more activities for each sheet in an Excel file.
The current item option isCurrentSheet
. -
For Each Email - Repeat one or more activities for each message in an Outlook folder, Gmail label, or in a selection of messages.
The current item option isCurrentMail
. For some activities, you must also select which field to use from the current mail: Subject, Body, Body as HTML, Bcc, Cc, To, From, or Priority. -
For Each File in Folder - Repeat one or more activities for each file in a folder on your computer.
The current item option isCurrentFile
. You must also select which file property to use from the current file: Size, Name, Full Name (includes full path), Folder, Last modified date, Last accessed date, Created date, IsReadOnly, or Size in KB.
To make it easier to identify when configuring activities added inside a For Each, you can rename the current item option using a name that describes the items you are iterating through.
Activities can receive data as input and, upon execution, they can generate output data. You configure the data for each activity using the Plus menu available on the right side of data fields.
Depending on its purpose, an activity can have no data fields, one, or multiple data fields. The following information describes the options you can find in the Plus menu. Because the menu displays options that are relevant in the context of each field, activity, and parent activity, only a subset of the options is available for each field.
Input fields define the data received by an activity using the following options:
-
Data from resources added to the project:
- Excel - Data from the Project Notebook or from an Excel file added to the automation. Select named cells, named ranges, tables, or sheets directly from the Plus menu, or select Indicate in Excel to open the workbook in Excel and indicate in it. Selecting Custom Input lets you manually enter sheet names, table names, cell addresses, or range addresses. If the activity is inside an For Each Excel Row activity, you can select the current row in the iteration.
- Outlook / Gmail / Outlook 365 - Data from an email account defined for a parent mail resource activity. You can use the message selected in the Outlook desktop app when the project is executed or, if the activity is inside a For Each Email activity, the current email in the iteration.
- PowerPoint - Data from a PowerPoint presentation defined for a parent Use PowerPoint Presentation activity. You can select slides, placeholders, slide masters, or layouts.
- File - If the activity is inside a For Each File in Folder activity, you can use properties of the current file in the iteration.
- Text - Enter text using the built-in text builder. You can click Plus inside the Text Builder to add Excel data, mail data, or values you saved for later use to the text.
-
Number - Enter a numeric value or a formula. Formulas support the following operators and symbols:
+
(addition),-
(subtraction),*
(multiplication),/
(division),^
(exponent, for example 2^3 for 2 raised to the power of 3),( )
(to enforce the order of operations).You can click Plus inside the Numeric Calculation window to add numeric values from the project. For example, select a cell in an Excel file, or a numeric value that you saved for later use.
-
Condition Builder - Add conditional statements that are used to determine what activities to execute based on whether or not the conditions are met. For example, the If activity contains a condition field, and it executes a series of activities if the condition is met and, optionally, another set of activities if the condition is not met.
You create a conditional statement by selecting two values and comparing them using one of the available operators: greater than, greater than or equal, less than, less than or equal, equal to, not equal to, is empty, is not empty, is true, is false, starts with, ends with, contains, is numeric, is not numeric.
You can add multiple statements and select if all of the statements or any of the statements must be true for the condition to be met.
- Use Saved Value - Use the output of another activity that you saved for later use in the project as input for the current field.
- Choose Date/Time - Select a date from the calendar or a time (hour, minute). This option is available for date and time fields.
- Choose Duration - Select a duration (hours, minutes, and seconds). This option is available for duration fields.
- Ask when run - Prompt for a value during project execution, This option is available for fields that accept text, numeric, date/time, or Boolean (True/False) values.
- Paste from clipboard - Use an output value that you copied to the clipboard in another activity as input for the current field. This option is available for fields that accept text values or Excel ranges.
- Variables - Select a variable created for use in App/Web activities selectors.
- Task Arguments - Select a created argument to pass data between StudioX activities and apps.
- Open in Advanced Editor - Enter VB expressions.
- Clear Value - Clear the current selection in the field.
Output fields define what to do with the data generated by an activity using the following options:
- Excel - Save output to the Project Notebook or an Excel file defined for a parent Use Excel File activity. Select named cells, named ranges, tables, or sheets directly from the Plus menu, or select Indicate in Excel to open the workbook in Excel and indicate in it. Selecting Custom Input lets you manually enter sheet names, table names, cell addresses, or range addresses. If the activity is inside an For Each Excel Row activity, you can select the current row in the iteration.
- Save for Later Use - Save the output for later use in your automation and enter a name by which to refer to it in the project. The saved value can then be selected as input in another activity.
- Copy to clipboard - Save the output to the clipboard. You can then paste the value in an input field in another activity. This option is available for fields that output text, Boolean values (True/False), numbers, or Excel ranges (for example, the Destination field in the Copy Range activity). Boolean and number values are converted to text when copied to the clipboard.
- Rename Saved Value - Rename a value you saved for later use.
- Variables - Select a variable created for use in App/Web activities selectors.
- Task Arguments - Select a created argument to pass data between StudioX activities and apps.
- Open in Advanced Editor - Enter VB expressions.
- Clear Value - Clear the current selection in the field.
Passing data from one activity to another can be very useful, even essential when trying to achieve certain workflows. StudioX enables you to save the output generated by an activity, and then use it as input in other activities later in the project:
- To save data for use in other activities, select the Save for Later Use option in the Plus menu of a field that configures the output data of an activity, and enter a name for the saved value. You will use this name later to identify and select the value as input in another activity, so make sure to use a unique name that describes the saved value.
- To use the saved data as input for another activity later in the project, select the value from the Use Saved Value option in the Plus menu of a field that configures the input data of an activity.
There are various scenarios in which this feature can be useful. Here are a couple of examples:
- A Read Text File activity reads and outputs the contents of a text file which can then be used as the input for an Append Text activity to add the text to a Word file.
- A File Exists activity checks whether a file exists and outputs the result (True or False) which can then be used in the condition of an If activity to determine specific actions to perform when the file already exists.
Arguments are used to pass data between activities in a project and can be used to integrate an workflow with other products such as UiPath Apps.
Once configured, you can use arguments in an activity similar to how you would use Save for Later Use.
- Click the Arguments button in the Data Manager panel.
- Click +Add to create a new argument.
- Click the Plus menu next to the argument to set a value.
By default, all new arguments are of String type and have an In direction. You can configure arguments, based on how they are used:
-
Type - Choose the value type you want your argument to store. The following options are available:
- Boolean - This type has only two possible values:
true
orfalse
. These arguments enable you to make decisions, and therefore have a better control over your workflow. - Int32 - This type is used to store numeric information. Some of its uses are to perform equations, comparisons and pass important data.
- String - Stores text information. This type of argument can be used to store any text-based information such as employee names, usernames or any other strings.
- Object - Can be used to store different types of data. You can use this type of argument in situations where you need flexibility for the type of data you store in an argument. Make sure that the data type used in Object arguments is compatible with the activities that use the argument.
- System.Data.DataTable - This type can store big pieces of information, and act as a database or a simple spreadsheet with rows and columns. Can be useful to migrate specific data from a database to another and extract information from a website and store it locally in a spreadsheet, among other uses.
- Array of [T] - Enables you to store multiple values of the same type.
- Browse for Types - Allows you to explore more types that can be relevant to your task.
- Boolean - This type has only two possible values:
-
Direction - Select a direction for your argument when used with apps. The following options are available:
- In – the argument can only be used within the given project.
- Out - the argument can be used to pass data outside of a given project.
- In/Out – the arguments can be used both within and outside of a given project.
- Click the Arguments button in the Data Manager panel.
- Click the X next to the argument you want to remove.
We recommend running your automations often during the design stage. This enables you to verify that the project works as expected and lets you identify potential errors early.
To run an automation, click Run in the StudioX ribbon or press F5 on your keyboard.
You can stop project execution by clicking Stop in the ribbon or pressing F5 on your keyboard. After the project is executed, a message displayed at the top of the Designer panel informs you if the run was successful or not.
To run only parts of your project, right-click any activity and select:
- Run to this Activity to execute all the activities in the project before the activity.
- Run from this Activity to execute all the activities in the project starting with the activity.
If you want to use your computer during project execution without interference from the Robot, you can run your automation in picture-in-picture mode. This executes the project in another session opened in a separate window, leaving you in full control of the keyboard, mouse, and screen.
To run an automation in picture-in-picture, click the arrow next to Run in the StudioX ribbon, and then select Run in PiP. Alternatively, you can press F6 on your keyboard. The Robot starts executing the activities in the project in a new window.
To help speed up automation design, StudioX comes with common scenarios, reusable pieces of automation that you can add to any project. A common scenario represents one or more activities that are grouped together in a logical order to automate a task or part of a task.
Common scenarios are context-sensitive, which means the available options depend on where exactly you are in your automation. For example, in a Use Desktop Outlook App activity, the available common scenarios are related to Outlook tasks, such as Download email attachments. For a list of available common scenarios, see Common Scenarios Descriptions.
To use a common scenario in a project:
-
Click the Add activity icon in the Designer panel where you want to add the scenario.
The Add Activity search bar appears with a list of relevant activities and common scenarios at the top.
-
Click the common scenario you want to add.
The activities in the scenario are added to the Designer panel.
-
If needed, configure the added activities.
The following tables describe the common scenarios available in StudioX and any configuration they may require. The common scenarios are listed based on the activity where you can add them.
Common Scenario |
What It Does |
What You Need to Configure |
---|---|---|
Add date to folder file names |
Prompts for the folder that contains the file names to update, adds a Write Cell activity that enters today's date in a cell in the Project Notebook, and a For Each File in Folder activity that iterates through the selected folder. Inside For Each File in Folder, another Write Cell activity copies the name of the current file in the iteration to the Project Notebook, and a Move File activity adds the current date to the name using a formula in the Project Notebook. | |
Delete folder and subfolders |
Prompts for the folder to delete and adds a Delete Folder activity configured to delete even if the folder contains files or subfolders. |
If not added inside a Use Excel File activity, the following common scenarios can be used with the Project Notebook.
Common Scenario |
What It Does |
What You Need to Configure |
---|---|---|
Merge ranges |
Adds an Append Range activity that copies all the values in a range and appends them to another range, and a Delete Rows activity that removes all duplicate rows from the destination after the data is appended. |
|
Repeat actions for rows in Excel range |
Adds a For Each Excel Row activity. |
|
Common Scenario |
What It Does |
What You Need to Configure |
---|---|---|
Fill form from Excel |
Adds a For Each Excel Row activity that contains three Type Into activities configured to copy the data from the first, second, and third columns in the selected range, and pastes it into
three indicated fields in the target application or web page. By default, the range
A1:C3 from the Scratchpad sheet of the Project Notebook is used.
|
|
Common Scenario |
What It Does |
What You Need to Configure |
---|---|---|
Repeat actions for emails |
Adds a For Each Email activity. |
|
Send email |
Adds a Send Email activity. |
Configure the Send Email activity. |
Download email attachments |
Prompts for a folder where to save the attachments, adds a Save Email Attachments activity, then a For Each File in Folder containing a Write Line activity configured to display the file names in the Output panel. | |
Email folder backup |
Prompts for a folder on the computer where to save emails, adds a For Each Email with a Save Email activity inside it. |
Select the folder to back up from For Each Email. The Inbox is selected by default. |
Create contacts details database |
Adds a For Each Email activity configured to use the emails from the Inbox, Write Cell and Append Range activities inside For Each Email to copy the senders from each email to a new Contacts sheet in the Project Notebook, and a Delete Rows activity to remove duplicates. | |
Copy email details to Excel |
Adds a series of Write Cell activities that add the email fields as column headers in a new sheet named Emails in the Project Notebook. Then adds a For Each Email activity that contains a series of Write Cell activities that copy the fields of each email to the Scratchpad sheet, and an Append Range activity to copy all the fields to the Emails sheet. |
In For Each Email, select the folder from which to get the emails. The Inbox is selected by default. |
Email all files in a folder |
Prompts for a folder to select and adds a Send Email activity configured to use the files in the selected folder as attachments. The current Outlook account is added by default to the To field. |
Edit the default values added to the fields of the activity to customize the email, for example add one or more recipients, or edit the Subject and Body. |
Common Scenario |
What It Does |
What You Need to Configure |
---|---|---|
Reply to email |
Adds a Reply to Email activity to reply to the current mail in the iteration, a Mark Email as Read/Unread activity, and a Move Email activity to move the email to another folder. |
|
Forward email |
Adds a Forward Email activity to forward the current mail in the iteration, a Mark Email as Read/Unread activity, and a Move Email activity to move the email to another folder. |
|
Move email |
Adds a Move Email activity to move the current email in the iteration to another folder. |
In Move Email, select a folder where to move the email. |
Save and process email attachments |
Prompts for a folder where to save the attachments, adds a Save Email Attachments activity and a For Each File in Folder activity where to add activities to repeat for each attachment. |
Add activities to repeat for each attachment inside For Each File in Folder. |
Common Scenario |
What It Does |
What You Need to Configure |
---|---|---|
Try open file as Excel |
Adds an If activity that checks if the current file in the iteration has the
.xlsx extension. The Then branch contains a Use Excel File activity that adds the current file to the project if the condition is met.
| |
Add date to file and move to subfolder |
Adds a Create Folder activity that creates a subfolder named
Processed in the current folder, a Write Cell activity to copy the name of the current file in the iteration to the Project Notebook, and a Move File activity that moves the current file to the subfolder and adds the current date to the name using a formula in the Project
Notebook.
| |
Group files by type |
Adds a Write Cell activity to copy the name of the current file in the iteration to the Project Notebook, a Create Folder activity that creates a subfolder in the current folder named with the extension of the current file using a formula in the Project Notebook, and a Move File activity that moves the current file to the subfolder. | |
Group files by size |
Adds an If activity that checks if the current file in the iteration is smaller than 100KB. The Then branch contains a Create Folder activity that creates a new folder with the title set to 100 K and a Move File activity that moves the current file in the iteration to the newly created folder. The Else branch contains an If activity that checks if the current file is smaller than 1000KB. Both the Then and Else branches contain a Create Folder and Move File activity. | |
Group files by creation date |
Adds a Write Cell activity to copy the creation date of the current file in the iteration to the Project Notebook, a Create Folder activity that creates a subfolder in the current folder named with the creation date of the current file using a formula in the Project Notebook, and a Move File activity that moves the current file to the subfolder. | |
Copy file info to Excel |
Adds a series of Write Cell activities that copy the name, full path, size, and creation date of the current file in the iteration to the Scratchpad sheet and an Append Range activity to copy all the fields to the Files sheet. |
-
You can open Excel, Word, and PowerPoint files added to your automation directly from the Data Manager panel. Right-click any Excel or Word resource and select Open. You can also select Open file location to open the folder containing the file.
-
If you're not sure which activity can help you automate a specific action, search through activities using either the search bar at the top of the Activities panel, or the one displayed at the top of the screen after you click Add activity in the Designer panel. Searching returns results from activity names as well as descriptions, so it can be a good way to find activities you may not have discovered yet.
- When you need help with an activity you added to your project, right-click it and then select Help, or select the activity and then press F1 on your keyboard to open its documentation page with information about how to configure it.
- If you want to save a few clicks when designing your automations, you can double-click most activity fields to open the option in the Plus menu most commonly used to configure that field. For example, double-clicking a field that accepts text input opens the Text Builder, doing the same for the Condition field in the If activity opens the Condition Builder.
- When you select Text from the Plus menu to add text to an activity field, you can compose text that combines multiple types of data using the Text Builder. In addition to typing text, you can select other types of data from the Plus menu in the upper-right corner the Text Builder. For example, you can add the contents of a cell in an Excel file, a field in an Outlook email, or one of the properties of a file on your computer that you saved for later in a previous activity.
-
When configuring a Use Application/Browser activity to add a desktop application to the automation, if you want the automation to open a specific file, indicate the application, and then add the path to the file in the Application arguments field. For example, if you indicated Acrobat Reader as the application to automate and you want to work with the file form_template.pdf located in the
C:\Work
folder, enterC:\Work\form_template.pdf
in the Application arguments field to open the file in Acrobat when the automation is executed. - When indicating target elements of App/Web activities in web browsers, always add at least one anchor to make sure the element is correctly identified by the Robot. For more information about targets and anchors, see UI Automation.
- When configuring a Use Application/Browser activity to automate tasks you perform in a web browser, before you indicate the web browser, navigate to the web page where the automation performs the first action. Doing this automatically adds the URL of the page to the Browser URL field, so that you don't have to enter it manually.
-
If you don't want to add too many Type Into activities to fill out a form with many fields, you can simplify your workflow by configuring one Type Into activity to enter text in multiple fields. After indicating the first field on the form and selecting the text to type into it, you can open the Text Builder of the Type this field, add the
tab
special key from the Plus menu inside the Text Builder, and then select the text for the following field. For example, provided that thetab
key moves the cursor to the next field in the target application, configuring the Type this field like in the following image copies the text from three different cells and pastes it in three different fields. - When two consecutive App/Web activities aren't timed correctly (for example, the first takes a long time to execute the action and the second one starts before the previous action is complete), configure the Delay before or Delay after properties from the activities' Properties panel to make sure the first activity completes before the second activity starts. These properties add a delay before or after an activity is executed, increasing the time between activities when needed.
- When the actions you want to perform in a desktop application or web browser depend on the state of the application, use a Check App State activity to determine which actions to perform based on the state. This activity verifies whether an element appears in or disappears from the user interface of the target application and enables you to add different activities to execute when the element is found and/or when it is not found. For example, you can check if you are already logged in to a web application by verifying if the Log in button is present, and only perform the actions required to log in when the button is found.
-
The Excel files you add to automations are not always available at design time (for example, a file can be created by or downloaded during the automation). In this scenario, you can still take advantage of StudioX's deep integration with Excel to configure the activities that use the file by defining another file with the same format (same sheets, columns, tables, etc.) as a template file.
Once defined, you can indicate data in Excel or select data from the template file directly from the Plus menu.
For example, if you want to create an automation with a report you'll receive monthly, use an existing report with the same format as the template. To define a template, add the Use Excel File Excel File activity, enter the path to the file to automate, then select the Template file option and indicate the file to use.
- When you want to work with a .xls (Excel 97-2003) workbook, the data in the file cannot be accessed directly from the Plus menu. In this case, you can configure activities that use the file with the Indicate in Excel or Custom input options in the Plus menu. Alternatively, to be able to select data directly from the menu, create a .xlsx copy and add it as a template file.
- When you filter rows in a large sheet and iterate through them using an Excel For Each Row activity, instead of iterating through the original sheet after applying the filter, use a Copy Range activity to copy the filtered rows to a different sheet, and then iterate through the filtered range in the new sheet. This will result in better performance when the project is executed.
-
You can add bodies formatted as HTML for emails sent using mail activities from the desktop Outlook app by selecting the Use Word Document option for the Body field. This enables you to select a Word document containing formatted text, images, or tables as the body of emails sent with the Send Email , Reply to Email, and Forward Email activities.
-
If you want to use your computer during project execution without interference from the Robot, you can run your automations in picture-in-picture mode. This features enables you to execute the project in another session opened in a separate window, leaving you in full control of the keyboard, mouse, and screen. To run an automation in picture-in-picture, click the arrow next to Run in the StudioX ribbon, and then select Run in PiP.
-
If you dismissed an error that occurred when executing a project before having a chance to read the error message, you can find the error message in the Output panel. To access the Output panel, click Output in the lower-left corner of the StudioX window.
- To avoid opening multiple instances of the same application, before running an automation, close all the applications and files that are used in it.
- About Activities
- Container Activities
- Resource Activities
- Iterating through Items
- Configuring the Data Used by Activities
- Options for Input Fields
- Options for Output Fields
- Using the Output of an Activity as Input for Another Activity
- Managing Arguments
- Creating Arguments
- Removing Arguments
- Running Your Automations
- Running in Picture-in-Picture
- Common Scenarios
- Anywhere In the Automation
- Use Excel File
- Use Application/Browser
- Use Desktop Outlook App
- For Each Email
- For Each File in Folder
- Tips and Tricks
- General
- UI Automation
- Excel
- Desktop Outlook App
- Running Projects