- Release Notes
- Getting Started
- Setup and Configuration
- Automation Projects
- Dependencies
- Types of Workflows
- File Comparison
- Automation Best Practices
- Source Control Integration
- Debugging
- The Diagnostic Tool
- Workflow Analyzer
- About Workflow Analyzer
- ST-NMG-001 - Variables Naming Convention
- ST-NMG-002 - Arguments Naming Convention
- ST-NMG-004 - Display Name Duplication
- ST-NMG-005 - Variable Overrides Variable
- ST-NMG-006 - Variable Overrides Argument
- ST-NMG-008 - Variable Length Exceeded
- ST-NMG-009 - Prefix Datatable Variables
- ST-NMG-011 - Prefix Datatable Arguments
- ST-NMG-012 - Argument Default Values
- ST-NMG-016 - Argument Length Exceeded
- ST-DBP-002 - High Arguments Count
- ST-DBP-003 - Empty Catch Block
- ST-DBP-007 - Multiple Flowchart Layers
- ST-DBP-020 - Undefined Output Properties
- ST-DBP-023 - Empty Workflow
- ST-DBP-024 - Persistence Activity Check
- ST-DBP-025 - Variables Serialization Prerequisite
- ST-DBP-026 - Delay Activity Usage
- ST-DBP-027 - Persistence Best Practice
- ST-DBP-028 - Arguments Serialization Prerequisite
- ST-USG-005 - Hardcoded Activity Arguments
- ST-USG-009 - Unused Variables
- ST-USG-010 - Unused Dependencies
- ST-USG-014 - Package Restrictions
- ST-USG-020 - Minimum Log Messages
- ST-USG-024 - Unused Saved for Later
- ST-USG-025 - Saved Value Misuse
- ST-USG-026 - Activity Restrictions
- ST-USG-027 - Required Packages
- ST-USG-028 - Restrict Invoke File Templates
- Variables
- Arguments
- Managing Arguments
- The Arguments Panel
- Using Arguments
- Imported Namespaces
- Recording
- UI Elements
- Control Flow
- Selectors
- Object Repository
- Data Scraping
- Image and Text Automation
- Automating Citrix Technologies
- RDP Automation
- Salesforce Automation
- SAP Automation
- VMware Horizon Automation
- Logging
- The ScreenScrapeJavaSupport Tool
- The WebDriver Protocol
- Test Suite - Studio
- Extensions
- Troubleshooting
- About troubleshooting
- Microsoft App-V support and limitations
- Internet Explorer X64 troubleshooting
- Microsoft Office issues
- Identifying UI elements in PDF with Accessibility options
- Repairing Active Accessibility support
- JxBrowser applications troubleshooting
- User Events Monitoring
- Citrix Troubleshooting
- Automating Applications Running Under a Different Windows User
Managing Arguments
Arguments are used to pass data from a project to another. In a global sense, they resemble variables, as they store data dynamically and pass it on. Variables pass data between activities, while arguments pass data between automations. As a result, they enable you to reuse certain projects time and again.
Studio supports a large number of argument types, which coincide with the types of variables. Therefore, you can create Generic Value, String, Boolean, Object, Array, or DataTable arguments and you can also browse for .Net types, just as you do in the case of variables.
Additionally, arguments have specific directions (In, Out, In/Out, Property) that tell the application where the information stored in them is supposed to go.
- If there are both a variable and an argument with the same name, the variable is always defaulted to and used at runtime.
- Passing complex In arguments (for example, of type System.Data.DataTable) to an Invoke Workflow File activity that is not isolated acts as if a reference is passed, which means any changes to the object inside the invoked workflow change the object in the main workflow. Built-in argument types (for example, Boolean) are always passed as values.
Please take into consideration that if you create an In/Out argument with an In value when used in the Invoke Workflow activity, and then change the value to Out, you may notice that an error is thrown when executing the project. This is because the Invoke Workflow activity did not return the values by reference. Use a Global Handler in your project to get access to the exact values the arguments had inside the invoked workflow.
Lastly, these arguments can be used to integrate with other tools in your company, as they are exposed in Orchestrator too. This means that any process you create can now receive input parameters through the Orchestrator API or interface, as well as return an output to all of the aforementioned. More information is available here.
in_DefaultTimeout
, in_FileName
, out_TextResult
, io_RetryNumber
. You can check out our Workflow Design Naming Conventions recommendations for more details.
- From the Activities panel, drag an activity to the Designer panel. Right-click a field and select Create In Argument or Create Out Argument from the context menu. Alternatively, press Ctrl+M or Ctrl+Shift+M. The Set Arg field is displayed.
- Fill in the name and press Enter. The argument is created and visible in the field. Check its direction and type in the Arguments panel.
Alternatively, arguments can be created from expressions directly in an activity input field or the Expression Editor:
- Select a part of the expression and press Ctrl+M or Ctrl+Shift+M. The Set Arg field is displayed.
-
Fill in the name and press Enter. The argument is created. Check its type and direction in the Arguments panel.
Data Table
field of a Write Range activity, the argument's type is set to DataTable
. If you create an argument in the Text
field of a Write Line activity, the argument's type is set to String
.
- 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 or Ctrl+Shift+M. The Set Arg field is displayed.
- Fill in the name and press Enter. The argument is created and visible in the field. Check its direction and type in the Arguments panel.
The argument type is automatically generated depending on the selected property.