Sdílet prostřednictvím


IA-Connect UI

IA-Connect is a Robotic Process Automation RPA platform which adds RPA functionality from the Cloud to on-premises virtual machines or over Citrix or Microsoft Remote Desktop RDS connections. This is the module for Windows application User Interface Automation UIA.

This connector is available in the following products and regions:

Service Class Regions
Logic Apps Standard All Logic Apps regions except the following:
     -   Azure Government regions
     -   Azure China regions
     -   US Department of Defense (DoD)
Power Automate Premium All Power Automate regions except the following:
     -   US Government (GCC)
     -   US Government (GCC High)
     -   China Cloud operated by 21Vianet
     -   US Department of Defense (DoD)
Power Apps Premium All Power Apps regions except the following:
     -   US Government (GCC)
     -   US Government (GCC High)
     -   China Cloud operated by 21Vianet
     -   US Department of Defense (DoD)
Contact
Name Ultima Labs
URL https://www.ultima.com/ultima-labs
Email IAConnect@ultima.com
Connector Metadata
Publisher Ultima Labs
Website https://www.ultima.com/ultima-labs
Privacy policy https://www.ultima.com/privacy-policy
Categories IT Operations;Productivity

IA-Connect is a Robotic Process Automation (RPA) platform which adds RPA functionality from Power Automate Cloud Flows to on-premises virtual machines or over Citrix or Microsoft Remote Desktop (RDS) connections. The IA-Connect Connectors provide over 800 actions, allowing you to automate every type of on-premise application directly from a Power Automate Cloud Flow. All IA-Connect actions are available directly from your Power Automate Cloud Flow providing easy integration between Cloud based and on-premises applications, the ability to leverage existing Power Automate conditions, loops, dynamic content, expressions and exception handling in your RPA processes. Utilising the IA-Connect Connectors also provides full execution history and auditability from the Flow run history whilst also removing the need to have a separate application/console/studio for developing your RPA processes.

Prerequisites

To use any of the IA-Connect Connectors, you must install the IA-Connect software. This is free to test for 30 days, following which you will require an IA-Connect license.

The IA-Connect software consists of two main components:

  • The IA-Connect Orchestrator, which is an Azure WebApp which you would host in your own Azure tenant. This handles the routing and security of RPA Flows to one or more on-premises or cloud-based virtual machines.

  • The IA-Connect Agent and Director, which is installed onto the virtual machines where the software you wish to automate is accessible. Additionally, the IA-Connect Agent can run inside a Citrix or Microsoft Remote Desktop Services (RDS) session, where the RPA commands are passed down a virtual channel into the remote session for execution. The IA-Connect Agent can be run from a network share and does not require installation.

Available IA-Connect Connectors

The available IA-Connect Connectors are:

  • IA-Connect Dynamic Code
  • IA-Connect Java
  • IA-Connect JML
  • IA-Connect Mainframe
  • IA-Connect Microsoft Office
  • IA-Connect SAP GUI
  • IA-Connect Session
  • IA-Connect UI
  • IA-Connect Web Browser

How to get credentials

In order to receive your license and begin your 30-day free trial, please submit a request on our website (https://www.ultima.com/IA-Connect/Power-Automate).

Once a trial request is received, we will contact you via the email address provided to assist with setting up the IA-Connect software and to provide you with the trial license. This is a fully featured trial and will enable you to test any of the 800 actions across all 9 IA-Connect Connectors within your own environment during the trial period.

Get started with your connector

After submitting a trial request for IA-Connect, you will be able to download a ZIP file containing the IA-Connect software and documentation covering the installation and setup. We will also contact you to offer support and guidance through the installation process as required.

Support

During the trial period, you can contact Ultima Labs (IAConnect@ultima.com) for support and assistance.

Upon purchasing IA-Connect licenses you will receive support tokens which can be redeemed for bespoke training or support from Ultima's UK-based Technical Service Centre (TSC).

Known issues, common errors and FAQs

Our Knowledge Base contains a number of articles covering any known issues, common errors that may occur when using the IA-Connect Connectors and frequently asked questions. This is accessible at https://support.ultima.com/ultimalabs and an account to access these resources is provided during the IA-Connect trial and upon purchasing an IA-Connect license.

Creating a connection

The connector supports the following authentication types:

Default Parameters for creating connection. All regions Not shareable

Default

Applicable: All regions

Parameters for creating connection.

This is not shareable connection. If the power app is shared with another user, another user will be prompted to create new connection explicitly.

Name Type Description Required
API Key securestring The API Key for this api True
IA-Connect Orchestrator address string Specify the IA-Connect Orchestrator address without the HTTP(S) component True

Throttling Limits

Name Calls Renewal Period
API calls per connection 100 60 seconds

Actions

Check multiple UIA elements

Sets the state of multiple elements (typically a checkbox or radio box) to either checked or unchecked.

Check UIA element

Sets the state of an element (typically a checkbox or radio box) to either checked or unchecked.

Click UIA list element item by index

Clicks the list element that matches the specified index. This is typically used to select an item in a dropdown / menu item.

Click UIA list element item by name

Clicks the list element with the specified name. This is typically used to select an item in a dropdown / menu item.

Close UIA element window

Closes the element window. Typically only works on windows or dialogs.

Collapse UIA element

Collapses an element (typically a menu / dropdown item). If the item is already collapsed, nothing will happen.

Does process have Win32 window

A simple and fast Win32 action which reports whether a process (specified by name) has any visible windows. The window must exist: IA-Connect will not wait. It is recommended to use the action 'Wait for desktop element' which is more powerful.

Does top level Win32 window exist

A fast Win32 action which reports whether a top-level Win32 window exists. A top-level window is one which is connected to the desktop. You can search by class name or window title, or you can specify more advanced search filters, including wildcards. Although this action uses Win32 APIs, it can detect Windows, Java, ModernUI and Web windows. The window must exist, IA-Connect will not wait. It is more common to use the UIA action 'Does UIA desktop element exist' which is more powerful, but this Win32 action typically executes faster.

Does UIA desktop element exist

Reports whether a desktop element exists and provides some basic element properties.

Does UIA element exist

Reports whether an element exists and returns some basic element properties.

Draw rectangle around UIA element

Draws a rectangle around the perimeter of an element to aid in identifying that the element found is the one required. The rectangle is automatically removed after 5 seconds.

Expand UIA element

Expands an element (typically a menu / dropdown item). If the item is already expanded, nothing will happen.

Focus UIA element

Focusses an element which makes it the active element for keyboard focus and, depending on the application, may bring the element window to the foreground.

Get multiple UIA element properties

Returns the properties of multiple elements. This can be useful if you are uncertain which fields holds the property values required.

Get multiple UIA elements as table

Enumerates the values of child elements of a specified parent element and returns in a table format. This can be used to return rows and columns of data from elements which aren't technically tables, but have been arranged together into a table structure. This action can also be used to retrieve the results from a previous execution of this action, run as an Agent thread.

Get multiple UIA parent element properties

Returns a hierarchal tree of parent elements of the specified element, all the way up to the desktop (root level). The parent element is defined as the element which is at the next level up the UIA 'tree' and is almost always a containing element.

Get UIA datagrid element contents

Returns the contents of a datagrid element. This is an element with rows, columns, header and cells (i.e. a table). This action can also be used to retrieve the results from a previous execution of this action, run as an Agent thread.

Get UIA datagrid element properties

Returns table properties of a DataGrid element. This is an element with rows, columns, header and cells (i.e. a table).

Get UIA desktop elements

Returns a list of all windows and dialogs on the desktop.

Get UIA element at screen coordinates

Returns the UIA element located at the given screen coordinates.

Get UIA element label value

Returns the value of the label on the element.

Get UIA element patterns

Retrieve which UIA patterns are available for a UIA element, and hence which IA-Connect UIA actions are likely to have an effect on the element.

Get UIA element properties

Returns all properties of an element. This can be useful if you are uncertain which field holds the property values required.

Get UIA element properties as list

Returns the properties of an element as a single line list (single line collection / data table) instead of individual items, this maybe useful depending on how you intend to use the data.

Get UIA element search colour region

Returns the details of the region of pixels within a UIA element that meet the specified colour criteria. The element should be brought to the front first as the screenshot is taking a copy of the screen at the elements location.

Get UIA element search mode

Retrieves which UIA element search mode is being used by the IA-Connect Agent for UIA actions.

Get UIA element text value

Returns the text value of an element. A text value is usually associated with a label, but many elements can have this property.

Get UIA element value

Returns the value of an element. A value is usually associated with a text input area, but many elements can have this property.

Get UIA handle for desktop

Returns a handle for the desktop. This is an obsolete action because the handle '-2' can be used to refer to the desktop element but also because there are plenty of actions which can search relative to the desktop (e.g 'wait for desktop element').

Get UIA handle for focussed element

Returns a handle for the currently focused UIA element.

Get UIA handle for main window of focussed element

Returns a handle for the main window of the currently focused UIA element. The 'Main' window is typically the main application window: a login dialog or sub-window is generally not the 'Main' window.

Get UIA handle for process Id main window

A simple and fast Win32 action which returns the handle for any main window of a process (specified by Process ID). The 'Main' window is typically the main application window: a login dialog or sub-window is generally not the 'Main' window. It is recommended to use the action 'Wait for desktop element' which is more powerful.

Get UIA handle for process main window

A simple and fast Win32 action which returns the handle for any main window of a process (specified by name). The 'Main' window is typically the main application window: a login dialog or sub-window is generally not the 'Main' window. The window must exist: IA-Connect will not wait. It is recommended to use the action 'Wait for desktop element' which is more powerful.

Get UIA handle for top level Win32 window

A fast Win32 action which returns a UIA handle for any top-level Win32 window which has the specified class name or window title, or you can specify more advanced search filters, including wildcards. A top-level window is one which is connected to the desktop. Although this action uses Win32 APIs, it can detect Windows, Java, ModernUI and Web windows. The window must exist, IA-Connect will not wait. It is more common to use the UIA action 'Does UIA desktop element exist' which is more powerful, but this Win32 action typically executes faster.

Get UIA list element items

Returns a list of child element items found under the specified element (typically dropdown / menu items).

Get UIA parent element handle

Returns a handle for the parent element of the specified element. The parent element is defined as the element which is at the next level up the UIA 'tree' and is almost always a containing element.

Get Win32 windows

A fast Win32 action which returns a list of all Win32 windows which optionally have the specified class name or window title, or you can specify more advanced search filters, including wildcards. Although this action uses Win32 APIs, it can detect Windows, Java, ModernUI and Web windows. Win32 Windows can include unexpected items including the taskbar, desktop, start menu, transparent overlays, offscreen or hidden windows, so the returned list may contain more results than expected.

Global double left mouse click on UIA element

Moves the mouse to the centre, or a chosen edge, corner or offset, relative to a UIA element and double clicks the left mouse button.

Global input password into UIA element

Moves the mouse to centre of the element, focusses it, left clicks, and presses keys. Typically used with a password input that will not accept native UIA input methods.

Global input text into UIA element

Moves the mouse to centre of the element, focusses it, left clicks, and presses keys. Typically used with a text input that will not accept native UIA input methods.

Global left mouse click on UIA element

Moves the mouse to the centre, or a chosen edge, corner or offset, relative to a UIA element and clicks the left mouse button.

Global middle mouse click on UIA element

Moves the mouse to the centre, or a chosen edge, corner or offset, relative to a UIA element and clicks the middle mouse button.

Global mouse click UIA element search colour region

Moves the mouse over a region of pixels within a UIA element that meet the specified colour criteria and performs a mouse click. The element should be brought to the front first as the screenshot is taking a copy of the screen at the elements location.

Global right mouse click on UIA element

Moves the mouse to the centre, or a chosen edge, corner or offset, relative to a UIA element and clicks the right mouse button.

Input password into UIA element

UIA action which inputs a password into an element (typically a password entry field), replacing the existing text.

Input return into UIA element

Inputs a Windows return / new line into an element (typically a text entry field), either replacing the existing text or inserting the return at a specific position.

Input text into multiple UIA elements

UIA Action which inputs different pieces of text into multiple elements (typically text entry fields), either replacing the existing text or inserting the new value at a specific position.

Input text into UIA element

UIA action which inputs text into an element (typically a text entry field), either replacing the existing text or inserting the new value at a specific position.

Is UIA element checked

This action returns true or false indicating whether an element (typically a checkbox or radio box) is checked.

Maximise UIA window

Maximises the window with the specified UIA handle.

Minimise UIA window

Minimises the window with the specified UIA handle.

Move UIA element

Moves a UIA element to a specified position on the screen. This action will typically only work with Window elements (which have the transform pattern).

Press UIA element

Presses an element (typically a button).

Reset all UIA element handles

Resets all UIA element handles currently stored by IA-Connect which can be useful if you have been identifying a lot of elements and have a large number of element handles stored. In scenarios with extremely high numbers of element handles (100,000+) this action can also be used to free up RAM usage.

Resize UIA element

Resizes a UIA element. This action will typically only work with Window elements (which have the transform pattern).

Search for first UIA parent element

Searches up the UIA tree hierarchy for the first parent element which matches the search criteria. The parent element is defined as the element which is at the next level up the UIA 'tree' and is almost always a containing element.

Select UIA element

Selects an element (typically an item in a list or drop-down).

Set foreground UIA window

Brings a window to the foreground.

Set UIA element scroll percentage

Set the horizontal and / or vertical scroll percentage of the specified element, if scrolling is supported by that element. If the element supports the 'scroll' pattern, you can apply this action directly to the element and specify either a horizontal or vertical scroll amount (or both). If the element doesn't support the 'scroll' pattern this action will fall back to the 'range value' or 'value' patterns, but you will need to apply these directly to the scroll bar control(s), not the element itself.

Set UIA element search mode

Choose which UIA element search mode should be used by the IA-Connect Agent when performing UIA actions. Typically, this action would only be used if you are having a problem with the default mode (Find all).

Set UIA element to numeric range value

Sets the value of the element which has a numeric range, for example a scrollbar.

Set UIA element to numeric value

Sets the value of the element which has a numeric input, for example a text field or a scrollbar.

Set UIA transaction timeout

Controls how long the UIA API will wait for an application to return the information about an element. This transaction timeout would typically only be reached if the application was non-responsive.

Set UIA window to normal

Normalises the window with the specified UIA handle (i.e. sets it to a normal sized window instead of minimised or maximised).

Take screenshot of UIA element location

Takes a screenshot of the location of an element and returns an image. The element should be brought to the front first as the screenshot is taking a copy of the screen at the elements location.

Toggle UIA element

Toggles an element (typically a checkbox or a radio box). This gives the element the opposite state to its current state (e.g. checked becomes unchecked and vice-versa). If you want to set a specific state, use the action 'Check element' instead.

Wait for UIA desktop element

Waits for a desktop element (typically a window) to exist.

Wait for UIA desktop element to not exist

Waits for a desktop element (typically a window) to no longer exist.

Wait for UIA element

Waits for an element (typically an individual element within a window such as a button or a text input area) to exist.

Wait for UIA element to not exist

Waits for an element (typically an individual element within a window such as a button or a text input area) to no longer exist.

Wait for UIA process Id main window

A simple and fast Win32 action which waits for a main window of a process (specified by Process ID) to exist and returns a handle. The 'Main' window is typically the main application window: a login dialog or sub-window is generally not the 'Main' window. It is recommended to use the action 'Wait for desktop element' which is more powerful.

Wait for UIA process main window

A simple and fast Win32 action which waits for a specified time for the main window of a process (specified by name) to exist before returning a handle. The 'Main' window is typically the main application window: a login dialog or sub-window is generally not the 'Main' window. It is recommended to use the action 'Wait for desktop element' which is more powerful.

Wait for UIA top level Win32 window

A fast Win32 action which waits for a specified time for a top-level Win32 window to exist before returning a UIA handle. A top-level window is one which is connected to the desktop. You can search by class name or window title, or you can specify more advanced search filters, including wildcards. Although this action uses Win32 APIs, it can detect Windows, Java, ModernUI and Web windows. It is more common to use the UIA action 'Wait for desktop element' which is more powerful, but this Win32 action typically executes faster.

Check multiple UIA elements

Sets the state of multiple elements (typically a checkbox or radio box) to either checked or unchecked.

Parameters

Name Key Required Type Description
Input elements
InputElementsJSON True string

An array of UIA elements to check, in JSON format.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Check UIA element

Sets the state of an element (typically a checkbox or radio box) to either checked or unchecked.

Parameters

Name Key Required Type Description
Parent window handle
ParentWindowHandle True integer

The parent UIA window handle (a value of 1 or higher) to act as the starting point for the search. This can be discovered via Inspection using actions like 'Wait for desktop element' or 'Wait for element'.

Search element name
SearchElementName string

The optional UIA element name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element class name
SearchElementClassName string

The optional UIA element class name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element automation ID
SearchElementAutomationId string

The optional UIA element automation ID to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element localized control type
SearchLocalizedControlType string

The optional UIA element localized control type to search for (starting from the parent window handle). This can be discovered via Inspection.

Search UIA subtree
SearchSubTree boolean

If set to true then the whole UIA tree below the parent window handle will be searched. This is more thorough but can take longer. If set to false, only elements directly below the parent window handle in the UIA tree will be searched.

Check element
CheckElement boolean

Should the element be checked (true) or unchecked (false)?

Match index
MatchIndex integer

If multiple elements match the search, which element (starting at 1) should be matched. Can be used in conjunction with 'Sort by column' to choose the sort order for matching.

Search filter
SearchFilter string

An optional advanced filter to further restrict the search using conditional operators and any element field. Example 1: [Width] < 200. Example 2: [Name] like 'Document*' AND [ClassName] like 'Label*'. See the documentation for more examples.

Sort by column name
SortByColumn string

If multiple elements match the search, this allows you to specify which element property to sort by. This will be used in conjunction with 'Match index' to pick the required element. For example: If 'Sort by column name' is [TopEdge] and 'Match index' is 1 then the matching element nearest the top of the screen will be matched.

Match index is ascending
MatchIndexAscending boolean

If multiple elements match the search, should 'Match index' match from the top of the sorted list (true) or from the bottom of the sorted list (false).

Maximum elements to search
MaxElementsToSearch integer

The maximum number of elements to search when looking for the target element in the UIA tree. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Maximum relative search depth
MaxRelativeSearchDepth integer

The maximum relative tree depth to search for child elements beneath the parent element. Direct child elements will have a depth value of 1. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). Set to 0 for an unlimited search depth. This input is typically used to optimise element searching.

Maximum child elements to search per node
MaxChildElementsToSearchPerNode integer

The maximum number of child elements to search beneath each element when searching the UIA tree for the target element. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Element localized control types not to traverse
ElementLocalizedControlTypesNotToTraverse string

A comma separated list of UIA element localized control types to not traverse (step into) when searching the UIA tree for the target element. The search will still check if an individual element matches the search criteria, however it will not search any child elements of that element if its localized control type is on this exclusion list. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). This input is typically used to optimise element searching.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Click UIA list element item by index

Clicks the list element that matches the specified index. This is typically used to select an item in a dropdown / menu item.

Parameters

Name Key Required Type Description
Parent window handle
ParentWindowHandle True integer

The parent UIA window handle (a value of 1 or higher) to act as the starting point for the search. This can be discovered via Inspection using actions like 'Wait for desktop element' or 'Wait for element'.

Search element name
SearchElementName string

The optional UIA element name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element class name
SearchElementClassName string

The optional UIA element class name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element automation ID
SearchElementAutomationId string

The optional UIA element automation ID to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element localized control type
SearchLocalizedControlType string

The optional UIA element localized control type to search for (starting from the parent window handle). This can be discovered via Inspection.

Search UIA subtree
SearchSubTree boolean

If set to true then the whole UIA tree below the parent window handle will be searched. This is more thorough but can take longer. If set to false, only elements directly below the parent window handle in the UIA tree will be searched.

Expand first
ExpandFirst boolean

If set to true then IA-Connect will attempt to expand the list before searching for the list item elements. This is useful for dynamic lists as the list item elements may not be created until the list is expanded.

Collapse after
CollapseAfter boolean

If set to true then the list will be collapsed after executing the search.

Item index
ItemIndex integer

The index in the list of the item to be clicked.

Seconds between expand and collapse
SecondsBetweenExpandCollapse double

The number of seconds to wait between the expand and collapse actions if these are set to true.

Match index
MatchIndex integer

If multiple elements match the search, which element (starting at 1) should be matched. Can be used in conjunction with 'Sort by column' to choose the sort order for matching.

Search filter
SearchFilter string

An optional advanced filter to further restrict the search using conditional operators and any element field. Example 1: [Width] < 200. Example 2: [Name] like 'Document*' AND [ClassName] like 'Label*'. See the documentation for more examples.

Sort by column name
SortByColumn string

If multiple elements match the search, this allows you to specify which element property to sort by. This will be used in conjunction with 'Match index' to pick the required element. For example: If 'Sort by column name' is [TopEdge] and 'Match index' is 1 then the matching element nearest the top of the screen will be matched.

Match index is ascending
MatchIndexAscending boolean

If multiple elements match the search, should 'Match index' match from the top of the sorted list (true) or from the bottom of the sorted list (false).

Maximum elements to search
MaxElementsToSearch integer

The maximum number of elements to search when looking for the target element in the UIA tree. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Maximum relative search depth
MaxRelativeSearchDepth integer

The maximum relative tree depth to search for child elements beneath the parent element. Direct child elements will have a depth value of 1. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). Set to 0 for an unlimited search depth. This input is typically used to optimise element searching.

Maximum child elements to search per node
MaxChildElementsToSearchPerNode integer

The maximum number of child elements to search beneath each element when searching the UIA tree for the target element. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Element localized control types not to traverse
ElementLocalizedControlTypesNotToTraverse string

A comma separated list of UIA element localized control types to not traverse (step into) when searching the UIA tree for the target element. The search will still check if an individual element matches the search criteria, however it will not search any child elements of that element if its localized control type is on this exclusion list. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). This input is typically used to optimise element searching.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Click UIA list element item by name

Clicks the list element with the specified name. This is typically used to select an item in a dropdown / menu item.

Parameters

Name Key Required Type Description
Parent window handle
ParentWindowHandle True integer

The parent UIA window handle (a value of 1 or higher) to act as the starting point for the search. This can be discovered via Inspection using actions like 'Wait for desktop element' or 'Wait for element'.

Search element name
SearchElementName string

The optional UIA element name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element class name
SearchElementClassName string

The optional UIA element class name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element automation ID
SearchElementAutomationId string

The optional UIA element automation ID to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element localized control type
SearchLocalizedControlType string

The optional UIA element localized control type to search for (starting from the parent window handle). This can be discovered via Inspection.

Search UIA subtree
SearchSubTree boolean

If set to true then the whole UIA tree below the parent window handle will be searched. This is more thorough but can take longer. If set to false, only elements directly below the parent window handle in the UIA tree will be searched.

Expand first
ExpandFirst boolean

If set to true then IA-Connect will attempt to expand the list before searching for the list item elements. This is useful for dynamic lists as the list item elements may not be created until the list is expanded.

Collapse after
CollapseAfter boolean

If set to true then the list will be collapsed after executing the search.

Item name
ItemName string

The name of the element item to be clicked.

Seconds between expand and collapse
SecondsBetweenExpandCollapse double

The number of seconds to wait between the expand and collapse actions if these are set to true.

Match index
MatchIndex integer

If multiple elements match the search, which element (starting at 1) should be matched. Can be used in conjunction with 'Sort by column' to choose the sort order for matching.

Search filter
SearchFilter string

An optional advanced filter to further restrict the search using conditional operators and any element field. Example 1: [Width] < 200. Example 2: [Name] like 'Document*' AND [ClassName] like 'Label*'. See the documentation for more examples.

Sort by column name
SortByColumn string

If multiple elements match the search, this allows you to specify which element property to sort by. This will be used in conjunction with 'Match index' to pick the required element. For example: If 'Sort by column name' is [TopEdge] and 'Match index' is 1 then the matching element nearest the top of the screen will be matched.

Match index is ascending
MatchIndexAscending boolean

If multiple elements match the search, should 'Match index' match from the top of the sorted list (true) or from the bottom of the sorted list (false).

Maximum elements to search
MaxElementsToSearch integer

The maximum number of elements to search when looking for the target element in the UIA tree. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Maximum relative search depth
MaxRelativeSearchDepth integer

The maximum relative tree depth to search for child elements beneath the parent element. Direct child elements will have a depth value of 1. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). Set to 0 for an unlimited search depth. This input is typically used to optimise element searching.

Maximum child elements to search per node
MaxChildElementsToSearchPerNode integer

The maximum number of child elements to search beneath each element when searching the UIA tree for the target element. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Element localized control types not to traverse
ElementLocalizedControlTypesNotToTraverse string

A comma separated list of UIA element localized control types to not traverse (step into) when searching the UIA tree for the target element. The search will still check if an individual element matches the search criteria, however it will not search any child elements of that element if its localized control type is on this exclusion list. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). This input is typically used to optimise element searching.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Close UIA element window

Closes the element window. Typically only works on windows or dialogs.

Parameters

Name Key Required Type Description
Parent window handle
ParentWindowHandle True integer

The parent UIA window handle (a value of 1 or higher) to act as the starting point for the search. This can be discovered via Inspection using actions like 'Wait for desktop element' or 'Wait for element'.

Search element name
SearchElementName string

The optional UIA element name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element class name
SearchElementClassName string

The optional UIA element class name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element automation ID
SearchElementAutomationId string

The optional UIA element automation ID to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element localized control type
SearchLocalizedControlType string

The optional UIA element localized control type to search for (starting from the parent window handle). This can be discovered via Inspection.

Search UIA subtree
SearchSubTree boolean

If set to true then the whole UIA tree below the parent window handle will be searched. This is more thorough but can take longer. If set to false, only elements directly below the parent window handle in the UIA tree will be searched.

Match index
MatchIndex integer

If multiple elements match the search, which element (starting at 1) should be matched. Can be used in conjunction with 'Sort by column' to choose the sort order for matching.

Search filter
SearchFilter string

An optional advanced filter to further restrict the search using conditional operators and any element field. Example 1: [Width] < 200. Example 2: [Name] like 'Document*' AND [ClassName] like 'Label*'. See the documentation for more examples.

Sort by column name
SortByColumn string

If multiple elements match the search, this allows you to specify which element property to sort by. This will be used in conjunction with 'Match index' to pick the required element. For example: If 'Sort by column name' is [TopEdge] and 'Match index' is 1 then the matching element nearest the top of the screen will be matched.

Match index is ascending
MatchIndexAscending boolean

If multiple elements match the search, should 'Match index' match from the top of the sorted list (true) or from the bottom of the sorted list (false).

Maximum elements to search
MaxElementsToSearch integer

The maximum number of elements to search when looking for the target element in the UIA tree. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Maximum relative search depth
MaxRelativeSearchDepth integer

The maximum relative tree depth to search for child elements beneath the parent element. Direct child elements will have a depth value of 1. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). Set to 0 for an unlimited search depth. This input is typically used to optimise element searching.

Maximum child elements to search per node
MaxChildElementsToSearchPerNode integer

The maximum number of child elements to search beneath each element when searching the UIA tree for the target element. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Element localized control types not to traverse
ElementLocalizedControlTypesNotToTraverse string

A comma separated list of UIA element localized control types to not traverse (step into) when searching the UIA tree for the target element. The search will still check if an individual element matches the search criteria, however it will not search any child elements of that element if its localized control type is on this exclusion list. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). This input is typically used to optimise element searching.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Collapse UIA element

Collapses an element (typically a menu / dropdown item). If the item is already collapsed, nothing will happen.

Parameters

Name Key Required Type Description
Parent window handle
ParentWindowHandle True integer

The parent UIA window handle (a value of 1 or higher) to act as the starting point for the search. This can be discovered via Inspection using actions like 'Wait for desktop element' or 'Wait for element'.

Search element name
SearchElementName string

The optional UIA element name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element class name
SearchElementClassName string

The optional UIA element class name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element automation ID
SearchElementAutomationId string

The optional UIA element automation ID to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element localized control type
SearchLocalizedControlType string

The optional UIA element localized control type to search for (starting from the parent window handle). This can be discovered via Inspection.

Search UIA subtree
SearchSubTree boolean

If set to true then the whole UIA tree below the parent window handle will be searched. This is more thorough but can take longer. If set to false, only elements directly below the parent window handle in the UIA tree will be searched.

Match index
MatchIndex integer

If multiple elements match the search, which element (starting at 1) should be matched. Can be used in conjunction with 'Sort by column' to choose the sort order for matching.

Search filter
SearchFilter string

An optional advanced filter to further restrict the search using conditional operators and any element field. Example 1: [Width] < 200. Example 2: [Name] like 'Document*' AND [ClassName] like 'Label*'. See the documentation for more examples.

Sort by column name
SortByColumn string

If multiple elements match the search, this allows you to specify which element property to sort by. This will be used in conjunction with 'Match index' to pick the required element. For example: If 'Sort by column name' is [TopEdge] and 'Match index' is 1 then the matching element nearest the top of the screen will be matched.

Match index is ascending
MatchIndexAscending boolean

If multiple elements match the search, should 'Match index' match from the top of the sorted list (true) or from the bottom of the sorted list (false).

Maximum elements to search
MaxElementsToSearch integer

The maximum number of elements to search when looking for the target element in the UIA tree. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Maximum relative search depth
MaxRelativeSearchDepth integer

The maximum relative tree depth to search for child elements beneath the parent element. Direct child elements will have a depth value of 1. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). Set to 0 for an unlimited search depth. This input is typically used to optimise element searching.

Maximum child elements to search per node
MaxChildElementsToSearchPerNode integer

The maximum number of child elements to search beneath each element when searching the UIA tree for the target element. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Element localized control types not to traverse
ElementLocalizedControlTypesNotToTraverse string

A comma separated list of UIA element localized control types to not traverse (step into) when searching the UIA tree for the target element. The search will still check if an individual element matches the search criteria, however it will not search any child elements of that element if its localized control type is on this exclusion list. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). This input is typically used to optimise element searching.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Does process have Win32 window

A simple and fast Win32 action which reports whether a process (specified by name) has any visible windows. The window must exist: IA-Connect will not wait. It is recommended to use the action 'Wait for desktop element' which is more powerful.

Parameters

Name Key Required Type Description
Search process name
SearchProcessName True string

The name of the process to search for, e.g. notepad.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Name Path Type Description
Process has window
ProcessHasWindow boolean

Returns true if the process has a visible window, or false if not.

Does top level Win32 window exist

A fast Win32 action which reports whether a top-level Win32 window exists. A top-level window is one which is connected to the desktop. You can search by class name or window title, or you can specify more advanced search filters, including wildcards. Although this action uses Win32 APIs, it can detect Windows, Java, ModernUI and Web windows. The window must exist, IA-Connect will not wait. It is more common to use the UIA action 'Does UIA desktop element exist' which is more powerful, but this Win32 action typically executes faster.

Parameters

Name Key Required Type Description
Search class name
SearchClassName string

The element class name of the top level window to search for, e.g. 'Notepad'.

Search window title
SearchWindowTitle string

The title of the top level window to search for.

Search process Id
SearchProcessId integer

The optional process Id of the process which owns the window (for example, as provided by the output of the 'Run Process' action in the IA-Connect Environment / Session actions). Set to 0 to not search by process Id.

Match index
MatchIndex integer

If multiple elements match the search, which element (starting at 1) should be matched. Can be used in conjunction with 'Sort by column' to choose the sort order for matching.

Search filter
SearchFilter string

An optional advanced filter to further restrict the search using conditional operators against available window properties. Example 1: [Width] < 200. Example 2: [Title] like '*Excel' AND [IsMinimised] = False AND [IsResizeable] = True. See the documentation for more examples.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Name Path Type Description
Window exists
WindowExists boolean

Returns true if the window exists or false if not.

Does UIA desktop element exist

Reports whether a desktop element exists and provides some basic element properties.

Parameters

Name Key Required Type Description
Search element name
SearchElementName string

The optional UIA element name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element class name
SearchElementClassName string

The optional UIA element class name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element automation ID
SearchElementAutomationId string

The optional UIA element automation ID to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element localized control type
SearchLocalizedControlType string

The optional UIA element localized control type to search for (starting from the parent window handle). This can be discovered via Inspection.

Search process Id
SearchProcessId integer

If specified (a value of 1 or higher) then the search will only consider elements owned by a process with this Process ID (PID). If IA-Connect launched the process then the PID is provided by the 'Run Process' action in the IA-Connect Environment / Session actions. If you don't know the PID then leave this field blank (or 0).

Search UIA subtree
SearchSubTree boolean

If set to true then the whole UIA tree below the parent window handle will be searched. This is more thorough but can take longer. If set to false, only elements directly below the parent window handle in the UIA tree will be searched.

Return element handle
ReturnElementHandle boolean

If set to true, a handle to the located element will be returned. This handle can be used in further actions to act as a 'parent' handle.

Match index
MatchIndex integer

If multiple elements match the search, which element (starting at 1) should be matched. Can be used in conjunction with 'Sort by column' to choose the sort order for matching.

Search filter
SearchFilter string

An optional advanced filter to further restrict the search using conditional operators and any element field. Example 1: [Width] < 200. Example 2: [Name] like 'Document*' AND [ClassName] like 'Label*'. See the documentation for more examples.

Sort by column name
SortByColumn string

If multiple elements match the search, this allows you to specify which element property to sort by. This will be used in conjunction with 'Match index' to pick the required element. For example: If 'Sort by column name' is [TopEdge] and 'Match index' is 1 then the matching element nearest the top of the screen will be matched.

Match index is ascending
MatchIndexAscending boolean

If multiple elements match the search, should 'Match index' match from the top of the sorted list (true) or from the bottom of the sorted list (false).

Include child processes
IncludeChildProcesses boolean

If set to true and a 'Search process Id' is specified, child processes of that process Id are also included in the search. If set to false then only a process matching the exact 'Search process Id' will be returned.

Maximum elements to search
MaxElementsToSearch integer

The maximum number of elements to search when looking for the target element in the UIA tree. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Maximum relative search depth
MaxRelativeSearchDepth integer

The maximum relative tree depth to search for child elements beneath the parent element. Direct child elements will have a depth value of 1. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). Set to 0 for an unlimited search depth. This input is typically used to optimise element searching.

Maximum child elements to search per node
MaxChildElementsToSearchPerNode integer

The maximum number of child elements to search beneath each element when searching the UIA tree for the target element. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Element localized control types not to traverse
ElementLocalizedControlTypesNotToTraverse string

A comma separated list of UIA element localized control types to not traverse (step into) when searching the UIA tree for the target element. The search will still check if an individual element matches the search criteria, however it will not search any child elements of that element if its localized control type is on this exclusion list. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). This input is typically used to optimise element searching.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Name Path Type Description
Element exists
ElementExists boolean

Returns true if the element exists or false if not.

Element handle
ElementHandle integer

The UIA handle for the element. This can be used as an input to further UIA actions acting on this element.

Element name
ElementName string

The UIA name of the element.

Element class name
ElementClassName string

The UIA class name of the element.

Element automation Id
ElementAutomationId string

The UIA automation Id of the element.

Element localized control type
ElementLocalizedControlType string

The UIA localized control type of the element.

Does UIA element exist

Reports whether an element exists and returns some basic element properties.

Parameters

Name Key Required Type Description
Parent window handle
ParentWindowHandle True integer

The parent UIA window handle (a value of 1 or higher) to act as the starting point for the search. This can be discovered via Inspection using actions like 'Wait for desktop element' or 'Wait for element'.

Search element name
SearchElementName string

The optional UIA element name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element class name
SearchElementClassName string

The optional UIA element class name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element automation ID
SearchElementAutomationId string

The optional UIA element automation ID to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element localized control type
SearchLocalizedControlType string

The optional UIA element localized control type to search for (starting from the parent window handle). This can be discovered via Inspection.

Search process Id
SearchProcessId integer

If specified (a value of 1 or higher) then the search will only consider elements owned by a process with this Process ID (PID). If IA-Connect launched the process then the PID is provided by the 'Run Process' action in the IA-Connect Environment / Session actions. If you don't know the PID then leave this field blank (or 0).

Search UIA subtree
SearchSubTree boolean

If set to true then the whole UIA tree below the parent window handle will be searched. This is more thorough but can take longer. If set to false, only elements directly below the parent window handle in the UIA tree will be searched.

Return element handle
ReturnElementHandle boolean

If set to true, a handle to the located element will be returned. This handle can be used in further actions to act as a 'parent' handle.

Match index
MatchIndex integer

If multiple elements match the search, which element (starting at 1) should be matched. Can be used in conjunction with 'Sort by column' to choose the sort order for matching.

Search filter
SearchFilter string

An optional advanced filter to further restrict the search using conditional operators and any element field. Example 1: [Width] < 200. Example 2: [Name] like 'Document*' AND [ClassName] like 'Label*'. See the documentation for more examples.

Sort by column name
SortByColumn string

If multiple elements match the search, this allows you to specify which element property to sort by. This will be used in conjunction with 'Match index' to pick the required element. For example: If 'Sort by column name' is [TopEdge] and 'Match index' is 1 then the matching element nearest the top of the screen will be matched.

Match index is ascending
MatchIndexAscending boolean

If multiple elements match the search, should 'Match index' match from the top of the sorted list (true) or from the bottom of the sorted list (false).

Include child processes
IncludeChildProcesses boolean

If set to true and a 'Search process Id' is specified, child processes of that process Id are also included in the search. If set to false then only a process matching the exact 'Search process Id' will be searched.

Maximum elements to search
MaxElementsToSearch integer

The maximum number of elements to search when looking for the target element in the UIA tree. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Maximum relative search depth
MaxRelativeSearchDepth integer

The maximum relative tree depth to search for child elements beneath the parent element. Direct child elements will have a depth value of 1. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). Set to 0 for an unlimited search depth. This input is typically used to optimise element searching.

Maximum child elements to search per node
MaxChildElementsToSearchPerNode integer

The maximum number of child elements to search beneath each element when searching the UIA tree for the target element. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Element localized control types not to traverse
ElementLocalizedControlTypesNotToTraverse string

A comma separated list of UIA element localized control types to not traverse (step into) when searching the UIA tree for the target element. The search will still check if an individual element matches the search criteria, however it will not search any child elements of that element if its localized control type is on this exclusion list. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). This input is typically used to optimise element searching.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Name Path Type Description
Element exists
ElementExists boolean

Returns true if the element exists or false if not.

Element handle
ElementHandle integer

The UIA handle for the element. This can be used as an input to further UIA actions acting on this element.

Element name
ElementName string

The UIA name of the element.

Element class name
ElementClassName string

The UIA class name of the element.

Element automation Id
ElementAutomationId string

The UIA automation Id of the element.

Element localized control type
ElementLocalizedControlType string

The UIA localized control type of the element.

Draw rectangle around UIA element

Draws a rectangle around the perimeter of an element to aid in identifying that the element found is the one required. The rectangle is automatically removed after 5 seconds.

Parameters

Name Key Required Type Description
Parent window handle
ParentWindowHandle True integer

The parent UIA window handle (a value of 1 or higher) to act as the starting point for the search. This can be discovered via Inspection using actions like 'Wait for desktop element' or 'Wait for element'.

Search element name
SearchElementName string

The optional UIA element name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element class name
SearchElementClassName string

The optional UIA element class name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element automation ID
SearchElementAutomationId string

The optional UIA element automation ID to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element localized control type
SearchLocalizedControlType string

The optional UIA element localized control type to search for (starting from the parent window handle). This can be discovered via Inspection.

Search UIA subtree
SearchSubTree boolean

If set to true then the whole UIA tree below the parent window handle will be searched. This is more thorough but can take longer. If set to false, only elements directly below the parent window handle in the UIA tree will be searched.

Pen colour
PenColour string

The colour of the rectangle to be drawn (e.g. red, green, blue, yellow, purple or orange) or a string hex code e.g. #FF0000.

Pen thickness pixels
PenThicknessPixels integer

The thickness (in pixels) of the highlight rectangle border.

Match index
MatchIndex integer

If multiple elements match the search, which element (starting at 1) should be matched. Can be used in conjunction with 'Sort by column' to choose the sort order for matching.

Search filter
SearchFilter string

An optional advanced filter to further restrict the search using conditional operators and any element field. Example 1: [Width] < 200. Example 2: [Name] like 'Document*' AND [ClassName] like 'Label*'. See the documentation for more examples.

Sort by column name
SortByColumn string

If multiple elements match the search, this allows you to specify which element property to sort by. This will be used in conjunction with 'Match index' to pick the required element. For example: If 'Sort by column name' is [TopEdge] and 'Match index' is 1 then the matching element nearest the top of the screen will be matched.

Match index is ascending
MatchIndexAscending boolean

If multiple elements match the search, should 'Match index' match from the top of the sorted list (true) or from the bottom of the sorted list (false).

Maximum elements to search
MaxElementsToSearch integer

The maximum number of elements to search when looking for the target element in the UIA tree. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Maximum relative search depth
MaxRelativeSearchDepth integer

The maximum relative tree depth to search for child elements beneath the parent element. Direct child elements will have a depth value of 1. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). Set to 0 for an unlimited search depth. This input is typically used to optimise element searching.

Maximum child elements to search per node
MaxChildElementsToSearchPerNode integer

The maximum number of child elements to search beneath each element when searching the UIA tree for the target element. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Element localized control types not to traverse
ElementLocalizedControlTypesNotToTraverse string

A comma separated list of UIA element localized control types to not traverse (step into) when searching the UIA tree for the target element. The search will still check if an individual element matches the search criteria, however it will not search any child elements of that element if its localized control type is on this exclusion list. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). This input is typically used to optimise element searching.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Expand UIA element

Expands an element (typically a menu / dropdown item). If the item is already expanded, nothing will happen.

Parameters

Name Key Required Type Description
Parent window handle
ParentWindowHandle True integer

The parent UIA window handle (a value of 1 or higher) to act as the starting point for the search. This can be discovered via Inspection using actions like 'Wait for desktop element' or 'Wait for element'.

Search element name
SearchElementName string

The optional UIA element name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element class name
SearchElementClassName string

The optional UIA element class name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element automation ID
SearchElementAutomationId string

The optional UIA element automation ID to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element localized control type
SearchLocalizedControlType string

The optional UIA element localized control type to search for (starting from the parent window handle). This can be discovered via Inspection.

Search UIA subtree
SearchSubTree boolean

If set to true then the whole UIA tree below the parent window handle will be searched. This is more thorough but can take longer. If set to false, only elements directly below the parent window handle in the UIA tree will be searched.

Match index
MatchIndex integer

If multiple elements match the search, which element (starting at 1) should be matched. Can be used in conjunction with 'Sort by column' to choose the sort order for matching.

Search filter
SearchFilter string

An optional advanced filter to further restrict the search using conditional operators and any element field. Example 1: [Width] < 200. Example 2: [Name] like 'Document*' AND [ClassName] like 'Label*'. See the documentation for more examples.

Sort by column name
SortByColumn string

If multiple elements match the search, this allows you to specify which element property to sort by. This will be used in conjunction with 'Match index' to pick the required element. For example: If 'Sort by column name' is [TopEdge] and 'Match index' is 1 then the matching element nearest the top of the screen will be matched.

Match index is ascending
MatchIndexAscending boolean

If multiple elements match the search, should 'Match index' match from the top of the sorted list (true) or from the bottom of the sorted list (false).

Maximum elements to search
MaxElementsToSearch integer

The maximum number of elements to search when looking for the target element in the UIA tree. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Maximum relative search depth
MaxRelativeSearchDepth integer

The maximum relative tree depth to search for child elements beneath the parent element. Direct child elements will have a depth value of 1. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). Set to 0 for an unlimited search depth. This input is typically used to optimise element searching.

Maximum child elements to search per node
MaxChildElementsToSearchPerNode integer

The maximum number of child elements to search beneath each element when searching the UIA tree for the target element. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Element localized control types not to traverse
ElementLocalizedControlTypesNotToTraverse string

A comma separated list of UIA element localized control types to not traverse (step into) when searching the UIA tree for the target element. The search will still check if an individual element matches the search criteria, however it will not search any child elements of that element if its localized control type is on this exclusion list. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). This input is typically used to optimise element searching.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Focus UIA element

Focusses an element which makes it the active element for keyboard focus and, depending on the application, may bring the element window to the foreground.

Parameters

Name Key Required Type Description
Parent window handle
ParentWindowHandle True integer

The parent UIA window handle (a value of 1 or higher) to act as the starting point for the search. This can be discovered via Inspection using actions like 'Wait for desktop element' or 'Wait for element'.

Search element name
SearchElementName string

The optional UIA element name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element class name
SearchElementClassName string

The optional UIA element class name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element automation ID
SearchElementAutomationId string

The optional UIA element automation ID to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element localized control type
SearchLocalizedControlType string

The optional UIA element localized control type to search for (starting from the parent window handle). This can be discovered via Inspection.

Search UIA subtree
SearchSubTree boolean

If set to true then the whole UIA tree below the parent window handle will be searched. This is more thorough but can take longer. If set to false, only elements directly below the parent window handle in the UIA tree will be searched.

Match index
MatchIndex integer

If multiple elements match the search, which element (starting at 1) should be matched. Can be used in conjunction with 'Sort by column' to choose the sort order for matching.

Search filter
SearchFilter string

An optional advanced filter to further restrict the search using conditional operators and any element field. Example 1: [Width] < 200. Example 2: [Name] like 'Document*' AND [ClassName] like 'Label*'. See the documentation for more examples.

Sort by column name
SortByColumn string

If multiple elements match the search, this allows you to specify which element property to sort by. This will be used in conjunction with 'Match index' to pick the required element. For example: If 'Sort by column name' is [TopEdge] and 'Match index' is 1 then the matching element nearest the top of the screen will be matched.

Match index is ascending
MatchIndexAscending boolean

If multiple elements match the search, should 'Match index' match from the top of the sorted list (true) or from the bottom of the sorted list (false).

Maximum elements to search
MaxElementsToSearch integer

The maximum number of elements to search when looking for the target element in the UIA tree. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Maximum relative search depth
MaxRelativeSearchDepth integer

The maximum relative tree depth to search for child elements beneath the parent element. Direct child elements will have a depth value of 1. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). Set to 0 for an unlimited search depth. This input is typically used to optimise element searching.

Maximum child elements to search per node
MaxChildElementsToSearchPerNode integer

The maximum number of child elements to search beneath each element when searching the UIA tree for the target element. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Element localized control types not to traverse
ElementLocalizedControlTypesNotToTraverse string

A comma separated list of UIA element localized control types to not traverse (step into) when searching the UIA tree for the target element. The search will still check if an individual element matches the search criteria, however it will not search any child elements of that element if its localized control type is on this exclusion list. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). This input is typically used to optimise element searching.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Get multiple UIA element properties

Returns the properties of multiple elements. This can be useful if you are uncertain which fields holds the property values required.

Parameters

Name Key Required Type Description
Parent window handle
ParentWindowHandle True integer

The parent UIA window handle (a value of 1 or higher) to act as the starting point for the search. This can be discovered via Inspection using actions like 'Wait for desktop element' or 'Wait for element'.

Search element localized control type
SearchElementLocalizedControlType string

The optional UIA element localized control type to search for (starting from the parent window handle). This can be discovered via Inspection.

Search descendants
SearchDescendants boolean

If set to true then the whole UIA tree below the parent window handle will be searched. This is more thorough but can take longer. If set to false, only elements directly below the parent window handle in the UIA tree will be searched.

Return element handle
ReturnElementHandle boolean

If set to true, a handle to the located element will be returned. This handle can be used in further actions to act as a 'parent' handle.

Return element value
ReturnElementValue boolean

If set to true than the value of the located element will be returned.

First item to return
FirstItemToReturn integer

The element index of the first item to return, starting from 1. If you wish to return the elements in the reverse order (from the bottom of the UIA tree), you can alternatively specify a negative index starting from -1.

Max items to return
MaxItemsToReturn integer

The maximum number of elements to return, or 0 to return all items.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Name Path Type Description
Number of elements found
NumberOfElementsFound integer

The number of elements found that match the search criteria.

Number of elements returned
NumberOfElementsReturned integer

The number of elements returned (this can be lower than the number of elements found if specifying a maximum number of items to return).

Element properties
ElementProperties array of object

The element properties of the elements found that match the search criteria.

items
ElementProperties object

Get multiple UIA elements as table

Enumerates the values of child elements of a specified parent element and returns in a table format. This can be used to return rows and columns of data from elements which aren't technically tables, but have been arranged together into a table structure. This action can also be used to retrieve the results from a previous execution of this action, run as an Agent thread.

Parameters

Name Key Required Type Description
Parent window handle
ParentWindowHandle integer

The parent UIA window handle (a value of 1 or higher) to act as the starting point for the search. This can be discovered via Inspection using actions like 'Wait for desktop element' or 'Wait for element'.

Search element name
SearchElementName string

The optional UIA element name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element class name
SearchElementClassName string

The optional UIA element class name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element automation ID
SearchElementAutomationId string

The optional UIA element automation ID to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element localized control type
SearchLocalizedControlType string

The optional UIA element localized control type to search for (starting from the parent window handle). This can be discovered via Inspection.

Search UIA subtree
SearchSubTree boolean

If set to true then the whole UIA tree below the parent window handle will be searched. This is more thorough but can take longer. If set to false, only elements directly below the parent window handle in the UIA tree will be searched.

Match index
MatchIndex integer

If multiple elements match the search, which element (starting at 1) should be matched. Can be used in conjunction with 'Sort by column' to choose the sort order for matching.

Search filter
SearchFilter string

An optional advanced filter to further restrict the search using conditional operators and any element field. Example 1: [Width] < 200. Example 2: [Name] like 'Document*' AND [ClassName] like 'Label*'. See the documentation for more examples.

Sort by column name
SortByColumn string

If multiple elements match the search, this allows you to specify which element property to sort by. This will be used in conjunction with 'Match index' to pick the required element. For example: If 'Sort by column name' is [TopEdge] and 'Match index' is 1 then the matching element nearest the top of the screen will be matched.

Match index is ascending
MatchIndexAscending boolean

If multiple elements match the search, should 'Match index' match from the top of the sorted list (true) or from the bottom of the sorted list (false).

Search cell header subelement localized control type
SearchCellHeaderSubElementLocalizedControlType string

The cell header subelement localized control type to search for. Leave blank if not searching for cell headers.

Search cell header subelement control type
SearchCellHeaderSubElementControlType integer

The cell header subelement control type (an non-localized integer) to search for. This is the same value across different languages. Leave at 0 if not searching for cell headers.

Search cell subelement localized control type
SearchCellSubElementLocalizedControlType string

The cell subelement localized control type to search for.

Search cell subelement control type
SearchCellSubElementControlType integer

The cell subelement control type (an non-localized integer) to search for. This is the same value across different languages.

Search descendants for cell subelements
SearchDescendantsForCellSubElements boolean

If set to true then the UIA tree below the located element will be searched for cell and cell header subelements (i.e. the element values which will populate the cells in the output table). This is more thorough but can take longer. You may wish to set this to false if you are only interested in elements directly beneath the element.

First cell header subelement to return
FirstCellHeaderSubElementToReturn integer

The index of the first cell header subelement to return, starting from 1. If you wish to return the elements in the reverse order (from the bottom of the UIA tree), you can alternatively specify a negative index starting from -1.

Max cell header subelements to return
MaxCellHeaderSubElementsToReturn integer

The maximum number of cell header subelements to return, or 0 to return all subelements.

First cell subelement to return
FirstCellSubElementToReturn integer

The index of the first cell subelement to return, starting from 1. If you wish to return the elements in the reverse order (from the bottom of the UIA tree), you can alternatively specify a negative index starting from -1.

Max cell subelements to return
MaxCellSubElementsToReturn integer

The maximum number of cell subelements to return, or 0 to return all subelements.

Requested number of columns
RequestedNumberOfColumns integer

The number of columns you would like in the output table. This value must be correct for the element being read, or you will receive unexpected results.

Cell subelement value priority
CellSubElementValuePriority integer

The priority for using the cell subelement value as the value to use in the output table. 1 is highest priority. 2 is second priority. 3 is third priority. 0 is do not use.

Cell subelement text value priority
CellSubElementTextValuePriority integer

The priority for using the cell subelement text value as the value to use in the output table. 1 is highest priority. 2 is second priority. 3 is third priority. 0 is do not use.

Cell subelement name value priority
CellSubElementNameValuePriority integer

The priority for using the cell subelement name (common for labels) as the value to use in the output table. 1 is highest priority. 2 is second priority. 3 is third priority. 0 is do not use.

Minimum cell subelement width
MinimumCellSubElementWidth integer

The minimum width in pixels of a cell subelement to be included in the table.

Minimum cell subelement height
MinimumCellSubElementHeight integer

The minimum height in pixels of a cell subelement to be included in the table.

Search cell subelement bounding box left
SearchCellSubElementBoundingBoxLeft integer

Only include cell subelements which are fully contained within the bounding box. By default the bounding box is huge to include all elements.

Search cell subelement bounding box right
SearchCellSubElementBoundingBoxRight integer

Only include cell subelements which are fully contained within the bounding box. By default the bounding box is huge to include all elements.

Search cell subelement bounding box top
SearchCellSubElementBoundingBoxTop integer

Only include cell subelements which are fully contained within the bounding box. By default the bounding box is huge to include all elements.

Search cell subelement bounding box bottom
SearchCellSubElementBoundingBoxBottom integer

Only include cell subelements which are fully contained within the bounding box. By default the bounding box is huge to include all elements.

Read table as thread
ReadTableAsThread boolean

If set to false (the default), the IA-Connect Agent will read the table immediately and return the contents to the Director. If reading large tables, this action may time out. If set to true, the IA-Connect Agent will read the table as an Agent thread and the IA-Connect Director (or Orchestrator, PowerShell module, Blue Prism) can monitor the status of this Agent thread, waiting for it to complete. This allows large tables to be read without timeouts. IA-Connect Agents 9.3 and earlier could only read tables immediately, not as an Agent thread.

Retrieve output data for thread Id
RetrieveOutputDataFromThreadId integer

If you previously ran this action as an Agent thread and set 'Seconds to wait for thread' to 0, provide the Agent thread Id to retrieve the results. This Agent thread Id will have been provided by the earlier call to this action. Set to 0 (the default) if you are reading a table (and hence not retrieving the results of a previous query run as an Agent thread).

Seconds to wait for thread
SecondsToWaitForThread integer

If 'Read table as thread' is set to true, how many seconds to wait for the Agent thread to complete. If the Agent thread reading the table hasn't completed in this time, an exception will be raised. Set to 0 to bypass the wait: The Agent will continue to read the table, but also be available for the next action. You can then retrieve the results (the contents of the table) at a later time by using the action 'Wait for Agent thread to complete successfully' to wait for the Agent thread to complete and then re-run this 'Get multiple UIA elements as table' action with the input 'Retrieve output data for thread Id' set to the Agent thread Id.

Maximum elements to search
MaxElementsToSearch integer

The maximum number of elements to search when looking for the target element in the UIA tree. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Maximum relative search depth
MaxRelativeSearchDepth integer

The maximum relative tree depth to search for child elements beneath the parent element. Direct child elements will have a depth value of 1. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). Set to 0 for an unlimited search depth. This input is typically used to optimise element searching.

Maximum child elements to search per node
MaxChildElementsToSearchPerNode integer

The maximum number of child elements to search beneath each element when searching the UIA tree for the target element. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Element localized control types not to traverse
ElementLocalizedControlTypesNotToTraverse string

A comma separated list of UIA element localized control types to not traverse (step into) when searching the UIA tree for the target element. The search will still check if an individual element matches the search criteria, however it will not search any child elements of that element if its localized control type is on this exclusion list. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). This input is typically used to optimise element searching.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Name Path Type Description
Number of cell subelements found
NumberOfCellSubElementsFound integer

The number of cell subelements (not headers) found that match the search criteria.

Number of cell subelements returned
NumberOfCellSubElementsReturned integer

The number of cell subelements (not headers) returned (this can be lower than the number of elements found if specifying a first or maximum number of items to return).

Table contents JSON
TableContentsJSON string

The table created from the multiple element contents, in JSON format.

Number of rows in table
NumberOfRowsInTable integer

The number of rows in the output table.

Number of columns in table
NumberOfColumnsInTable integer

The number of columns in the output table.

Thread Id
ThreadId integer

If this action is being run as an Agent thread, this output will hold the Agent thread Id which can be used to monitor the action's process and retrieve the table contents when the thread has completed.

Get multiple UIA parent element properties

Returns a hierarchal tree of parent elements of the specified element, all the way up to the desktop (root level). The parent element is defined as the element which is at the next level up the UIA 'tree' and is almost always a containing element.

Parameters

Name Key Required Type Description
Element handle
ElementHandle True integer

The UIA handle for the target element.

Max parents to process
MaxParentsToProcess integer

The maximum number of parent elements to process. By default, this is set to 50.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Name Path Type Description
UIA parent elements
UIAParentElements array of object

A list of all located parent elements (and their properties). The properties returned are the same as those returned by the 'Get multiple element properties' action.

items
UIAParentElements object
Number of parent elements returned
NumberOfParentElementsReturned integer

The number of parent elements returned from the search.

Get UIA datagrid element contents

Returns the contents of a datagrid element. This is an element with rows, columns, header and cells (i.e. a table). This action can also be used to retrieve the results from a previous execution of this action, run as an Agent thread.

Parameters

Name Key Required Type Description
Parent window handle
ParentWindowHandle integer

The parent UIA window handle (a value of 1 or higher) to act as the starting point for the search. This can be discovered via Inspection using actions like 'Wait for desktop element' or 'Wait for element'.

Search element name
SearchElementName string

The optional UIA element name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element class name
SearchElementClassName string

The optional UIA element class name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element automation ID
SearchElementAutomationId string

The optional UIA element automation ID to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element localized control type
SearchLocalizedControlType string

The optional UIA element localized control type to search for (starting from the parent window handle). This can be discovered via Inspection.

Search UIA subtree
SearchSubTree boolean

If set to true then the whole UIA tree below the parent window handle will be searched. This is more thorough but can take longer. If set to false, only elements directly below the parent window handle in the UIA tree will be searched.

Retrieve Onscreen columns only
OnScreenColumnsOnly boolean

If set to true then only onscreen columns will be returned.

Retrieve Onscreen rows only
OnScreenRowsOnly boolean

If set to true then only onscreen rows will be returned.

Return null values as blank
ReturnNullValuesAsBlank boolean

If set to true, null values will be returned as '' (i.e. blank). If set to false, null values are typically returned as '(null)'.

Alternative header row name
AlternativeHeaderRowName string

By default, the header row in a DataGrid has the UIA element name 'Top Row'. If the header row has a different name, specify that name here.

Return row UIA name
ReturnRowUIAName boolean

If this input is set to then the row UIA name will be stored in a column in the output collection. The name of the column is defined by the input 'Name of column to store row UIA name'.

Name of column to store row UIA name
NameOfColumnToStoreRowUIAName string

If the input 'Return row UIA name' is set to true then this input specifies the name of the column in the output collection to hold the row UIA name.

Match index
MatchIndex integer

If multiple elements match the search, which element (starting at 1) should be matched. Can be used in conjunction with 'Sort by column' to choose the sort order for matching.

Search filter
SearchFilter string

An optional advanced filter to further restrict the search using conditional operators and any element field. Example 1: [Width] < 200. Example 2: [Name] like 'Document*' AND [ClassName] like 'Label*'. See the documentation for more examples.

Sort by column name
SortByColumn string

If multiple elements match the search, this allows you to specify which element property to sort by. This will be used in conjunction with 'Match index' to pick the required element. For example: If 'Sort by column name' is [TopEdge] and 'Match index' is 1 then the matching element nearest the top of the screen will be matched.

Match index is ascending
MatchIndexAscending boolean

If multiple elements match the search, should 'Match index' match from the top of the sorted list (true) or from the bottom of the sorted list (false).

First item to return
FirstItemToReturn integer

The element index of the first item (row) to return, starting from 1.

Max items to return
MaxItemsToReturn integer

The maximum number of items (rows) to return, or 0 to return all items (rows).

Scan first N rows for empty rows
ScanFirstNRowsForEmptyRows integer

Some datagrids have a few empty / null row elements in the UIA tree (usually at the top) and IA-Connect will automatically skip these row elements since they don't represent anything in the table which is visible in the UI. If this input is set to 0 (the default), the IA-Connect Agent will always scan row elements from the first row onwards, even if 'First item to return' is set to retrieve rows deeper within the table. This ensures consistency with row index numbers but impacts performance since all rows from the first row to the requested row(s) need to be scanned. If you are certain the only empty / null row elements in the table are within the first N (e.g. 10) rows, you can set this to N (e.g. 10) to potentially improve performance. Do not set to a value other than 0 unless you know what you are doing.

Read table as thread
ReadTableAsThread boolean

If set to false (the default), the IA-Connect Agent will read the table immediately and return the contents to the Director. If reading large tables, this action may time out. If set to true, the IA-Connect Agent will read the table as an Agent thread and the IA-Connect Director (or Orchestrator, PowerShell module, Blue Prism) can monitor the status of this Agent thread, waiting for it to complete. This allows large tables to be read without timeouts. IA-Connect Agents 9.3 and earlier could only read tables immediately, not as an Agent thread.

Retrieve output data for thread Id
RetrieveOutputDataFromThreadId integer

If you previously ran this action as an Agent thread and set 'Seconds to wait for thread' to 0, provide the Agent thread Id to retrieve the results. This Agent thread Id will have been provided by the earlier call to this action. Set to 0 (the default) if you are reading a datagrid (and hence not retrieving the results of a previous query run as an Agent thread).

Seconds to wait for thread
SecondsToWaitForThread integer

If 'Read table as thread' is set to true, how many seconds to wait for the Agent thread to complete. If the Agent thread reading the table hasn't completed in this time, an exception will be raised. Set to 0 to bypass the wait: The Agent will continue to read the datagrid, but also be available for the next action. You can then retrieve the results (the contents of the datagrid) at a later time by using the action 'Wait for Agent thread to complete successfully' to wait for the Agent thread to complete and then re-run this 'Get UIA datagrid element contents' action with the input 'Retrieve output data for thread Id' set to the Agent thread Id.

Scroll datagrid vertically every N percent
ScrollDataGridVerticallyEveryNPercent integer

The performance of reading some large datagrids (for example: with thousands of rows) has been observed to improve if you periodically scroll the datagrid into (or near) the location being scrolled. If set to 0 (the default), the datagrid will not be scrolled while reading the contents. If set to a value between 1 and 100, the datagrid will periodically be scrolled (every N percent of the total number of rows) while reading the contents. For example: If set to 20, the datagrid will be scrolled at 0, 20, 40, 60, 80 percent. Alternatively, use 'Scroll datagrid vertically every N rows' to scroll every N rows instead of every N percent.

Scroll datagrid vertically every N rows
ScrollDataGridVerticallyEveryNRows integer

The performance of reading some large datagrids (for example: with thousands of rows) has been observed to improve if you periodically scroll the datagrid into (or near) the location being scrolled. If set to 0 (the default), the datagrid will not be scrolled while reading the contents. If set to a value 1 or higher, the datagrid will be scrolled every N rows while reading the contents. For example: If set to 5, the datagrid will be scrolled every 5 rows. Alternatively, use 'Scroll datagrid vertically every N percent' to scroll every N percent of the rows instead of every N rows.

Scroll datagrid vertically element handle
ScrollDataGridVerticallyElementHandle integer

If scrolling the datagrid vertically while reading contents, this input defines how IA-Connect will locate the vertical scrollbar. If set to 0, IA-Connect will attempt to scroll the datagrid directly, either by using the 'scroll' pattern (if the datagrid supports it) or by searching for the vertical scrollbar contained within the datagrid. Alternatively, you can specify the IA-Connect UIA handle of the vertical scrollbar element (the scrollbar element itself, not the buttons within) which is a value of 1 or higher.

Minimum datagrid rows for scrolling
MinimumDataGridRowsForScrolling integer

If scrolling the datagrid vertically while reading contents, this input specifies the minimum numbers of rows required in the table before IA-Connect will perform scrolling. If set to 0, IA-Connect will scroll regardless of the number of rows. If set to a positive number, IA-Connect will only perform scrolling when the datagrid has that number of rows or more.

Raise exception if cannot scroll
RaiseExceptionIfCannotScroll boolean

If scrolling the datagrid vertically while reading contents: Set this input to true if a failure to scroll should be considered an exception, or set to false (the default) if a failure to scroll should be ignored. Common failures to scroll include failing to locate the scrollbars or the scrollbars don't have a UIA pattern suitable for scrolling ('scroll', 'rangevalue' or 'value').

Alternative vertical scrollbar name
AlternativeVerticalScrollbarName string

By default, the vertical scrollbar 'row' in a datagrid has the UIA element name 'Vertical Scroll Bar'. If the vertical scrollbar has a different name, specify that name here. This will be used if you want IA-Connect to periodically scroll the datagrid while reading the contents, the input 'Scroll datagrid vertically element handle' field is set to 0 (specifying that IA-Connect should scroll the datagrid directly) but the datagrid doesn't implement the 'scroll' pattern.

Maximum elements to search
MaxElementsToSearch integer

The maximum number of elements to search when looking for the target element in the UIA tree. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Maximum relative search depth
MaxRelativeSearchDepth integer

The maximum relative tree depth to search for child elements beneath the parent element. Direct child elements will have a depth value of 1. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). Set to 0 for an unlimited search depth. This input is typically used to optimise element searching.

Maximum child elements to search per node
MaxChildElementsToSearchPerNode integer

The maximum number of child elements to search beneath each element when searching the UIA tree for the target element. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Element localized control types not to traverse
ElementLocalizedControlTypesNotToTraverse string

A comma separated list of UIA element localized control types to not traverse (step into) when searching the UIA tree for the target element. The search will still check if an individual element matches the search criteria, however it will not search any child elements of that element if its localized control type is on this exclusion list. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). This input is typically used to optimise element searching.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Name Path Type Description
Datagrid contents JSON
DataGridContentsJSON string

The datagrid element contents, in JSON format.

Number of rows in table
NumberOfRowsInTable integer

The number of rows in the output table if the table was read immediately.

Number of columns in table
NumberOfColumnsInTable integer

The number of columns in the output table if the table was read immediately.

Thread Id
ThreadId integer

If this action is being run as an Agent thread, this output will hold the Agent thread Id which can be used to monitor the action's process and retrieve the datagrid contents when the thread has completed.

Get UIA datagrid element properties

Returns table properties of a DataGrid element. This is an element with rows, columns, header and cells (i.e. a table).

Parameters

Name Key Required Type Description
Parent window handle
ParentWindowHandle True integer

The parent UIA window handle (a value of 1 or higher) to act as the starting point for the search. This can be discovered via Inspection using actions like 'Wait for desktop element' or 'Wait for element'.

Search element name
SearchElementName string

The optional UIA element name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element class name
SearchElementClassName string

The optional UIA element class name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element automation ID
SearchElementAutomationId string

The optional UIA element automation ID to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element localized control type
SearchLocalizedControlType string

The optional UIA element localized control type to search for (starting from the parent window handle). This can be discovered via Inspection.

Search UIA subtree
SearchSubTree boolean

If set to true then the whole UIA tree below the parent window handle will be searched. This is more thorough but can take longer. If set to false, only elements directly below the parent window handle in the UIA tree will be searched.

Alternative header row name
AlternativeHeaderRowName string

By default, the header row in a DataGrid has the UIA name 'Top Row'. If the header row has a different name, specify that name here.

Match index
MatchIndex integer

If multiple elements match the search, which element (starting at 1) should be matched. Can be used in conjunction with 'Sort by column' to choose the sort order for matching.

Search filter
SearchFilter string

An optional advanced filter to further restrict the search using conditional operators and any element field. Example 1: [Width] < 200. Example 2: [Name] like 'Document*' AND [ClassName] like 'Label*'. See the documentation for more examples.

Sort by column name
SortByColumn string

If multiple elements match the search, this allows you to specify which element property to sort by. This will be used in conjunction with 'Match index' to pick the required element. For example: If 'Sort by column name' is [TopEdge] and 'Match index' is 1 then the matching element nearest the top of the screen will be matched.

Match index is ascending
MatchIndexAscending boolean

If multiple elements match the search, should 'Match index' match from the top of the sorted list (true) or from the bottom of the sorted list (false).

Maximum elements to search
MaxElementsToSearch integer

The maximum number of elements to search when looking for the target element in the UIA tree. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Maximum relative search depth
MaxRelativeSearchDepth integer

The maximum relative tree depth to search for child elements beneath the parent element. Direct child elements will have a depth value of 1. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). Set to 0 for an unlimited search depth. This input is typically used to optimise element searching.

Maximum child elements to search per node
MaxChildElementsToSearchPerNode integer

The maximum number of child elements to search beneath each element when searching the UIA tree for the target element. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Element localized control types not to traverse
ElementLocalizedControlTypesNotToTraverse string

A comma separated list of UIA element localized control types to not traverse (step into) when searching the UIA tree for the target element. The search will still check if an individual element matches the search criteria, however it will not search any child elements of that element if its localized control type is on this exclusion list. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). This input is typically used to optimise element searching.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Name Path Type Description
Number of columns
NumberOfColumns integer

The number of columns in the datagrid.

Number of visible columns
NumberOfVisibleColumns integer

The number of visible columns in the datagrid.

Number of rows
NumberOfRows integer

The number of rows in the datagrid.

Number of visible rows
NumberOfVisibleRows integer

The number of visible rows in the datagrid.

First visible row
FirstVisibleRow integer

The index of the first visible row in the datagrid.

Last visible row
LastVisibleRow integer

The index of the last visible row in the datagrid.

Number of scrollbars
NumberOfScrollbars integer

The number of scrollbars that the datagrid has.

Scrollbar names
ScrollbarNames string

A comma separated list of the names of the scrollbars (e.g. Horizontal, Vertical).

Get UIA desktop elements

Returns a list of all windows and dialogs on the desktop.

Parameters

Name Key Required Type Description
Search element localized control type
SearchElementLocalizedControlType string

Filter the results by the localized control type of the element.

Search process Id
SearchProcessID integer

If specified then the search will only consider elements owned by a process with this Process ID (PID). If IA-Connect launched the process then the PID is provided by the 'Run Process' action in the IA-Connect Environment / Session actions. If you don't know the PID then leave this field blank.

Return element handle
ReturnElementHandle boolean

If set to true, a handle to the located element will be returned. This handle can be used in further actions to act as a 'parent' handle.

First item to return
FirstItemToReturn integer

The element index of the first item to return, starting from 1. If you wish to return the elements in the reverse order (from the bottom of the UIA tree), you can alternatively specify a negative index starting from -1.

Max items to return
MaxItemsToReturn integer

The maximum number of elements to return, or 0 to return all items.

Include child processes
IncludeChildProcesses boolean

If set to true and a 'Search process Id' is specified, child processes of that process Id are also included in the search. If set to false then only a process matching the exact 'Search process Id' will be returned.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Name Path Type Description
Number of elements found
NumberOfElementsFound integer

The number of desktop elements found that match the search criteria.

Number of elements returned
NumberOfElementsReturned integer

The number of desktop elements returned (this can be lower than the number of elements found if specifying a maximum number of items to return).

Element properties
ElementProperties array of object

The element properties of the desktop elements found that match the search criteria.

items
ElementProperties object

Get UIA element at screen coordinates

Returns the UIA element located at the given screen coordinates.

Parameters

Name Key Required Type Description
X coordinate
XCoord integer

The screen X coordinate value (in pixels) where the UIA element should be searched for.

Y coordinate
YCoord integer

The screen Y coordinate value (in pixels) where the UIA element should be searched for.

Raise exception if element not found
RaiseExceptionIfElementNotFound boolean

Should IA-Connect raise an exception if a UIA element was not located at the specified location?

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Name Path Type Description
Element found
ElementFound boolean

Returns true if a UIA element was found at the specified location.

Element handle
ElementHandle integer

The UIA handle for the element. This can be used as an input to further UIA actions acting on this element.

Element name
ElementName string

The UIA name of the element.

Element class name
ElementClassName string

The UIA class name of the element.

Element automation Id
ElementAutomationId string

The UIA automation Id of the element.

Element localized control type
ElementLocalizedControlType string

The UIA localized control type of the element.

Get UIA element label value

Returns the value of the label on the element.

Parameters

Name Key Required Type Description
Parent window handle
ParentWindowHandle True integer

The parent UIA window handle (a value of 1 or higher) to act as the starting point for the search. This can be discovered via Inspection using actions like 'Wait for desktop element' or 'Wait for element'.

Search element name
SearchElementName string

The optional UIA element name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element class name
SearchElementClassName string

The optional UIA element class name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element automation ID
SearchElementAutomationId string

The optional UIA element automation ID to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element localized control type
SearchLocalizedControlType string

The optional UIA element localized control type to search for (starting from the parent window handle). This can be discovered via Inspection.

Search UIA subtree
SearchSubTree boolean

If set to true then the whole UIA tree below the parent window handle will be searched. This is more thorough but can take longer. If set to false, only elements directly below the parent window handle in the UIA tree will be searched.

Match index
MatchIndex integer

If multiple elements match the search, which element (starting at 1) should be matched. Can be used in conjunction with 'Sort by column' to choose the sort order for matching.

Search filter
SearchFilter string

An optional advanced filter to further restrict the search using conditional operators and any element field. Example 1: [Width] < 200. Example 2: [Name] like 'Document*' AND [ClassName] like 'Label*'. See the documentation for more examples.

Sort by column name
SortByColumn string

If multiple elements match the search, this allows you to specify which element property to sort by. This will be used in conjunction with 'Match index' to pick the required element. For example: If 'Sort by column name' is [TopEdge] and 'Match index' is 1 then the matching element nearest the top of the screen will be matched.

Match index is ascending
MatchIndexAscending boolean

If multiple elements match the search, should 'Match index' match from the top of the sorted list (true) or from the bottom of the sorted list (false).

Maximum elements to search
MaxElementsToSearch integer

The maximum number of elements to search when looking for the target element in the UIA tree. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Maximum relative search depth
MaxRelativeSearchDepth integer

The maximum relative tree depth to search for child elements beneath the parent element. Direct child elements will have a depth value of 1. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). Set to 0 for an unlimited search depth. This input is typically used to optimise element searching.

Maximum child elements to search per node
MaxChildElementsToSearchPerNode integer

The maximum number of child elements to search beneath each element when searching the UIA tree for the target element. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Element localized control types not to traverse
ElementLocalizedControlTypesNotToTraverse string

A comma separated list of UIA element localized control types to not traverse (step into) when searching the UIA tree for the target element. The search will still check if an individual element matches the search criteria, however it will not search any child elements of that element if its localized control type is on this exclusion list. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). This input is typically used to optimise element searching.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Name Path Type Description
Element label value
ElementLabelValue string

The value of the label on the element.

Get UIA element patterns

Retrieve which UIA patterns are available for a UIA element, and hence which IA-Connect UIA actions are likely to have an effect on the element.

Parameters

Name Key Required Type Description
Parent window handle
ParentWindowHandle True integer

The parent UIA window handle (a value of 1 or higher) to act as the starting point for the search. This can be discovered via Inspection using actions like 'Wait for desktop element' or 'Wait for element'.

Search element name
SearchElementName string

The optional UIA element name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element class name
SearchElementClassName string

The optional UIA element class name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element automation ID
SearchElementAutomationId string

The optional UIA element automation ID to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element localized control type
SearchLocalizedControlType string

The optional UIA element localized control type to search for (starting from the parent window handle). This can be discovered via Inspection.

Search UIA subtree
SearchSubTree boolean

If set to true then the whole UIA tree below the parent window handle will be searched. This is more thorough but can take longer. If set to false, only elements directly below the parent window handle in the UIA tree will be searched.

Match index
MatchIndex integer

If multiple elements match the search, which element (starting at 1) should be matched. Can be used in conjunction with 'Sort by column' to choose the sort order for matching.

Search filter
SearchFilter string

An optional advanced filter to further restrict the search using conditional operators and any element field. Example 1: [Width] < 200. Example 2: [Name] like 'Document*' AND [ClassName] like 'Label*'. See the documentation for more examples.

Sort by column name
SortByColumn string

If multiple elements match the search, this allows you to specify which element property to sort by. This will be used in conjunction with 'Match index' to pick the required element. For example: If 'Sort by column name' is [TopEdge] and 'Match index' is 1 then the matching element nearest the top of the screen will be matched.

Match index is ascending
MatchIndexAscending boolean

If multiple elements match the search, should 'Match index' match from the top of the sorted list (true) or from the bottom of the sorted list (false).

Maximum elements to search
MaxElementsToSearch integer

The maximum number of elements to search when looking for the target element in the UIA tree. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Maximum relative search depth
MaxRelativeSearchDepth integer

The maximum relative tree depth to search for child elements beneath the parent element. Direct child elements will have a depth value of 1. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). Set to 0 for an unlimited search depth. This input is typically used to optimise element searching.

Maximum child elements to search per node
MaxChildElementsToSearchPerNode integer

The maximum number of child elements to search beneath each element when searching the UIA tree for the target element. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Element localized control types not to traverse
ElementLocalizedControlTypesNotToTraverse string

A comma separated list of UIA element localized control types to not traverse (step into) when searching the UIA tree for the target element. The search will still check if an individual element matches the search criteria, however it will not search any child elements of that element if its localized control type is on this exclusion list. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). This input is typically used to optimise element searching.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Name Path Type Description
Expand collapse pattern available
ExpandCollapsePatternAvailable boolean

The UIA expand collapse pattern is available and hence actions which expand or collapse an element (for example, a drop-down menu) are likely to work.

Invoke pattern available
InvokePatternAvailable boolean

The UIA invoke pattern is available and hence actions which press an element or click a list element item are likely to work.

Range value pattern available
RangeValuePatternAvailable boolean

The UIA range value pattern is available and hence actions which scroll an element or slider are likely to work.

Scroll pattern available
ScrollPatternAvailable boolean

The UIA scroll pattern is available and hence actions which scroll an element are likely to work.

Selection item pattern available
SelectionItemPatternAvailable boolean

The UIA selection item pattern is available and hence actions which select an element are likely to work.

Text pattern available
TextPatternAvailable boolean

The UIA text pattern is available and hence actions which read an element text value are likely to work.

Toggle pattern available
TogglePatternAvailable boolean

The UIA toggle pattern is available and hence actions which check, uncheck or toggle an element are likely to work.

Value pattern available
ValuePatternAvailable boolean

The UIA value pattern is available and hence actions which input text into an element or read an element value are likely to work. Scrollbars may also react to a value pattern.

Window pattern available
WindowPatternAvailable boolean

The UIA window pattern is available and hence actions which close, maximise or minimise an element are likely to work.

Grid pattern available
GridPatternAvailable boolean

The UIA grid pattern is available. This pattern is not used by IA-Connect.

Grid item pattern available
GridItemPatternAvailable boolean

The UIA grid item pattern is available. This pattern is not used by IA-Connect.

Legacy IAccessible pattern available
LegacyIAccessiblePatternAvailable boolean

The UIA legacy IAccessible pattern is available. This pattern is not used by IA-Connect.

Selection pattern available
SelectionPatternAvailable boolean

The UIA selection pattern is available. This pattern is not used by IA-Connect.

Spreadsheet pattern available
SpreadsheetPatternAvailable boolean

The UIA spreadsheet pattern is available. This pattern is not used by IA-Connect.

Spreadsheet item pattern available
SpreadsheetItemPatternAvailable boolean

The UIA spreadsheet item pattern is available. This pattern is not used by IA-Connect.

Table pattern available
TablePatternAvailable boolean

The UIA table pattern is available. This pattern is not used by IA-Connect.

Table item pattern available
TableItemPatternAvailable boolean

The UIA table item pattern is available. This pattern is not used by IA-Connect.

Text pattern 2 available
TextPattern2Available boolean

The UIA text pattern 2 is available. This pattern is not used by IA-Connect.

Text edit pattern available
TextEditPatternAvailable boolean

The UIA text edit pattern is available. This pattern is not used by IA-Connect.

Transform pattern available
TransformPatternAvailable boolean

The UIA transform pattern is available. This pattern is not used by IA-Connect.

Get UIA element properties

Returns all properties of an element. This can be useful if you are uncertain which field holds the property values required.

Parameters

Name Key Required Type Description
Parent window handle
ParentWindowHandle True integer

The parent UIA window handle (a value of 1 or higher) to act as the starting point for the search. This can be discovered via Inspection using actions like 'Wait for desktop element' or 'Wait for element'.

Search element name
SearchElementName string

The optional UIA element name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element class name
SearchElementClassName string

The optional UIA element class name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element automation ID
SearchElementAutomationId string

The optional UIA element automation ID to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element localized control type
SearchLocalizedControlType string

The optional UIA element localized control type to search for (starting from the parent window handle). This can be discovered via Inspection.

Search UIA subtree
SearchSubTree boolean

If set to true then the whole UIA tree below the parent window handle will be searched. This is more thorough but can take longer. If set to false, only elements directly below the parent window handle in the UIA tree will be searched.

Return element handle
ReturnElementHandle boolean

If set to true, a handle to the located element will be returned. This handle can be used in further actions to act as a 'parent' handle.

Return element value
ReturnElementValue boolean

If set to true than the value of the located element will be returned.

Match index
MatchIndex integer

If multiple elements match the search, which element (starting at 1) should be matched. Can be used in conjunction with 'Sort by column' to choose the sort order for matching.

Search filter
SearchFilter string

An optional advanced filter to further restrict the search using conditional operators and any element field. Example 1: [Width] < 200. Example 2: [Name] like 'Document*' AND [ClassName] like 'Label*'. See the documentation for more examples.

Sort by column name
SortByColumn string

If multiple elements match the search, this allows you to specify which element property to sort by. This will be used in conjunction with 'Match index' to pick the required element. For example: If 'Sort by column name' is [TopEdge] and 'Match index' is 1 then the matching element nearest the top of the screen will be matched.

Match index is ascending
MatchIndexAscending boolean

If multiple elements match the search, should 'Match index' match from the top of the sorted list (true) or from the bottom of the sorted list (false).

Maximum elements to search
MaxElementsToSearch integer

The maximum number of elements to search when looking for the target element in the UIA tree. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Maximum relative search depth
MaxRelativeSearchDepth integer

The maximum relative tree depth to search for child elements beneath the parent element. Direct child elements will have a depth value of 1. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). Set to 0 for an unlimited search depth. This input is typically used to optimise element searching.

Maximum child elements to search per node
MaxChildElementsToSearchPerNode integer

The maximum number of child elements to search beneath each element when searching the UIA tree for the target element. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Element localized control types not to traverse
ElementLocalizedControlTypesNotToTraverse string

A comma separated list of UIA element localized control types to not traverse (step into) when searching the UIA tree for the target element. The search will still check if an individual element matches the search criteria, however it will not search any child elements of that element if its localized control type is on this exclusion list. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). This input is typically used to optimise element searching.

Validate clickable point within element boundary
ValidateClickablePointWithinElementBoundary boolean

For some elements, UIA is unaware of a clickable point within the element and will return an invalid coordinate (for example 0,0) instead of the center of the element. If this input is set to true, IA-Connect will check the validity of the coordinate provided by UIA and, if not within the element's boundary, will ignore the value provided by UIA and use the center of the element instead.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Name Path Type Description
Element name
ElementName string

The UIA name of the element.

Element class name
ElementClassName string

The UIA class name of the element.

Element automation Id
ElementAutomationId string

The UIA automation Id of the element.

Element framework Id
ElementFrameworkId string

The UIA framework Id of the element.

Element control type
ElementControlType string

The UIA control type as a number. This is similar to localized control type but isn't language specific.

Element localized control type
ElementLocalizedControlType string

The UIA localized control type of the element.

Element is enabled
ElementIsEnabled boolean

Returns whether the element enabled or not.

Element is offscreen
ElementIsOffscreen boolean

Returns whether the element is offscreen or not.

Element is keyboard focusable
ElementIsKeyboardFocusable boolean

Returns whether the element can be focussed by the keyboard.

Element has keyboard focus
ElementHasKeyboardFocus boolean

Returns whether the element currently has keyboard focus.

Element is password field
ElementIsPasswordField boolean

Returns whether an element is a password input field.

Element accelerator key
ElementAcceleratorKey string

Returns the hotkey which could be pressed to activate the element.

Element access key
ElementAccessKey string

Returns the hotkey which could be pressed to activate a menu element.

Element left edge
ElementLeftEdge integer

The distance in pixels between the left edge of the element or window and the left edge of the display.

Element right edge
ElementRightEdge integer

The distance in pixels between the right edge of the element or window and the left edge of the display.

Element top edge
ElementTopEdge integer

The distance in pixels between the top edge of the element or window and the top edge of the display.

Element bottom edge
ElementBottomEdge integer

The distance in pixels between the bottom edge of the element or window and the top edge of the display.

Element clickable point X
ElementClickablePointX integer

The X coordinate in pixels of a central clickable point in the element relative to the left edge of the display as returned by the underlying application.

Element clickable point Y
ElementClickablePointY integer

The Y coordinate in pixels of a central clickable point in the element relative to the top edge of the display as returned by the underlying application.

Element process ID
ElementProcessId integer

The Process ID (PID) of the process which owns this element.

Element handle
ElementHandle integer

If the input 'Return element handle' was set to true, this will hold a numeric element handle which can be used in further actions to act as a 'parent' handle for further actions.

Element value
ElementValue string

If the input 'Return element value' was set to true and if the element has a value pattern, this will hold that value.

Element text value
ElementTextValue string

If the input 'Return element value' was set to true and if the element has a text value pattern, this will hold that text value.

Get UIA element properties as list

Returns the properties of an element as a single line list (single line collection / data table) instead of individual items, this maybe useful depending on how you intend to use the data.

Parameters

Name Key Required Type Description
Element handle
ElementHandle True integer

The UIA handle for the target element.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Name Path Type Description
Number of elements found
NumberOfElementsFound integer

The number of elements found.

Number of elements returned
NumberOfElementsReturned integer

The number of elements returned.

UIA element properties JSON
UIAElementPropertiesJSON string

The UIA properties of the element, in JSON format.

Get UIA element search colour region

Returns the details of the region of pixels within a UIA element that meet the specified colour criteria. The element should be brought to the front first as the screenshot is taking a copy of the screen at the elements location.

Parameters

Name Key Required Type Description
Parent window handle
ParentWindowHandle True integer

The parent UIA window handle (a value of 1 or higher) to act as the starting point for the search. This can be discovered via Inspection using actions like 'Wait for desktop element' or 'Wait for element'.

Search element name
SearchElementName string

The optional UIA element name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element class name
SearchElementClassName string

The optional UIA element class name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element automation ID
SearchElementAutomationId string

The optional UIA element automation ID to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element localized control type
SearchLocalizedControlType string

The optional UIA element localized control type to search for (starting from the parent window handle). This can be discovered via Inspection.

Search UIA subtree
SearchSubTree boolean

If set to true then the whole UIA tree below the parent window handle will be searched. This is more thorough but can take longer. If set to false, only elements directly below the parent window handle in the UIA tree will be searched.

Match index
MatchIndex integer

If multiple elements match the search, which element (starting at 1) should be matched. Can be used in conjunction with 'Sort by column' to choose the sort order for matching.

Search filter
SearchFilter string

An optional advanced filter to further restrict the search using conditional operators and any element field. Example 1: [Width] < 200. Example 2: [Name] like 'Document*' AND [ClassName] like 'Label*'. See the documentation for more examples.

Sort by column name
SortByColumn string

If multiple elements match the search, this allows you to specify which element property to sort by. This will be used in conjunction with 'Match index' to pick the required element. For example: If 'Sort by column name' is [TopEdge] and 'Match index' is 1 then the matching element nearest the top of the screen will be matched.

Match index is ascending
MatchIndexAscending boolean

If multiple elements match the search, should 'Match index' match from the top of the sorted list (true) or from the bottom of the sorted list (false).

Search colour
SearchColour True string

Search colour in the format 0xAARRGGBB, #AARRGGBB, 0xRRGGBB or #RRGGBB where each colour channel is a byte in hex format (00 is fully off, FF is fully on). For example: #FF0000 for red, #00FF00 for blue, #000000 for black, #FFFFFF for white.

Max colour deviation
MaxColourDeviation True integer

The maximum an element colour can deviate from the search colour before it isn't considered a match. 0 for no deviation. Deviation is measured in RGB values. For example: #FF0000 is 4 different from #FE0102. A deviation of 15 would be a good starting point.

Left pixel X offset
LeftPixelXOffset integer

An optional X offset for the left edge of the search area. This allows you to increase (with negative values) or decrease (with positive values) the search area.

Right pixel X offset
RightPixelXOffset integer

An optional X offset for the right edge of the search area. This allows you to increase (with positive values) or decrease (with negative values) the search area.

Top pixel Y offset
TopPixelYOffset integer

An optional Y offset for the top edge of the search area. This allows you to increase (with negative values) or decrease (with positive values) the search area.

Bottom pixel Y offset
BottomPixelYOffset integer

An optional Y offset for the bottom edge of the search area. This allows you to increase (with positive values) or decrease (with negative values) the search area.

Hide Agent
HideAgent boolean

Set to true to automatically hide the Agent (if visible) to ensure it doesn't obscure the element being analysed.

Return screen coordinates as physical
ReturnPhysicalCoordinates boolean

Set to true for the screen coordinates to be returned as physical coordinates. Set to false for the screen coordinates to be returned as virtual coordinates. If the underlying display scaling is 100%, both physical and virtual coordinates are the same. Element coordinates are always returned as virtual coordinates.

Maximum elements to search
MaxElementsToSearch integer

The maximum number of elements to search when looking for the target element in the UIA tree. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Maximum relative search depth
MaxRelativeSearchDepth integer

The maximum relative tree depth to search for child elements beneath the parent element. Direct child elements will have a depth value of 1. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). Set to 0 for an unlimited search depth. This input is typically used to optimise element searching.

Maximum child elements to search per node
MaxChildElementsToSearchPerNode integer

The maximum number of child elements to search beneath each element when searching the UIA tree for the target element. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Element localized control types not to traverse
ElementLocalizedControlTypesNotToTraverse string

A comma separated list of UIA element localized control types to not traverse (step into) when searching the UIA tree for the target element. The search will still check if an individual element matches the search criteria, however it will not search any child elements of that element if its localized control type is on this exclusion list. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). This input is typically used to optimise element searching.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Name Path Type Description
Number of pixels matching colour
NumberOfPixelsMatchingColour integer

The number of pixels which match the specified colour.

Colour match bounding box element left pixel
ColourMatchBoundingBoxElementLeftPixelXCoord integer

The virtual X-coordinate of the left-most pixel matching the specified colour, relative to the element virtual top-left.

Colour match bounding box element right pixel
ColourMatchBoundingBoxElementRightPixelXCoord integer

The virtual X-coordinate of the right-most pixel matching the specified colour, relative to the element virtual top-left.

Colour match bounding box element top pixel
ColourMatchBoundingBoxElementTopPixelYCoord integer

The virtual Y-coordinate of the top-most pixel matching the specified colour, relative to the element virtual top-left.

Colour match bounding box element bottom pixel
ColourMatchBoundingBoxElementBottomPixelYCoord integer

The virtual Y-coordinate of the bottom-most pixel matching the specified colour, relative to the element virtual top-left.

Colour match bounding box element center X pixel
ColourMatchBoundingBoxElementCenterPixelXCoord integer

The virtual X-coordinate of the center of the bounding box containing pixels matching the specified colour, relative to the element virtual top-left.

Colour match bounding box element center Y pixel
ColourMatchBoundingBoxElementCenterPixelYCoord integer

The virtual Y-coordinate of the center of the bounding box containing pixels matching the specified colour, relative to the element virtual top-left.

Colour match bounding box screen left pixel
ColourMatchBoundingBoxScreenLeftPixelXCoord integer

The screen pixel X-coordinate of the left-most pixel matching the specified colour. This is either a physical or virtual coordinate depending on the input 'Return physical coordinates'.

Colour match bounding box screen right pixel
ColourMatchBoundingBoxScreenRightPixelXCoord integer

The screen pixel X-coordinate of the right-most pixel matching the specified colour. This is either a physical or virtual coordinate depending on the input 'Return physical coordinates'.

Colour match bounding box screen top pixel
ColourMatchBoundingBoxScreenTopPixelYCoord integer

The screen pixel Y-coordinate of the top-most pixel matching the specified colour. This is either a physical or virtual coordinate depending on the input 'Return physical coordinates'.

Colour match bounding box screen bottom pixel
ColourMatchBoundingBoxScreenBottomPixelYCoord integer

The screen pixel Y-coordinate of the bottom-most pixel matching the specified colour. This is either a physical or virtual coordinate depending on the input 'Return physical coordinates'.

Colour match bounding box screen center X pixel
ColourMatchBoundingBoxScreenCenterPixelXCoord integer

The screen pixel X-coordinate of the center of the bounding box containing pixels matching the specified colour. This is either a physical or virtual coordinate depending on the input 'Return physical coordinates'.

Colour match bounding box screen center Y pixel
ColourMatchBoundingBoxScreenCenterPixelYCoord integer

The screen pixel Y-coordinate of the center of the bounding box containing pixels matching the specified colour. This is either a physical or virtual coordinate depending on the input 'Return physical coordinates'.

Get UIA element search mode

Retrieves which UIA element search mode is being used by the IA-Connect Agent for UIA actions.

Parameters

Name Key Required Type Description
Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Name Path Type Description
UIA element search mode
UIAElementSearchMode string

The UIA element search mode current used by the IA-Connect Agent.

Get UIA element text value

Returns the text value of an element. A text value is usually associated with a label, but many elements can have this property.

Parameters

Name Key Required Type Description
Parent window handle
ParentWindowHandle True integer

The parent UIA window handle (a value of 1 or higher) to act as the starting point for the search. This can be discovered via Inspection using actions like 'Wait for desktop element' or 'Wait for element'.

Search element name
SearchElementName string

The optional UIA element name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element class name
SearchElementClassName string

The optional UIA element class name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element automation ID
SearchElementAutomationId string

The optional UIA element automation ID to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element localized control type
SearchLocalizedControlType string

The optional UIA element localized control type to search for (starting from the parent window handle). This can be discovered via Inspection.

Search UIA subtree
SearchSubTree boolean

If set to true then the whole UIA tree below the parent window handle will be searched. This is more thorough but can take longer. If set to false, only elements directly below the parent window handle in the UIA tree will be searched.

Match index
MatchIndex integer

If multiple elements match the search, which element (starting at 1) should be matched. Can be used in conjunction with 'Sort by column' to choose the sort order for matching.

Search filter
SearchFilter string

An optional advanced filter to further restrict the search using conditional operators and any element field. Example 1: [Width] < 200. Example 2: [Name] like 'Document*' AND [ClassName] like 'Label*'. See the documentation for more examples.

Sort by column name
SortByColumn string

If multiple elements match the search, this allows you to specify which element property to sort by. This will be used in conjunction with 'Match index' to pick the required element. For example: If 'Sort by column name' is [TopEdge] and 'Match index' is 1 then the matching element nearest the top of the screen will be matched.

Match index is ascending
MatchIndexAscending boolean

If multiple elements match the search, should 'Match index' match from the top of the sorted list (true) or from the bottom of the sorted list (false).

Maximum elements to search
MaxElementsToSearch integer

The maximum number of elements to search when looking for the target element in the UIA tree. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Maximum relative search depth
MaxRelativeSearchDepth integer

The maximum relative tree depth to search for child elements beneath the parent element. Direct child elements will have a depth value of 1. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). Set to 0 for an unlimited search depth. This input is typically used to optimise element searching.

Maximum child elements to search per node
MaxChildElementsToSearchPerNode integer

The maximum number of child elements to search beneath each element when searching the UIA tree for the target element. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Element localized control types not to traverse
ElementLocalizedControlTypesNotToTraverse string

A comma separated list of UIA element localized control types to not traverse (step into) when searching the UIA tree for the target element. The search will still check if an individual element matches the search criteria, however it will not search any child elements of that element if its localized control type is on this exclusion list. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). This input is typically used to optimise element searching.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Name Path Type Description
Element text value
ElementTextValue string

The text value of the element.

Get UIA element value

Returns the value of an element. A value is usually associated with a text input area, but many elements can have this property.

Parameters

Name Key Required Type Description
Parent window handle
ParentWindowHandle True integer

The parent UIA window handle (a value of 1 or higher) to act as the starting point for the search. This can be discovered via Inspection using actions like 'Wait for desktop element' or 'Wait for element'.

Search element name
SearchElementName string

The optional UIA element name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element class name
SearchElementClassName string

The optional UIA element class name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element automation ID
SearchElementAutomationId string

The optional UIA element automation ID to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element localized control type
SearchLocalizedControlType string

The optional UIA element localized control type to search for (starting from the parent window handle). This can be discovered via Inspection.

Search UIA subtree
SearchSubTree boolean

If set to true then the whole UIA tree below the parent window handle will be searched. This is more thorough but can take longer. If set to false, only elements directly below the parent window handle in the UIA tree will be searched.

Match index
MatchIndex integer

If multiple elements match the search, which element (starting at 1) should be matched. Can be used in conjunction with 'Sort by column' to choose the sort order for matching.

Search filter
SearchFilter string

An optional advanced filter to further restrict the search using conditional operators and any element field. Example 1: [Width] < 200. Example 2: [Name] like 'Document*' AND [ClassName] like 'Label*'. See the documentation for more examples.

Sort by column name
SortByColumn string

If multiple elements match the search, this allows you to specify which element property to sort by. This will be used in conjunction with 'Match index' to pick the required element. For example: If 'Sort by column name' is [TopEdge] and 'Match index' is 1 then the matching element nearest the top of the screen will be matched.

Match index is ascending
MatchIndexAscending boolean

If multiple elements match the search, should 'Match index' match from the top of the sorted list (true) or from the bottom of the sorted list (false).

Maximum elements to search
MaxElementsToSearch integer

The maximum number of elements to search when looking for the target element in the UIA tree. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Maximum relative search depth
MaxRelativeSearchDepth integer

The maximum relative tree depth to search for child elements beneath the parent element. Direct child elements will have a depth value of 1. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). Set to 0 for an unlimited search depth. This input is typically used to optimise element searching.

Maximum child elements to search per node
MaxChildElementsToSearchPerNode integer

The maximum number of child elements to search beneath each element when searching the UIA tree for the target element. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Element localized control types not to traverse
ElementLocalizedControlTypesNotToTraverse string

A comma separated list of UIA element localized control types to not traverse (step into) when searching the UIA tree for the target element. The search will still check if an individual element matches the search criteria, however it will not search any child elements of that element if its localized control type is on this exclusion list. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). This input is typically used to optimise element searching.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Name Path Type Description
Element value
ElementValue string

The value of the element.

Get UIA handle for desktop

Returns a handle for the desktop. This is an obsolete action because the handle '-2' can be used to refer to the desktop element but also because there are plenty of actions which can search relative to the desktop (e.g 'wait for desktop element').

Parameters

Name Key Required Type Description
Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Name Path Type Description
Window handle
WindowHandle integer

The UIA handle for the desktop. This can be used as an input to further UIA actions within this window.

Element name
ElementName string

The UIA name of the desktop element.

Element class name
ElementClassName string

The UIA class name of the desktop element.

Element automation Id
ElementAutomationId string

The UIA automation Id of the desktop element.

Element localized control type
ElementLocalizedControlType string

The UIA localized control type of the desktop element.

Get UIA handle for focussed element

Returns a handle for the currently focused UIA element.

Parameters

Name Key Required Type Description
Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Name Path Type Description
Window handle
WindowHandle integer

The UIA handle for the window. This can be used as an input to further UIA actions within this window.

Element name
ElementName string

The UIA name of the element.

Element class name
ElementClassName string

The UIA class name of the element.

Element automation Id
ElementAutomationId string

The UIA automation Id of the element.

Element localized control type
ElementLocalizedControlType string

The UIA localized control type of the element.

Get UIA handle for main window of focussed element

Returns a handle for the main window of the currently focused UIA element. The 'Main' window is typically the main application window: a login dialog or sub-window is generally not the 'Main' window.

Parameters

Name Key Required Type Description
Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Name Path Type Description
Window handle
WindowHandle integer

The UIA handle for the window. This can be used as an input to further UIA actions within this window.

Element name
ElementName string

The UIA name of the window element.

Element class name
ElementClassName string

The UIA class name of the window element.

Element automation Id
ElementAutomationId string

The UIA automation Id of the window element.

Element localized control type
ElementLocalizedControlType string

The UIA localized control type of the window element.

Get UIA handle for process Id main window

A simple and fast Win32 action which returns the handle for any main window of a process (specified by Process ID). The 'Main' window is typically the main application window: a login dialog or sub-window is generally not the 'Main' window. It is recommended to use the action 'Wait for desktop element' which is more powerful.

Parameters

Name Key Required Type Description
Search process Id
ProcessId True integer

The Id of the process to wait for (as provided by the 'Run Process' action in the IA-Connect Environment / Session actions).

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Name Path Type Description
Window handle
WindowHandle integer

The UIA handle for the window. This can be used as an input to further UIA actions within this window.

Element name
ElementName string

The UIA name of the window element.

Element class name
ElementClassName string

The UIA class name of the window element.

Element automation Id
ElementAutomationId string

The UIA automation Id of the window element.

Element localized control type
ElementLocalizedControlType string

The UIA localized control type of the window element.

Get UIA handle for process main window

A simple and fast Win32 action which returns the handle for any main window of a process (specified by name). The 'Main' window is typically the main application window: a login dialog or sub-window is generally not the 'Main' window. The window must exist: IA-Connect will not wait. It is recommended to use the action 'Wait for desktop element' which is more powerful.

Parameters

Name Key Required Type Description
Search process name
SearchProcessName True string

The name of the process to search for, e.g. notepad.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Name Path Type Description
Window handle
WindowHandle integer

The UIA handle for the window. This can be used as an input to further UIA actions within this window.

Element name
ElementName string

The UIA name of the window element.

Element class name
ElementClassName string

The UIA class name of the window element.

Element automation Id
ElementAutomationId string

The UIA automation Id of the window element.

Element localized control type
ElementLocalizedControlType string

The UIA localized control type of the window element.

Get UIA handle for top level Win32 window

A fast Win32 action which returns a UIA handle for any top-level Win32 window which has the specified class name or window title, or you can specify more advanced search filters, including wildcards. A top-level window is one which is connected to the desktop. Although this action uses Win32 APIs, it can detect Windows, Java, ModernUI and Web windows. The window must exist, IA-Connect will not wait. It is more common to use the UIA action 'Does UIA desktop element exist' which is more powerful, but this Win32 action typically executes faster.

Parameters

Name Key Required Type Description
Search class name
SearchClassName string

The element class name of the top level window to search for, e.g. 'Notepad'.

Search window title
SearchWindowTitle string

The title of the top level window to search for.

Search process Id
SearchProcessId integer

The optional process Id of the process which owns the window (for example, as provided by the output of the 'Run Process' action in the IA-Connect Environment / Session actions). Set to 0 to not search by process Id.

Match index
MatchIndex integer

If multiple elements match the search, which element (starting at 1) should be matched. Can be used in conjunction with 'Sort by column' to choose the sort order for matching.

Search filter
SearchFilter string

An optional advanced filter to further restrict the search using conditional operators against available window properties. Example 1: [Width] < 200. Example 2: [Title] like '*Excel' AND [IsMinimised] = False AND [IsResizeable] = True. See the documentation for more examples.

Sort by column name
SortByColumn string

If multiple windows match the search, this allows you to specify which window property to sort by. This will be used in conjunction with 'Match index' to pick the required window. For example: If 'Sort by column name' is [TopEdge] and 'Match index' is 1 then the matching window nearest the top of the screen will be returned.

Match index is ascending
MatchIndexAscending boolean

If multiple windows match the search, should 'Match index' match from the top of the sorted list (true) or from the bottom of the sorted list (false).

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Name Path Type Description
Window handle
WindowHandle integer

The UIA handle for the window. This can be used as an input to further UIA actions within this window.

Element name
ElementName string

The UIA name of the window element.

Element class name
ElementClassName string

The UIA class name of the window element.

Element automation Id
ElementAutomationId string

The UIA automation Id of the window element.

Element localized control type
ElementLocalizedControlType string

The UIA localized control type of the window element.

Get UIA list element items

Returns a list of child element items found under the specified element (typically dropdown / menu items).

Parameters

Name Key Required Type Description
Parent window handle
ParentWindowHandle True integer

The parent UIA window handle (a value of 1 or higher) to act as the starting point for the search. This can be discovered via Inspection using actions like 'Wait for desktop element' or 'Wait for element'.

Search element name
SearchElementName string

The optional UIA element name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element class name
SearchElementClassName string

The optional UIA element class name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element automation ID
SearchElementAutomationId string

The optional UIA element automation ID to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element localized control type
SearchLocalizedControlType string

The optional UIA element localized control type to search for (starting from the parent window handle). This can be discovered via Inspection.

Search UIA subtree
SearchSubTree boolean

If set to true then the whole UIA tree below the parent window handle will be searched. This is more thorough but can take longer. If set to false, only elements directly below the parent window handle in the UIA tree will be searched.

Expand first
ExpandFirst boolean

If set to true then IA-Connect will attempt to expand the list before searching for the list item elements. This is useful for dynamic lists as the list item elements may not be created until the list is expanded.

Collapse after
CollapseAfter boolean

If set to true then the list will be collapsed after executing the search.

Check for selected items
CheckForSelectedItems boolean

If set to true then the output collection will contain an additional property indicating whether the list item is currently selected.

Seconds between expand and collapse
SecondsBetweenExpandCollapse double

The number of seconds to wait between the expand and collapse actions if these are set to true.

Match index
MatchIndex integer

If multiple elements match the search, which element (starting at 1) should be matched. Can be used in conjunction with 'Sort by column' to choose the sort order for matching.

Search filter
SearchFilter string

An optional advanced filter to further restrict the search using conditional operators and any element field. Example 1: [Width] < 200. Example 2: [Name] like 'Document*' AND [ClassName] like 'Label*'. See the documentation for more examples.

Sort by column name
SortByColumn string

If multiple elements match the search, this allows you to specify which element property to sort by. This will be used in conjunction with 'Match index' to pick the required element. For example: If 'Sort by column name' is [TopEdge] and 'Match index' is 1 then the matching element nearest the top of the screen will be matched.

Match index is ascending
MatchIndexAscending boolean

If multiple elements match the search, should 'Match index' match from the top of the sorted list (true) or from the bottom of the sorted list (false).

Maximum elements to search
MaxElementsToSearch integer

The maximum number of elements to search when looking for the target element in the UIA tree. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Maximum relative search depth
MaxRelativeSearchDepth integer

The maximum relative tree depth to search for child elements beneath the parent element. Direct child elements will have a depth value of 1. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). Set to 0 for an unlimited search depth. This input is typically used to optimise element searching.

Maximum child elements to search per node
MaxChildElementsToSearchPerNode integer

The maximum number of child elements to search beneath each element when searching the UIA tree for the target element. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Element localized control types not to traverse
ElementLocalizedControlTypesNotToTraverse string

A comma separated list of UIA element localized control types to not traverse (step into) when searching the UIA tree for the target element. The search will still check if an individual element matches the search criteria, however it will not search any child elements of that element if its localized control type is on this exclusion list. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). This input is typically used to optimise element searching.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Name Path Type Description
Number of list items
NumberOfListItems integer

The number of items in the list.

List items JSON
ListItemsJSON string

The properties of the items in the list, in JSON format.

Number of selected items
NumberOfSelectedItems integer

The number of selected items in the list.

Index of first selected item
IndexOfFirstSelectedItem integer

The index in the list of the first selected item.

Selected item name
SelectedItemName string

The name of the selected item.

Get UIA parent element handle

Returns a handle for the parent element of the specified element. The parent element is defined as the element which is at the next level up the UIA 'tree' and is almost always a containing element.

Parameters

Name Key Required Type Description
Element handle
ElementHandle True integer

The UIA handle for the target element.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Name Path Type Description
Parent element handle
ParentElementHandle integer

A UIA handle for the parent element.

Get Win32 windows

A fast Win32 action which returns a list of all Win32 windows which optionally have the specified class name or window title, or you can specify more advanced search filters, including wildcards. Although this action uses Win32 APIs, it can detect Windows, Java, ModernUI and Web windows. Win32 Windows can include unexpected items including the taskbar, desktop, start menu, transparent overlays, offscreen or hidden windows, so the returned list may contain more results than expected.

Parameters

Name Key Required Type Description
Search class name
SearchClassName string

The optional class name of the top level window to search for, e.g. 'Chrome_WidgetWin_1'.

Search window title
SearchWindowTitle string

The optional title of the top level window to search for.

Only retrieve top level windows
TopLevelWindowsOnly boolean

Set to true to only retrieve Win32 windows which the OS considers to be top-level. Set to false to retrieve all Win32 windows. Note that the Win32 definition of a window will include items you might not recognise as a window and many dialogs and message boxes are marked as top-level even though they are a child of a parent window.

Only retrieve visible windows
VisibleWindowsOnly boolean

Set to true to only retrieve Win32 windows which the OS considers to be visible. Set to false to retrieve both visible and non-visible Win32 windows. Note that offscreen or transparent windows might be marked as visible, but you cannot see them.

Only retrieve windows with a title bar
WindowsWithTitlebarOnly boolean

Set to true to only retrieve Win32 windows with a title bar. Set to false to retrieve Win32 windows regardless of whether they have a title bar or not. Note that some transparent windows have title bars but you cannot see them.

Only retrieve windows with a title
WindowsWithTitleOnly boolean

Set to true to only retrieve Win32 windows with a title (i.e. a title bar containing some text). Set to false to retrieve Win32 windows regardless of whether they have a title. Note that the title bar is the strip across the top of the window whereas the title is the text within it.

Ignore transparent windows
IgnoreTransparentWindows boolean

Set to true to only retrieve Win32 windows which do not have transparency. Set to false to retrieve Win32 windows regardless of whether they have transparency set or not.

Search process Id
SearchProcessId integer

The optional process Id of the process which owns the windows (for example, as provided by the output of the 'Run Process' action in the IA-Connect Environment / Session actions). Set to 0 to not search by process Id.

Search filter
SearchFilter string

An optional advanced filter to further restrict the search using conditional operators and any element field. Example 1: [Width] < 200. Example 2: [Title] like '*Excel' AND [IsMinimised] = False AND [IsResizeable] = True. See the documentation for more examples.

Sort by column name
SortByColumn string

If multiple windows match the search, this allows you to specify which window property to sort by. For example: If 'Sort by column name' is [TopEdge] then the list of windows will be returned ordered by top edge. If this field is left blank, windows will be returned in the order they are detected.

Match index is ascending
MatchIndexAscending boolean

If multiple windows match the search and a sort column is specified, set to true (default) to sort ascending or set to false to sort descending.

Return UIA element handle
ReturnElementHandle boolean

If set to true, a UIA handle to each located Win32 window will be returned in the output collection (in the column 'UIAHandle'). This handle can be used in further actions to act as a 'parent' handle in IA-Connect UIA actions.

First item to return
FirstItemToReturn integer

The index of the first window (row) to return, starting from 1.

Max items to return
MaxItemsToReturn integer

The maximum number of windows to return, or 0 to return all items.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Name Path Type Description
Win32 windows JSON
Win32WindowsJSON string

A list of Win32 windows matching the search criteria, in JSON format.

Number of Win32 windows
NumberOfWin32Windows integer

The number of Win32 windows returned.

Global double left mouse click on UIA element

Moves the mouse to the centre, or a chosen edge, corner or offset, relative to a UIA element and double clicks the left mouse button.

Parameters

Name Key Required Type Description
Parent window handle
ParentWindowHandle True integer

The parent UIA window handle (a value of 1 or higher) to act as the starting point for the search. This can be discovered via Inspection using actions like 'Wait for desktop element' or 'Wait for element'.

Search element name
SearchElementName string

The optional UIA element name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element class name
SearchElementClassName string

The optional UIA element class name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element automation ID
SearchElementAutomationId string

The optional UIA element automation ID to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element localized control type
SearchLocalizedControlType string

The optional UIA element localized control type to search for (starting from the parent window handle). This can be discovered via Inspection.

Search UIA subtree
SearchSubTree boolean

If set to true then the whole UIA tree below the parent window handle will be searched. This is more thorough but can take longer. If set to false, only elements directly below the parent window handle in the UIA tree will be searched.

Delay in milliseconds
DelayInMilliseconds integer

The delay (in milliseconds) between each of the clicks.

Focus element first
FocusElementFirst boolean

Should IA-Connect attempt to focus the element before global clicking?

Match index
MatchIndex integer

If multiple elements match the search, which element (starting at 1) should be matched. Can be used in conjunction with 'Sort by column' to choose the sort order for matching.

Search filter
SearchFilter string

An optional advanced filter to further restrict the search using conditional operators and any element field. Example 1: [Width] < 200. Example 2: [Name] like 'Document*' AND [ClassName] like 'Label*'. See the documentation for more examples.

Sort by column name
SortByColumn string

If multiple elements match the search, this allows you to specify which element property to sort by. This will be used in conjunction with 'Match index' to pick the required element. For example: If 'Sort by column name' is [TopEdge] and 'Match index' is 1 then the matching element nearest the top of the screen will be matched.

Match index is ascending
MatchIndexAscending boolean

If multiple elements match the search, should 'Match index' match from the top of the sorted list (true) or from the bottom of the sorted list (false).

Click offset X
ClickOffsetX integer

The number of X pixels to offset the click action by. This parameter supports both positive (right) and negative (left) offset values.

Click offset Y
ClickOffsetY integer

The number of Y pixels to offset the click action by. This parameter supports both positive (down) and negative (up) offset values.

Offset relative to
OffsetRelativeTo string

The relative position of the element to offset from (Center / Centre / Middle, Left, Right, Top, Bottom, Top Left, Top Right, Bottom Left, Bottom Right).

Maximum elements to search
MaxElementsToSearch integer

The maximum number of elements to search when looking for the target element in the UIA tree. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Maximum relative search depth
MaxRelativeSearchDepth integer

The maximum relative tree depth to search for child elements beneath the parent element. Direct child elements will have a depth value of 1. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). Set to 0 for an unlimited search depth. This input is typically used to optimise element searching.

Maximum child elements to search per node
MaxChildElementsToSearchPerNode integer

The maximum number of child elements to search beneath each element when searching the UIA tree for the target element. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Element localized control types not to traverse
ElementLocalizedControlTypesNotToTraverse string

A comma separated list of UIA element localized control types to not traverse (step into) when searching the UIA tree for the target element. The search will still check if an individual element matches the search criteria, however it will not search any child elements of that element if its localized control type is on this exclusion list. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). This input is typically used to optimise element searching.

Validate clickable point within element boundary
ValidateClickablePointWithinElementBoundary boolean

For some elements, UIA is unaware of a clickable point within the element and will return an invalid coordinate (for example 0,0) instead of the center of the element. If this input is set to true, IA-Connect will check the validity of the coordinate provided by UIA and, if not within the element's boundary, will ignore the value provided by UIA and use the center of the element instead.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Global input password into UIA element

Moves the mouse to centre of the element, focusses it, left clicks, and presses keys. Typically used with a password input that will not accept native UIA input methods.

Parameters

Name Key Required Type Description
Parent window handle
ParentWindowHandle True integer

The parent UIA window handle (a value of 1 or higher) to act as the starting point for the search. This can be discovered via Inspection using actions like 'Wait for desktop element' or 'Wait for element'.

Search element name
SearchElementName string

The optional UIA element name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element class name
SearchElementClassName string

The optional UIA element class name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element automation ID
SearchElementAutomationId string

The optional UIA element automation ID to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element localized control type
SearchLocalizedControlType string

The optional UIA element localized control type to search for (starting from the parent window handle). This can be discovered via Inspection.

Search UIA subtree
SearchSubTree boolean

If set to true then the whole UIA tree below the parent window handle will be searched. This is more thorough but can take longer. If set to false, only elements directly below the parent window handle in the UIA tree will be searched.

Match index
MatchIndex integer

If multiple elements match the search, which element (starting at 1) should be matched. Can be used in conjunction with 'Sort by column' to choose the sort order for matching.

Search filter
SearchFilter string

An optional advanced filter to further restrict the search using conditional operators and any element field. Example 1: [Width] < 200. Example 2: [Name] like 'Document*' AND [ClassName] like 'Label*'. See the documentation for more examples.

Sort by column name
SortByColumn string

If multiple elements match the search, this allows you to specify which element property to sort by. This will be used in conjunction with 'Match index' to pick the required element. For example: If 'Sort by column name' is [TopEdge] and 'Match index' is 1 then the matching element nearest the top of the screen will be matched.

Match index is ascending
MatchIndexAscending boolean

If multiple elements match the search, should 'Match index' match from the top of the sorted list (true) or from the bottom of the sorted list (false).

Focus element first
FocusElement boolean

Should IA-Connect attempt to focus the element before global clicking?

Global left mouse click on element
GlobalMouseClickOnElement boolean

Should a global mouse click be performed at the element coordinates (to focus the element) before entering text?

Replace existing value using double mouse click delete
ReplaceExistingValueUsingDoubleClickDelete boolean

Should any existing value be replaced by double clicking the mouse (to highlight it) and then deleting?

Replace existing value using CTRL-A delete
ReplaceExistingValueUsingCTRLADelete boolean

Should any existing value be replaced by pressing Ctrl-A (to highlight all) and then deleting? Some elements may not support highlighting with Ctrl-A in which case the alternative option of 'Replace existing value using double mouse click delete' should be tried.

Password to input
PasswordToInput True password

The password value to global input using the keyboard.

Use send key events
SendKeyEvents boolean

If set to true then send key events (a lower level API which sends simulated keystrokes to the operating system) will be used. If set to false then send keys (a higher level API which sends keystrokes to the focused element) will be used instead.

Interval in milliseconds
Interval integer

The number of milliseconds between each key press.

Dont interpret symbols
DontInterpretSymbols boolean

Should symbols in the 'Password to input' not be interpreted as special keys (e.g. + for Shift, ^ for Ctrl)? This should be set to true if you are attempting to input the actual symbols.

Password contains stored password
PasswordContainsStoredPassword boolean

Set to true if the password contains (or is entirely) an IA-Connect stored password identifier, in the format {IAConnectPassword:StoredPasswordIdentifier} or an IA-Connect Orchestrator generic credential, in the format {OrchestratorCredential:FriendlyName}. This stored password could have been generated by the 'Generate password' action, for example, or be held by the IA-Connect Orchestrator.

Maximum elements to search
MaxElementsToSearch integer

The maximum number of elements to search when looking for the target element in the UIA tree. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Maximum relative search depth
MaxRelativeSearchDepth integer

The maximum relative tree depth to search for child elements beneath the parent element. Direct child elements will have a depth value of 1. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). Set to 0 for an unlimited search depth. This input is typically used to optimise element searching.

Maximum child elements to search per node
MaxChildElementsToSearchPerNode integer

The maximum number of child elements to search beneath each element when searching the UIA tree for the target element. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Element localized control types not to traverse
ElementLocalizedControlTypesNotToTraverse string

A comma separated list of UIA element localized control types to not traverse (step into) when searching the UIA tree for the target element. The search will still check if an individual element matches the search criteria, however it will not search any child elements of that element if its localized control type is on this exclusion list. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). This input is typically used to optimise element searching.

Validate clickable point within element boundary
ValidateClickablePointWithinElementBoundary boolean

For some elements, UIA is unaware of a clickable point within the element and will return an invalid coordinate (for example 0,0) instead of the center of the element. If this input is set to true, IA-Connect will check the validity of the coordinate provided by UIA and, if not within the element's boundary, will ignore the value provided by UIA and use the center of the element instead.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Global input text into UIA element

Moves the mouse to centre of the element, focusses it, left clicks, and presses keys. Typically used with a text input that will not accept native UIA input methods.

Parameters

Name Key Required Type Description
Parent window handle
ParentWindowHandle True integer

The parent UIA window handle (a value of 1 or higher) to act as the starting point for the search. This can be discovered via Inspection using actions like 'Wait for desktop element' or 'Wait for element'.

Search element name
SearchElementName string

The optional UIA element name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element class name
SearchElementClassName string

The optional UIA element class name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element automation ID
SearchElementAutomationId string

The optional UIA element automation ID to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element localized control type
SearchLocalizedControlType string

The optional UIA element localized control type to search for (starting from the parent window handle). This can be discovered via Inspection.

Search UIA subtree
SearchSubTree boolean

If set to true then the whole UIA tree below the parent window handle will be searched. This is more thorough but can take longer. If set to false, only elements directly below the parent window handle in the UIA tree will be searched.

Match index
MatchIndex integer

If multiple elements match the search, which element (starting at 1) should be matched. Can be used in conjunction with 'Sort by column' to choose the sort order for matching.

Search filter
SearchFilter string

An optional advanced filter to further restrict the search using conditional operators and any element field. Example 1: [Width] < 200. Example 2: [Name] like 'Document*' AND [ClassName] like 'Label*'. See the documentation for more examples.

Sort by column name
SortByColumn string

If multiple elements match the search, this allows you to specify which element property to sort by. This will be used in conjunction with 'Match index' to pick the required element. For example: If 'Sort by column name' is [TopEdge] and 'Match index' is 1 then the matching element nearest the top of the screen will be matched.

Match index is ascending
MatchIndexAscending boolean

If multiple elements match the search, should 'Match index' match from the top of the sorted list (true) or from the bottom of the sorted list (false).

Focus element first
FocusElement boolean

Should IA-Connect attempt to focus the element before global clicking?

Global left mouse click on element
GlobalMouseClickOnElement boolean

Should a global mouse click be performed at the element coordinates (to focus the element) before entering text?

Replace existing value using double mouse click delete
ReplaceExistingValueUsingDoubleClickDelete boolean

Should any existing value be replaced by double clicking the mouse (to highlight it) and then deleting?

Replace existing value using CTRL-A delete
ReplaceExistingValueUsingCTRLADelete boolean

Should any existing value be replaced by pressing Ctrl-A (to highlight all) and then deleting? Some elements may not support highlighting with Ctrl-A in which case the alternative option of 'Replace existing value using double mouse click delete' should be tried.

Text to input
TextToInput string

The text value to global input using the keyboard.

Use send key events
SendKeyEvents boolean

If set to true then send key events (a lower level API which sends simulated keystrokes to the operating system) will be used. If set to false then send keys (a higher level API which sends keystrokes to the focused element) will be used instead.

Interval in milliseconds
Interval integer

The number of milliseconds between each key press.

Dont interpret symbols
DontInterpretSymbols boolean

Should symbols in the 'Text to input' not be interpreted as special keys (e.g. + for Shift, ^ for Ctrl)? This should be set to true if you are attempting to input the actual symbols.

Maximum elements to search
MaxElementsToSearch integer

The maximum number of elements to search when looking for the target element in the UIA tree. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Maximum relative search depth
MaxRelativeSearchDepth integer

The maximum relative tree depth to search for child elements beneath the parent element. Direct child elements will have a depth value of 1. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). Set to 0 for an unlimited search depth. This input is typically used to optimise element searching.

Maximum child elements to search per node
MaxChildElementsToSearchPerNode integer

The maximum number of child elements to search beneath each element when searching the UIA tree for the target element. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Element localized control types not to traverse
ElementLocalizedControlTypesNotToTraverse string

A comma separated list of UIA element localized control types to not traverse (step into) when searching the UIA tree for the target element. The search will still check if an individual element matches the search criteria, however it will not search any child elements of that element if its localized control type is on this exclusion list. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). This input is typically used to optimise element searching.

Validate clickable point within element boundary
ValidateClickablePointWithinElementBoundary boolean

For some elements, UIA is unaware of a clickable point within the element and will return an invalid coordinate (for example 0,0) instead of the center of the element. If this input is set to true, IA-Connect will check the validity of the coordinate provided by UIA and, if not within the element's boundary, will ignore the value provided by UIA and use the center of the element instead.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Global left mouse click on UIA element

Moves the mouse to the centre, or a chosen edge, corner or offset, relative to a UIA element and clicks the left mouse button.

Parameters

Name Key Required Type Description
Parent window handle
ParentWindowHandle True integer

The parent UIA window handle (a value of 1 or higher) to act as the starting point for the search. This can be discovered via Inspection using actions like 'Wait for desktop element' or 'Wait for element'.

Search element name
SearchElementName string

The optional UIA element name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element class name
SearchElementClassName string

The optional UIA element class name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element automation ID
SearchElementAutomationId string

The optional UIA element automation ID to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element localized control type
SearchLocalizedControlType string

The optional UIA element localized control type to search for (starting from the parent window handle). This can be discovered via Inspection.

Search UIA subtree
SearchSubTree boolean

If set to true then the whole UIA tree below the parent window handle will be searched. This is more thorough but can take longer. If set to false, only elements directly below the parent window handle in the UIA tree will be searched.

Focus element first
FocusElementFirst boolean

Should IA-Connect attempt to focus the element before global clicking?

Match index
MatchIndex integer

If multiple elements match the search, which element (starting at 1) should be matched. Can be used in conjunction with 'Sort by column' to choose the sort order for matching.

Search filter
SearchFilter string

An optional advanced filter to further restrict the search using conditional operators and any element field. Example 1: [Width] < 200. Example 2: [Name] like 'Document*' AND [ClassName] like 'Label*'. See the documentation for more examples.

Sort by column name
SortByColumn string

If multiple elements match the search, this allows you to specify which element property to sort by. This will be used in conjunction with 'Match index' to pick the required element. For example: If 'Sort by column name' is [TopEdge] and 'Match index' is 1 then the matching element nearest the top of the screen will be matched.

Match index is ascending
MatchIndexAscending boolean

If multiple elements match the search, should 'Match index' match from the top of the sorted list (true) or from the bottom of the sorted list (false).

Click offset X
ClickOffsetX integer

The number of X pixels to offset the click action by. This parameter supports both positive (right) and negative (left) offset values.

Click offset Y
ClickOffsetY integer

The number of Y pixels to offset the click action by. This parameter supports both positive (down) and negative (up) offset values.

Offset relative to
OffsetRelativeTo string

The relative position of the element to offset from (Center / Centre / Middle, Left, Right, Top, Bottom, Top Left, Top Right, Bottom Left, Bottom Right).

Maximum elements to search
MaxElementsToSearch integer

The maximum number of elements to search when looking for the target element in the UIA tree. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Maximum relative search depth
MaxRelativeSearchDepth integer

The maximum relative tree depth to search for child elements beneath the parent element. Direct child elements will have a depth value of 1. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). Set to 0 for an unlimited search depth. This input is typically used to optimise element searching.

Maximum child elements to search per node
MaxChildElementsToSearchPerNode integer

The maximum number of child elements to search beneath each element when searching the UIA tree for the target element. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Element localized control types not to traverse
ElementLocalizedControlTypesNotToTraverse string

A comma separated list of UIA element localized control types to not traverse (step into) when searching the UIA tree for the target element. The search will still check if an individual element matches the search criteria, however it will not search any child elements of that element if its localized control type is on this exclusion list. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). This input is typically used to optimise element searching.

Validate clickable point within element boundary
ValidateClickablePointWithinElementBoundary boolean

For some elements, UIA is unaware of a clickable point within the element and will return an invalid coordinate (for example 0,0) instead of the center of the element. If this input is set to true, IA-Connect will check the validity of the coordinate provided by UIA and, if not within the element's boundary, will ignore the value provided by UIA and use the center of the element instead.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Global middle mouse click on UIA element

Moves the mouse to the centre, or a chosen edge, corner or offset, relative to a UIA element and clicks the middle mouse button.

Parameters

Name Key Required Type Description
Parent window handle
ParentWindowHandle True integer

The parent UIA window handle (a value of 1 or higher) to act as the starting point for the search. This can be discovered via Inspection using actions like 'Wait for desktop element' or 'Wait for element'.

Search element name
SearchElementName string

The optional UIA element name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element class name
SearchElementClassName string

The optional UIA element class name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element automation ID
SearchElementAutomationId string

The optional UIA element automation ID to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element localized control type
SearchLocalizedControlType string

The optional UIA element localized control type to search for (starting from the parent window handle). This can be discovered via Inspection.

Search UIA subtree
SearchSubTree boolean

If set to true then the whole UIA tree below the parent window handle will be searched. This is more thorough but can take longer. If set to false, only elements directly below the parent window handle in the UIA tree will be searched.

Focus element first
FocusElementFirst boolean

Should IA-Connect attempt to focus the element before global clicking?

Match index
MatchIndex integer

If multiple elements match the search, which element (starting at 1) should be matched. Can be used in conjunction with 'Sort by column' to choose the sort order for matching.

Search filter
SearchFilter string

An optional advanced filter to further restrict the search using conditional operators and any element field. Example 1: [Width] < 200. Example 2: [Name] like 'Document*' AND [ClassName] like 'Label*'. See the documentation for more examples.

Sort by column name
SortByColumn string

If multiple elements match the search, this allows you to specify which element property to sort by. This will be used in conjunction with 'Match index' to pick the required element. For example: If 'Sort by column name' is [TopEdge] and 'Match index' is 1 then the matching element nearest the top of the screen will be matched.

Match index is ascending
MatchIndexAscending boolean

If multiple elements match the search, should 'Match index' match from the top of the sorted list (true) or from the bottom of the sorted list (false).

Click offset X
ClickOffsetX integer

The number of X pixels to offset the click action by. This parameter supports both positive (right) and negative (left) offset values.

Click offset Y
ClickOffsetY integer

The number of Y pixels to offset the click action by. This parameter supports both positive (down) and negative (up) offset values.

Offset relative to
OffsetRelativeTo string

The relative position of the element to offset from (Center / Centre / Middle, Left, Right, Top, Bottom, Top Left, Top Right, Bottom Left, Bottom Right).

Maximum elements to search
MaxElementsToSearch integer

The maximum number of elements to search when looking for the target element in the UIA tree. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Maximum relative search depth
MaxRelativeSearchDepth integer

The maximum relative tree depth to search for child elements beneath the parent element. Direct child elements will have a depth value of 1. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). Set to 0 for an unlimited search depth. This input is typically used to optimise element searching.

Maximum child elements to search per node
MaxChildElementsToSearchPerNode integer

The maximum number of child elements to search beneath each element when searching the UIA tree for the target element. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Element localized control types not to traverse
ElementLocalizedControlTypesNotToTraverse string

A comma separated list of UIA element localized control types to not traverse (step into) when searching the UIA tree for the target element. The search will still check if an individual element matches the search criteria, however it will not search any child elements of that element if its localized control type is on this exclusion list. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). This input is typically used to optimise element searching.

Validate clickable point within element boundary
ValidateClickablePointWithinElementBoundary boolean

For some elements, UIA is unaware of a clickable point within the element and will return an invalid coordinate (for example 0,0) instead of the center of the element. If this input is set to true, IA-Connect will check the validity of the coordinate provided by UIA and, if not within the element's boundary, will ignore the value provided by UIA and use the center of the element instead.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Global mouse click UIA element search colour region

Moves the mouse over a region of pixels within a UIA element that meet the specified colour criteria and performs a mouse click. The element should be brought to the front first as the screenshot is taking a copy of the screen at the elements location.

Parameters

Name Key Required Type Description
Parent window handle
ParentWindowHandle True integer

The parent UIA window handle (a value of 1 or higher) to act as the starting point for the search. This can be discovered via Inspection using actions like 'Wait for desktop element' or 'Wait for element'.

Search element name
SearchElementName string

The optional UIA element name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element class name
SearchElementClassName string

The optional UIA element class name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element automation ID
SearchElementAutomationId string

The optional UIA element automation ID to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element localized control type
SearchLocalizedControlType string

The optional UIA element localized control type to search for (starting from the parent window handle). This can be discovered via Inspection.

Search UIA subtree
SearchSubTree boolean

If set to true then the whole UIA tree below the parent window handle will be searched. This is more thorough but can take longer. If set to false, only elements directly below the parent window handle in the UIA tree will be searched.

Match index
MatchIndex integer

If multiple elements match the search, which element (starting at 1) should be matched. Can be used in conjunction with 'Sort by column' to choose the sort order for matching.

Search filter
SearchFilter string

An optional advanced filter to further restrict the search using conditional operators and any element field. Example 1: [Width] < 200. Example 2: [Name] like 'Document*' AND [ClassName] like 'Label*'. See the documentation for more examples.

Sort by column name
SortByColumn string

If multiple elements match the search, this allows you to specify which element property to sort by. This will be used in conjunction with 'Match index' to pick the required element. For example: If 'Sort by column name' is [TopEdge] and 'Match index' is 1 then the matching element nearest the top of the screen will be matched.

Match index is ascending
MatchIndexAscending boolean

If multiple elements match the search, should 'Match index' match from the top of the sorted list (true) or from the bottom of the sorted list (false).

Search colour
SearchColour True string

Search colour in the format 0xAARRGGBB, #AARRGGBB, 0xRRGGBB or #RRGGBB where each colour channel is a byte in hex format (00 is fully off, FF is fully on). For example: #FF0000 for red, #00FF00 for blue, #000000 for black, #FFFFFF for white.

Max colour deviation
MaxColourDeviation True integer

The maximum an element colour can deviate from the search colour before it isn't considered a match. 0 for no deviation. Deviation is measured in RGB values. For example: #FF0000 is 4 different from #FE0102. A deviation of 15 would be a good starting point.

Left pixel X offset
LeftPixelXOffset integer

An optional X offset for the left edge of the search area. This allows you to increase (with negative values) or decrease (with positive values) the search area.

Right pixel X offset
RightPixelXOffset integer

An optional X offset for the right edge of the search area. This allows you to increase (with positive values) or decrease (with negative values) the search area.

Top pixel Y offset
TopPixelYOffset integer

An optional Y offset for the top edge of the search area. This allows you to increase (with negative values) or decrease (with positive values) the search area.

Bottom pixel Y offset
BottomPixelYOffset integer

An optional Y offset for the bottom edge of the search area. This allows you to increase (with positive values) or decrease (with negative values) the search area.

Mouse button
MouseButton string

The mouse button to press (Left, Right, Middle, Double left).

Click offset X
ClickOffsetX integer

The number of X pixels to offset the click action by. This parameter supports both positive (right) and negative (left) offset values.

Click offset Y
ClickOffsetY integer

The number of Y pixels to offset the click action by. This parameter supports both positive (down) and negative (up) offset values.

Offset relative to
OffsetRelativeTo string

The relative position of the colour region to offset from (Center / Centre / Middle, Left, Right, Top, Bottom, Top Left, Top Right, Bottom Left, Bottom Right).

Delay in milliseconds
DelayInMilliseconds integer

If performing a double click, the delay (in milliseconds) between each of the clicks.

Hide Agent
HideAgent boolean

Set to true to automatically hide the Agent (if visible) to ensure it doesn't obscure the element being analysed.

Maximum elements to search
MaxElementsToSearch integer

The maximum number of elements to search when looking for the target element in the UIA tree. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Maximum relative search depth
MaxRelativeSearchDepth integer

The maximum relative tree depth to search for child elements beneath the parent element. Direct child elements will have a depth value of 1. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). Set to 0 for an unlimited search depth. This input is typically used to optimise element searching.

Maximum child elements to search per node
MaxChildElementsToSearchPerNode integer

The maximum number of child elements to search beneath each element when searching the UIA tree for the target element. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Element localized control types not to traverse
ElementLocalizedControlTypesNotToTraverse string

A comma separated list of UIA element localized control types to not traverse (step into) when searching the UIA tree for the target element. The search will still check if an individual element matches the search criteria, however it will not search any child elements of that element if its localized control type is on this exclusion list. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). This input is typically used to optimise element searching.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Name Path Type Description
Command result
UIAGlobalMouseClickElementSearchColourRegionResult boolean

The result of the command (success or failure).

Error message
ErrorMessage string

If the command was not successful, this will contain the error message that was returned.

Global right mouse click on UIA element

Moves the mouse to the centre, or a chosen edge, corner or offset, relative to a UIA element and clicks the right mouse button.

Parameters

Name Key Required Type Description
Parent window handle
ParentWindowHandle True integer

The parent UIA window handle (a value of 1 or higher) to act as the starting point for the search. This can be discovered via Inspection using actions like 'Wait for desktop element' or 'Wait for element'.

Search element name
SearchElementName string

The optional UIA element name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element class name
SearchElementClassName string

The optional UIA element class name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element automation ID
SearchElementAutomationId string

The optional UIA element automation ID to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element localized control type
SearchLocalizedControlType string

The optional UIA element localized control type to search for (starting from the parent window handle). This can be discovered via Inspection.

Search UIA subtree
SearchSubTree boolean

If set to true then the whole UIA tree below the parent window handle will be searched. This is more thorough but can take longer. If set to false, only elements directly below the parent window handle in the UIA tree will be searched.

Focus element first
FocusElementFirst boolean

Should IA-Connect attempt to focus the element before global clicking?

Match index
MatchIndex integer

If multiple elements match the search, which element (starting at 1) should be matched. Can be used in conjunction with 'Sort by column' to choose the sort order for matching.

Search filter
SearchFilter string

An optional advanced filter to further restrict the search using conditional operators and any element field. Example 1: [Width] < 200. Example 2: [Name] like 'Document*' AND [ClassName] like 'Label*'. See the documentation for more examples.

Sort by column name
SortByColumn string

If multiple elements match the search, this allows you to specify which element property to sort by. This will be used in conjunction with 'Match index' to pick the required element. For example: If 'Sort by column name' is [TopEdge] and 'Match index' is 1 then the matching element nearest the top of the screen will be matched.

Match index is ascending
MatchIndexAscending boolean

If multiple elements match the search, should 'Match index' match from the top of the sorted list (true) or from the bottom of the sorted list (false).

Click offset X
ClickOffsetX integer

The number of X pixels to offset the click action by. This parameter supports both positive (right) and negative (left) offset values.

Click offset Y
ClickOffsetY integer

The number of Y pixels to offset the click action by. This parameter supports both positive (down) and negative (up) offset values.

Offset relative to
OffsetRelativeTo string

The relative position of the element to offset from (Center / Centre / Middle, Left, Right, Top, Bottom, Top Left, Top Right, Bottom Left, Bottom Right).

Maximum elements to search
MaxElementsToSearch integer

The maximum number of elements to search when looking for the target element in the UIA tree. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Maximum relative search depth
MaxRelativeSearchDepth integer

The maximum relative tree depth to search for child elements beneath the parent element. Direct child elements will have a depth value of 1. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). Set to 0 for an unlimited search depth. This input is typically used to optimise element searching.

Maximum child elements to search per node
MaxChildElementsToSearchPerNode integer

The maximum number of child elements to search beneath each element when searching the UIA tree for the target element. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Element localized control types not to traverse
ElementLocalizedControlTypesNotToTraverse string

A comma separated list of UIA element localized control types to not traverse (step into) when searching the UIA tree for the target element. The search will still check if an individual element matches the search criteria, however it will not search any child elements of that element if its localized control type is on this exclusion list. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). This input is typically used to optimise element searching.

Validate clickable point within element boundary
ValidateClickablePointWithinElementBoundary boolean

For some elements, UIA is unaware of a clickable point within the element and will return an invalid coordinate (for example 0,0) instead of the center of the element. If this input is set to true, IA-Connect will check the validity of the coordinate provided by UIA and, if not within the element's boundary, will ignore the value provided by UIA and use the center of the element instead.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Input password into UIA element

UIA action which inputs a password into an element (typically a password entry field), replacing the existing text.

Parameters

Name Key Required Type Description
Parent window handle
ParentWindowHandle True integer

The parent UIA window handle (a value of 1 or higher) to act as the starting point for the search. This can be discovered via Inspection using actions like 'Wait for desktop element' or 'Wait for element'.

Search element name
SearchElementName string

The optional UIA element name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element class name
SearchElementClassName string

The optional UIA element class name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element automation ID
SearchElementAutomationId string

The optional UIA element automation ID to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element localized control type
SearchLocalizedControlType string

The optional UIA element localized control type to search for (starting from the parent window handle). This can be discovered via Inspection.

Search UIA subtree
SearchSubTree boolean

If set to true then the whole UIA tree below the parent window handle will be searched. This is more thorough but can take longer. If set to false, only elements directly below the parent window handle in the UIA tree will be searched.

Password to input
PasswordToInput True password

The password value to input.

Match index
MatchIndex integer

If multiple elements match the search, which element (starting at 1) should be matched. Can be used in conjunction with 'Sort by column' to choose the sort order for matching.

Search filter
SearchFilter string

An optional advanced filter to further restrict the search using conditional operators and any element field. Example 1: [Width] < 200. Example 2: [Name] like 'Document*' AND [ClassName] like 'Label*'. See the documentation for more examples.

Sort by column name
SortByColumn string

If multiple elements match the search, this allows you to specify which element property to sort by. This will be used in conjunction with 'Match index' to pick the required element. For example: If 'Sort by column name' is [TopEdge] and 'Match index' is 1 then the matching element nearest the top of the screen will be matched.

Match index is ascending
MatchIndexAscending boolean

If multiple elements match the search, should 'Match index' match from the top of the sorted list (true) or from the bottom of the sorted list (false).

Password contains stored password
PasswordContainsStoredPassword boolean

Set to true if the password contains (or is entirely) an IA-Connect stored password identifier, in the format {IAConnectPassword:StoredPasswordIdentifier} or an IA-Connect Orchestrator generic credential, in the format {OrchestratorCredential:FriendlyName}. This stored password could have been generated by the 'Generate password' action, for example, or be held by the IA-Connect Orchestrator.

Maximum elements to search
MaxElementsToSearch integer

The maximum number of elements to search when looking for the target element in the UIA tree. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Maximum relative search depth
MaxRelativeSearchDepth integer

The maximum relative tree depth to search for child elements beneath the parent element. Direct child elements will have a depth value of 1. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). Set to 0 for an unlimited search depth. This input is typically used to optimise element searching.

Maximum child elements to search per node
MaxChildElementsToSearchPerNode integer

The maximum number of child elements to search beneath each element when searching the UIA tree for the target element. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Element localized control types not to traverse
ElementLocalizedControlTypesNotToTraverse string

A comma separated list of UIA element localized control types to not traverse (step into) when searching the UIA tree for the target element. The search will still check if an individual element matches the search criteria, however it will not search any child elements of that element if its localized control type is on this exclusion list. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). This input is typically used to optimise element searching.

Try value pattern
TryValuePattern boolean

If set to true (the default), the IA-Connect Agent will attempt to use a UIA value pattern to perform the text input action. If the UIA value pattern is unavailable in the chosen element, the IA-Connect Agent will fall back to other patterns (enabled or disabled via other inputs to this action). If set to false, the IA-Connect Agent will not attempt to use a value pattern and will immediately fall back to other chosen patterns.

Try legacy pattern
TryLegacyPattern boolean

If set to true, the IA-Connect Agent will attempt to use a UIA legacy pattern to perform the text input action if the value pattern is not available (either because it isn't present on the element or because its use was disabled).

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Input return into UIA element

Inputs a Windows return / new line into an element (typically a text entry field), either replacing the existing text or inserting the return at a specific position.

Parameters

Name Key Required Type Description
Parent window handle
ParentWindowHandle True integer

The parent UIA window handle (a value of 1 or higher) to act as the starting point for the search. This can be discovered via Inspection using actions like 'Wait for desktop element' or 'Wait for element'.

Search element name
SearchElementName string

The optional UIA element name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element class name
SearchElementClassName string

The optional UIA element class name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element automation ID
SearchElementAutomationId string

The optional UIA element automation ID to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element localized control type
SearchLocalizedControlType string

The optional UIA element localized control type to search for (starting from the parent window handle). This can be discovered via Inspection.

Search UIA subtree
SearchSubTree boolean

If set to true then the whole UIA tree below the parent window handle will be searched. This is more thorough but can take longer. If set to false, only elements directly below the parent window handle in the UIA tree will be searched.

Match index
MatchIndex integer

If multiple elements match the search, which element (starting at 1) should be matched. Can be used in conjunction with 'Sort by column' to choose the sort order for matching.

Search filter
SearchFilter string

An optional advanced filter to further restrict the search using conditional operators and any element field. Example 1: [Width] < 200. Example 2: [Name] like 'Document*' AND [ClassName] like 'Label*'. See the documentation for more examples.

Sort by column name
SortByColumn string

If multiple elements match the search, this allows you to specify which element property to sort by. This will be used in conjunction with 'Match index' to pick the required element. For example: If 'Sort by column name' is [TopEdge] and 'Match index' is 1 then the matching element nearest the top of the screen will be matched.

Match index is ascending
MatchIndexAscending boolean

If multiple elements match the search, should 'Match index' match from the top of the sorted list (true) or from the bottom of the sorted list (false).

Replace existing value
ReplaceExistingValue boolean

If there is existing text in the element, should this be replaced?

Insert position
InsertPosition integer

The position (index) to begin inserting text. If there is existing text, the insert position can be used to insert at a specific position within the existing text.

Maximum elements to search
MaxElementsToSearch integer

The maximum number of elements to search when looking for the target element in the UIA tree. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Maximum relative search depth
MaxRelativeSearchDepth integer

The maximum relative tree depth to search for child elements beneath the parent element. Direct child elements will have a depth value of 1. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). Set to 0 for an unlimited search depth. This input is typically used to optimise element searching.

Maximum child elements to search per node
MaxChildElementsToSearchPerNode integer

The maximum number of child elements to search beneath each element when searching the UIA tree for the target element. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Element localized control types not to traverse
ElementLocalizedControlTypesNotToTraverse string

A comma separated list of UIA element localized control types to not traverse (step into) when searching the UIA tree for the target element. The search will still check if an individual element matches the search criteria, however it will not search any child elements of that element if its localized control type is on this exclusion list. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). This input is typically used to optimise element searching.

Raise exception if input validation fails
RaiseExceptionIfInputValidationFails boolean

If enabled, the IA-Connect Agent will check the new value of the element after inputting the requested text. If the new value doesn't match the expected value, an exception will be raised. If this input is false (the default), a warning will be entered into the log, but no exception will be raised.

Try value pattern
TryValuePattern boolean

If set to true (the default), the IA-Connect Agent will attempt to use a UIA value pattern to perform the text input action. If the UIA value pattern is unavailable in the chosen element, the IA-Connect Agent will fall back to other patterns (enabled or disabled via other inputs to this action). If set to false, the IA-Connect Agent will not attempt to use a value pattern and will immediately fall back to other chosen patterns.

Try legacy pattern
TryLegacyPattern boolean

If set to true, the IA-Connect Agent will attempt to use a UIA legacy pattern to perform the text input action if the value pattern is not available (either because it isn't present on the element or because its use was disabled).

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Input text into multiple UIA elements

UIA Action which inputs different pieces of text into multiple elements (typically text entry fields), either replacing the existing text or inserting the new value at a specific position.

Parameters

Name Key Required Type Description
Input elements
InputElementsJSON True string

An array of UIA elements to enter text into, in JSON format.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Input text into UIA element

UIA action which inputs text into an element (typically a text entry field), either replacing the existing text or inserting the new value at a specific position.

Parameters

Name Key Required Type Description
Parent window handle
ParentWindowHandle True integer

The parent UIA window handle (a value of 1 or higher) to act as the starting point for the search. This can be discovered via Inspection using actions like 'Wait for desktop element' or 'Wait for element'.

Search element name
SearchElementName string

The optional UIA element name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element class name
SearchElementClassName string

The optional UIA element class name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element automation ID
SearchElementAutomationId string

The optional UIA element automation ID to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element localized control type
SearchLocalizedControlType string

The optional UIA element localized control type to search for (starting from the parent window handle). This can be discovered via Inspection.

Search UIA subtree
SearchSubTree boolean

If set to true then the whole UIA tree below the parent window handle will be searched. This is more thorough but can take longer. If set to false, only elements directly below the parent window handle in the UIA tree will be searched.

Text to input
TextToInput string

The text value to input.

Match index
MatchIndex integer

If multiple elements match the search, which element (starting at 1) should be matched. Can be used in conjunction with 'Sort by column' to choose the sort order for matching.

Search filter
SearchFilter string

An optional advanced filter to further restrict the search using conditional operators and any element field. Example 1: [Width] < 200. Example 2: [Name] like 'Document*' AND [ClassName] like 'Label*'. See the documentation for more examples.

Sort by column name
SortByColumn string

If multiple elements match the search, this allows you to specify which element property to sort by. This will be used in conjunction with 'Match index' to pick the required element. For example: If 'Sort by column name' is [TopEdge] and 'Match index' is 1 then the matching element nearest the top of the screen will be matched.

Match index is ascending
MatchIndexAscending boolean

If multiple elements match the search, should 'Match index' match from the top of the sorted list (true) or from the bottom of the sorted list (false).

Replace existing value
ReplaceExistingValue boolean

If there is existing text in the element, should this be replaced?

Insert position
InsertPosition integer

The position (index) to begin inserting text. If there is existing text, the insert position can be used to insert at a specific position within the existing text.

Maximum elements to search
MaxElementsToSearch integer

The maximum number of elements to search when looking for the target element in the UIA tree. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Maximum relative search depth
MaxRelativeSearchDepth integer

The maximum relative tree depth to search for child elements beneath the parent element. Direct child elements will have a depth value of 1. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). Set to 0 for an unlimited search depth. This input is typically used to optimise element searching.

Maximum child elements to search per node
MaxChildElementsToSearchPerNode integer

The maximum number of child elements to search beneath each element when searching the UIA tree for the target element. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Element localized control types not to traverse
ElementLocalizedControlTypesNotToTraverse string

A comma separated list of UIA element localized control types to not traverse (step into) when searching the UIA tree for the target element. The search will still check if an individual element matches the search criteria, however it will not search any child elements of that element if its localized control type is on this exclusion list. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). This input is typically used to optimise element searching.

Raise exception if input validation fails
RaiseExceptionIfInputValidationFails boolean

If enabled, the IA-Connect Agent will check the new value of the element after inputting the requested text. If the new value doesn't match the expected value, an exception will be raised. If this input is false (the default), a warning will be entered into the log, but no exception will be raised.

Try value pattern
TryValuePattern boolean

If set to true (the default), the IA-Connect Agent will attempt to use a UIA value pattern to perform the text input action. If the UIA value pattern is unavailable in the chosen element, the IA-Connect Agent will fall back to other patterns (enabled or disabled via other inputs to this action). If set to false, the IA-Connect Agent will not attempt to use a value pattern and will immediately fall back to other chosen patterns.

Try legacy pattern
TryLegacyPattern boolean

If set to true, the IA-Connect Agent will attempt to use a UIA legacy pattern to perform the text input action if the value pattern is not available (either because it isn't present on the element or because its use was disabled).

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Is UIA element checked

This action returns true or false indicating whether an element (typically a checkbox or radio box) is checked.

Parameters

Name Key Required Type Description
Parent window handle
ParentWindowHandle True integer

The parent UIA window handle (a value of 1 or higher) to act as the starting point for the search. This can be discovered via Inspection using actions like 'Wait for desktop element' or 'Wait for element'.

Search element name
SearchElementName string

The optional UIA element name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element class name
SearchElementClassName string

The optional UIA element class name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element automation ID
SearchElementAutomationId string

The optional UIA element automation ID to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element localized control type
SearchLocalizedControlType string

The optional UIA element localized control type to search for (starting from the parent window handle). This can be discovered via Inspection.

Search UIA subtree
SearchSubTree boolean

If set to true then the whole UIA tree below the parent window handle will be searched. This is more thorough but can take longer. If set to false, only elements directly below the parent window handle in the UIA tree will be searched.

Match index
MatchIndex integer

If multiple elements match the search, which element (starting at 1) should be matched. Can be used in conjunction with 'Sort by column' to choose the sort order for matching.

Search filter
SearchFilter string

An optional advanced filter to further restrict the search using conditional operators and any element field. Example 1: [Width] < 200. Example 2: [Name] like 'Document*' AND [ClassName] like 'Label*'. See the documentation for more examples.

Sort by column name
SortByColumn string

If multiple elements match the search, this allows you to specify which element property to sort by. This will be used in conjunction with 'Match index' to pick the required element. For example: If 'Sort by column name' is [TopEdge] and 'Match index' is 1 then the matching element nearest the top of the screen will be matched.

Match index is ascending
MatchIndexAscending boolean

If multiple elements match the search, should 'Match index' match from the top of the sorted list (true) or from the bottom of the sorted list (false).

Maximum elements to search
MaxElementsToSearch integer

The maximum number of elements to search when looking for the target element in the UIA tree. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Maximum relative search depth
MaxRelativeSearchDepth integer

The maximum relative tree depth to search for child elements beneath the parent element. Direct child elements will have a depth value of 1. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). Set to 0 for an unlimited search depth. This input is typically used to optimise element searching.

Maximum child elements to search per node
MaxChildElementsToSearchPerNode integer

The maximum number of child elements to search beneath each element when searching the UIA tree for the target element. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Element localized control types not to traverse
ElementLocalizedControlTypesNotToTraverse string

A comma separated list of UIA element localized control types to not traverse (step into) when searching the UIA tree for the target element. The search will still check if an individual element matches the search criteria, however it will not search any child elements of that element if its localized control type is on this exclusion list. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). This input is typically used to optimise element searching.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Name Path Type Description
Element is checked
ElementIsChecked boolean

Returns true if the element is checked or false if not.

Maximise UIA window

Maximises the window with the specified UIA handle.

Parameters

Name Key Required Type Description
Window handle
WindowHandle True integer

The UIA handle for the window to be maximised.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Minimise UIA window

Minimises the window with the specified UIA handle.

Parameters

Name Key Required Type Description
Window handle
WindowHandle True integer

The UIA handle for the window to be minimised.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Move UIA element

Moves a UIA element to a specified position on the screen. This action will typically only work with Window elements (which have the transform pattern).

Parameters

Name Key Required Type Description
Parent window handle
ParentWindowHandle True integer

The parent UIA window handle (a value of 1 or higher) to act as the starting point for the search. This can be discovered via Inspection using actions like 'Wait for desktop element' or 'Wait for element'.

Search element name
SearchElementName string

The optional UIA element name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element class name
SearchElementClassName string

The optional UIA element class name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element automation ID
SearchElementAutomationId string

The optional UIA element automation ID to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element localized control type
SearchLocalizedControlType string

The optional UIA element localized control type to search for (starting from the parent window handle). This can be discovered via Inspection.

Search UIA subtree
SearchSubTree boolean

If set to true then the whole UIA tree below the parent window handle will be searched. This is more thorough but can take longer. If set to false, only elements directly below the parent window handle in the UIA tree will be searched.

Match index
MatchIndex integer

If multiple elements match the search, which element (starting at 1) should be matched. Can be used in conjunction with 'Sort by column' to choose the sort order for matching.

Search filter
SearchFilter string

An optional advanced filter to further restrict the search using conditional operators and any element field. Example 1: [Width] < 200. Example 2: [Name] like 'Document*' AND [ClassName] like 'Label*'. See the documentation for more examples.

Sort by column name
SortByColumn string

If multiple elements match the search, this allows you to specify which element property to sort by. This will be used in conjunction with 'Match index' to pick the required element. For example: If 'Sort by column name' is [TopEdge] and 'Match index' is 1 then the matching element nearest the top of the screen will be matched.

Match index is ascending
MatchIndexAscending boolean

If multiple elements match the search, should 'Match index' match from the top of the sorted list (true) or from the bottom of the sorted list (false).

Maximum elements to search
MaxElementsToSearch integer

The maximum number of elements to search when looking for the target element in the UIA tree. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Maximum relative search depth
MaxRelativeSearchDepth integer

The maximum relative tree depth to search for child elements beneath the parent element. Direct child elements will have a depth value of 1. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). Set to 0 for an unlimited search depth. This input is typically used to optimise element searching.

Maximum child elements to search per node
MaxChildElementsToSearchPerNode integer

The maximum number of child elements to search beneath each element when searching the UIA tree for the target element. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Element localized control types not to traverse
ElementLocalizedControlTypesNotToTraverse string

A comma separated list of UIA element localized control types to not traverse (step into) when searching the UIA tree for the target element. The search will still check if an individual element matches the search criteria, however it will not search any child elements of that element if its localized control type is on this exclusion list. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). This input is typically used to optimise element searching.

Horizontal movement type
HorizontalMovementType string

The type of movement: Absolute or relative.

Horizontal position
HorizontalPosition True integer

The new horizontal position for the element. The type of movement (for example, absolute or relative) is defined by the input 'Horizontal movement type'. To leave the horizontal position unchanged, choose a value of 0 and set 'Horizontal movement type' to 'Relative'.

Vertical movement type
VerticalMovementType string

The type of movement: Absolute or relative.

Vertical position
VerticalPosition True integer

The new vertical position for the element. The type of movement (for example, absolute or relative) is defined by the input 'Vertical movement type'. To leave the vertical position unchanged, choose a value of 0 and set 'Vertical movement type' to 'Relative'.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Name Path Type Description
Command result
UIAMoveElementResult boolean

The result of the command (success or failure).

Error message
ErrorMessage string

If the command was not successful, this will contain the error message that was returned.

Press UIA element

Presses an element (typically a button).

Parameters

Name Key Required Type Description
Parent window handle
ParentWindowHandle True integer

The parent UIA window handle (a value of 1 or higher) to act as the starting point for the search. This can be discovered via Inspection using actions like 'Wait for desktop element' or 'Wait for element'.

Search element name
SearchElementName string

The optional UIA element name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element class name
SearchElementClassName string

The optional UIA element class name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element automation ID
SearchElementAutomationId string

The optional UIA element automation ID to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element localized control type
SearchLocalizedControlType string

The optional UIA element localized control type to search for (starting from the parent window handle). This can be discovered via Inspection.

Search UIA subtree
SearchSubTree boolean

If set to true then the whole UIA tree below the parent window handle will be searched. This is more thorough but can take longer. If set to false, only elements directly below the parent window handle in the UIA tree will be searched.

Wait for button event to complete
Wait boolean

Should the automation wait for the button event to complete before continuing. If set to true this can cause a timeout if the button opens a modal dialog.

Win32 click button
Win32ClickButton boolean

If set to true, a Win32 click event is used instead of using UIA. This is a 'fire and forget' click event, which can be useful when dealing with modal dialogs that are presented after a click, or elements which don't have a UIA invoke pattern.

Match index
MatchIndex integer

If multiple elements match the search, which element (starting at 1) should be matched. Can be used in conjunction with 'Sort by column' to choose the sort order for matching.

Search filter
SearchFilter string

An optional advanced filter to further restrict the search using conditional operators and any element field. Example 1: [Width] < 200. Example 2: [Name] like 'Document*' AND [ClassName] like 'Label*'. See the documentation for more examples.

Sort by column name
SortByColumn string

If multiple elements match the search, this allows you to specify which element property to sort by. This will be used in conjunction with 'Match index' to pick the required element. For example: If 'Sort by column name' is [TopEdge] and 'Match index' is 1 then the matching element nearest the top of the screen will be matched.

Match index is ascending
MatchIndexAscending boolean

If multiple elements match the search, should 'Match index' match from the top of the sorted list (true) or from the bottom of the sorted list (false).

Maximum elements to search
MaxElementsToSearch integer

The maximum number of elements to search when looking for the target element in the UIA tree. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Maximum relative search depth
MaxRelativeSearchDepth integer

The maximum relative tree depth to search for child elements beneath the parent element. Direct child elements will have a depth value of 1. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). Set to 0 for an unlimited search depth. This input is typically used to optimise element searching.

Maximum child elements to search per node
MaxChildElementsToSearchPerNode integer

The maximum number of child elements to search beneath each element when searching the UIA tree for the target element. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Element localized control types not to traverse
ElementLocalizedControlTypesNotToTraverse string

A comma separated list of UIA element localized control types to not traverse (step into) when searching the UIA tree for the target element. The search will still check if an individual element matches the search criteria, however it will not search any child elements of that element if its localized control type is on this exclusion list. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). This input is typically used to optimise element searching.

Try invoke pattern
TryInvokePattern boolean

If set to true (the default), the IA-Connect Agent will attempt to use a UIA invoke pattern to perform the press action (unless 'Win32 click button' is set to true). If the UIA invoke pattern is unavailable in the chosen element, the IA-Connect Agent will fall back to other patterns (enabled or disabled via other inputs to this action). If set to false, the IA-Connect Agent will not attempt to use an invoke pattern and will immediately fall back to other chosen patterns.

Try legacy pattern
TryLegacyPattern boolean

If set to true, the IA-Connect Agent will attempt to use a UIA legacy pattern to perform the press action if the invoke pattern is not available (either because it isn't present on the element or because its use was disabled) and if 'Win32 click button' is false.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Reset all UIA element handles

Resets all UIA element handles currently stored by IA-Connect which can be useful if you have been identifying a lot of elements and have a large number of element handles stored. In scenarios with extremely high numbers of element handles (100,000+) this action can also be used to free up RAM usage.

Parameters

Name Key Required Type Description
Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Resize UIA element

Resizes a UIA element. This action will typically only work with Window elements (which have the transform pattern).

Parameters

Name Key Required Type Description
Parent window handle
ParentWindowHandle True integer

The parent UIA window handle (a value of 1 or higher) to act as the starting point for the search. This can be discovered via Inspection using actions like 'Wait for desktop element' or 'Wait for element'.

Search element name
SearchElementName string

The optional UIA element name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element class name
SearchElementClassName string

The optional UIA element class name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element automation ID
SearchElementAutomationId string

The optional UIA element automation ID to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element localized control type
SearchLocalizedControlType string

The optional UIA element localized control type to search for (starting from the parent window handle). This can be discovered via Inspection.

Search UIA subtree
SearchSubTree boolean

If set to true then the whole UIA tree below the parent window handle will be searched. This is more thorough but can take longer. If set to false, only elements directly below the parent window handle in the UIA tree will be searched.

Match index
MatchIndex integer

If multiple elements match the search, which element (starting at 1) should be matched. Can be used in conjunction with 'Sort by column' to choose the sort order for matching.

Search filter
SearchFilter string

An optional advanced filter to further restrict the search using conditional operators and any element field. Example 1: [Width] < 200. Example 2: [Name] like 'Document*' AND [ClassName] like 'Label*'. See the documentation for more examples.

Sort by column name
SortByColumn string

If multiple elements match the search, this allows you to specify which element property to sort by. This will be used in conjunction with 'Match index' to pick the required element. For example: If 'Sort by column name' is [TopEdge] and 'Match index' is 1 then the matching element nearest the top of the screen will be matched.

Match index is ascending
MatchIndexAscending boolean

If multiple elements match the search, should 'Match index' match from the top of the sorted list (true) or from the bottom of the sorted list (false).

Maximum elements to search
MaxElementsToSearch integer

The maximum number of elements to search when looking for the target element in the UIA tree. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Maximum relative search depth
MaxRelativeSearchDepth integer

The maximum relative tree depth to search for child elements beneath the parent element. Direct child elements will have a depth value of 1. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). Set to 0 for an unlimited search depth. This input is typically used to optimise element searching.

Maximum child elements to search per node
MaxChildElementsToSearchPerNode integer

The maximum number of child elements to search beneath each element when searching the UIA tree for the target element. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Element localized control types not to traverse
ElementLocalizedControlTypesNotToTraverse string

A comma separated list of UIA element localized control types to not traverse (step into) when searching the UIA tree for the target element. The search will still check if an individual element matches the search criteria, however it will not search any child elements of that element if its localized control type is on this exclusion list. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). This input is typically used to optimise element searching.

Resize width type
ResizeWidthType string

The type of width resize: Absolute or relative.

New width
NewWidth True integer

The new width of the element. The type of resizing (for example, absolute or relative) is defined by the input 'Resize width type'. To leave the width unchanged, choose a value of 0 and set 'Resize width type' to 'Relative'.

Resize height type
ResizeHeightType string

The type of height resize: Absolute or relative.

New height
NewHeight True integer

The new height of the element. The type of resizing (for example, absolute or relative) is defined by the input 'Resize height type'. To leave the height unchanged, choose a value of 0 and set 'Resize height type' to 'Relative'.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Name Path Type Description
Command result
UIAResizeElementResult boolean

The result of the command (success or failure).

Error message
ErrorMessage string

If the command was not successful, this will contain the error message that was returned.

Search for first UIA parent element

Searches up the UIA tree hierarchy for the first parent element which matches the search criteria. The parent element is defined as the element which is at the next level up the UIA 'tree' and is almost always a containing element.

Parameters

Name Key Required Type Description
Element handle
ElementHandle True integer

The UIA handle for the target element.

Search parent element localized control type
SearchParentLocalizedControlType string

The parent UIA element localized control type to search for. This can be discovered via Inspection.

Search parent element control type
SearchParentControlType integer

The parent UIA element control type (an non-localized integer) to search for. This is the same value across different languages.

Max parents to process
MaxParentsToProcess integer

The maximum number of parent elements to process. By default, this is set to 50.

Raise exception if parent element not found
RaiseExceptionIfParentElementNotFound boolean

Should IA-Connect raise an exception if the search UIA element is not located?

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Name Path Type Description
Parent element found
ParentElementFound boolean

Returns true if the search parent UIA element was found.

Parent element handle
ParentElementHandle integer

The UIA handle for the located parent element. This can be used as an input to further UIA actions acting on this element.

Parent element name
ParentElementName string

The UIA name of the located parent element.

Parent element class name
ParentElementClassName string

The UIA class name of the located parent element.

Parent element automation Id
ParentElementAutomationId string

The UIA automation Id of the located parent element.

Parent element localized control type
ParentElementLocalizedControlType string

The UIA localized control type of the located parent element.

Select UIA element

Selects an element (typically an item in a list or drop-down).

Parameters

Name Key Required Type Description
Parent window handle
ParentWindowHandle True integer

The parent UIA window handle (a value of 1 or higher) to act as the starting point for the search. This can be discovered via Inspection using actions like 'Wait for desktop element' or 'Wait for element'.

Search element name
SearchElementName string

The optional UIA element name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element class name
SearchElementClassName string

The optional UIA element class name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element automation ID
SearchElementAutomationId string

The optional UIA element automation ID to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element localized control type
SearchLocalizedControlType string

The optional UIA element localized control type to search for (starting from the parent window handle). This can be discovered via Inspection.

Search UIA subtree
SearchSubTree boolean

If set to true then the whole UIA tree below the parent window handle will be searched. This is more thorough but can take longer. If set to false, only elements directly below the parent window handle in the UIA tree will be searched.

Match index
MatchIndex integer

If multiple elements match the search, which element (starting at 1) should be matched. Can be used in conjunction with 'Sort by column' to choose the sort order for matching.

Search filter
SearchFilter string

An optional advanced filter to further restrict the search using conditional operators and any element field. Example 1: [Width] < 200. Example 2: [Name] like 'Document*' AND [ClassName] like 'Label*'. See the documentation for more examples.

Sort by column name
SortByColumn string

If multiple elements match the search, this allows you to specify which element property to sort by. This will be used in conjunction with 'Match index' to pick the required element. For example: If 'Sort by column name' is [TopEdge] and 'Match index' is 1 then the matching element nearest the top of the screen will be matched.

Match index is ascending
MatchIndexAscending boolean

If multiple elements match the search, should 'Match index' match from the top of the sorted list (true) or from the bottom of the sorted list (false).

Maximum elements to search
MaxElementsToSearch integer

The maximum number of elements to search when looking for the target element in the UIA tree. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Maximum relative search depth
MaxRelativeSearchDepth integer

The maximum relative tree depth to search for child elements beneath the parent element. Direct child elements will have a depth value of 1. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). Set to 0 for an unlimited search depth. This input is typically used to optimise element searching.

Maximum child elements to search per node
MaxChildElementsToSearchPerNode integer

The maximum number of child elements to search beneath each element when searching the UIA tree for the target element. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Element localized control types not to traverse
ElementLocalizedControlTypesNotToTraverse string

A comma separated list of UIA element localized control types to not traverse (step into) when searching the UIA tree for the target element. The search will still check if an individual element matches the search criteria, however it will not search any child elements of that element if its localized control type is on this exclusion list. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). This input is typically used to optimise element searching.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Set foreground UIA window

Brings a window to the foreground.

Parameters

Name Key Required Type Description
Window handle
WindowHandle True integer

The UIA handle for the window which should be set as the foreground window.

Toggle window
ToggleWindow boolean

Should the window be toggled by attempting to focus or click it? This helps to ensure that the window is reliably brought to the foreground.

Toggle uses global left mouse click agent
ToggleUsesGlobalLeftMouseClickAgent boolean

If choosing to toggle the window, this specifies whether to use global mouse clicks to focus the IA-Connect Agent first.

Toggle delay in seconds
ToggleDelay double

If choosing to toggle the window, this specifies the pause after toggling.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Set UIA element scroll percentage

Set the horizontal and / or vertical scroll percentage of the specified element, if scrolling is supported by that element. If the element supports the 'scroll' pattern, you can apply this action directly to the element and specify either a horizontal or vertical scroll amount (or both). If the element doesn't support the 'scroll' pattern this action will fall back to the 'range value' or 'value' patterns, but you will need to apply these directly to the scroll bar control(s), not the element itself.

Parameters

Name Key Required Type Description
Parent window handle
ParentWindowHandle True integer

The parent UIA window handle (a value of 1 or higher) to act as the starting point for the search. This can be discovered via Inspection using actions like 'Wait for desktop element' or 'Wait for element'.

Search element name
SearchElementName string

The optional UIA element name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element class name
SearchElementClassName string

The optional UIA element class name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element automation ID
SearchElementAutomationId string

The optional UIA element automation ID to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element localized control type
SearchLocalizedControlType string

The optional UIA element localized control type to search for (starting from the parent window handle). This can be discovered via Inspection.

Search UIA subtree
SearchSubTree boolean

If set to true then the whole UIA tree below the parent window handle will be searched. This is more thorough but can take longer. If set to false, only elements directly below the parent window handle in the UIA tree will be searched.

Match index
MatchIndex integer

If multiple elements match the search, which element (starting at 1) should be matched. Can be used in conjunction with 'Sort by column' to choose the sort order for matching.

Search filter
SearchFilter string

An optional advanced filter to further restrict the search using conditional operators and any element field. Example 1: [Width] < 200. Example 2: [Name] like 'Document*' AND [ClassName] like 'Label*'. See the documentation for more examples.

Sort by column name
SortByColumn string

If multiple elements match the search, this allows you to specify which element property to sort by. This will be used in conjunction with 'Match index' to pick the required element. For example: If 'Sort by column name' is [TopEdge] and 'Match index' is 1 then the matching element nearest the top of the screen will be matched.

Match index is ascending
MatchIndexAscending boolean

If multiple elements match the search, should 'Match index' match from the top of the sorted list (true) or from the bottom of the sorted list (false).

Horizontal scroll percentage
HorizontalScrollPercentage double

The position to horizontally scroll the element (0 to 100 inclusive, decimals supported) or -1 to leave the horizontal scroll position unchanged.

Vertical scroll percentage
VerticalScrollPercentage double

The position to vertically scroll the element (0 to 100 inclusive, decimals supported) or -1 to leave the vertical scroll position unchanged.

Try scroll pattern
TryScrollPattern boolean

If set to true, the IA-Connect Agent will attempt to use a UIA scroll pattern to perform the scroll action. If the UIA scroll pattern is unavailable in the chosen element, the IA-Connect Agent will fall back to other chosen patterns (enabled or disabled via other inputs to this action). If set to false, the IA-Connect Agent will not attempt to use a scroll pattern and will immediately fall back to other chosen patterns. The order of patterns attempted (if enabled via inputs to this action) are scroll, range value and value.

Try range value pattern
TryRangeValuePattern boolean

If set to true, the IA-Connect Agent will attempt to use a UIA range value pattern to perform the scroll action. If the UIA range value pattern is unavailable in the chosen element, the IA-Connect Agent will fall back to other chosen patterns (enabled or disabled via other inputs to this action). If set to false, the IA-Connect Agent will not attempt to use a range value pattern and will immediately fall back to other chosen patterns. The order of patterns attempted (if enabled via inputs to this action) are scroll, range value and value.

Try value pattern
TryValuePattern boolean

If set to true, the IA-Connect Agent will attempt to use a UIA value pattern to perform the scroll action. If the UIA value pattern is unavailable in the chosen element, the IA-Connect Agent will fall back to other chosen patterns (enabled or disabled via other inputs to this action). If set to false, the IA-Connect Agent will not attempt to use a value pattern and will immediately fall back to other chosen patterns. The order of patterns attempted (if enabled via inputs to this action) are scroll, range value and value. Warning: Using a value pattern on an edit element will simply enter the value into the edit element.

Maximum elements to search
MaxElementsToSearch integer

The maximum number of elements to search when looking for the target element in the UIA tree. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Maximum relative search depth
MaxRelativeSearchDepth integer

The maximum relative tree depth to search for child elements beneath the parent element. Direct child elements will have a depth value of 1. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). Set to 0 for an unlimited search depth. This input is typically used to optimise element searching.

Maximum child elements to search per node
MaxChildElementsToSearchPerNode integer

The maximum number of child elements to search beneath each element when searching the UIA tree for the target element. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Element localized control types not to traverse
ElementLocalizedControlTypesNotToTraverse string

A comma separated list of UIA element localized control types to not traverse (step into) when searching the UIA tree for the target element. The search will still check if an individual element matches the search criteria, however it will not search any child elements of that element if its localized control type is on this exclusion list. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). This input is typically used to optimise element searching.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Name Path Type Description
Command result
UIASetElementScrollPercentageResult boolean

The result of the command (success or failure).

Error message
ErrorMessage string

If the command was not successful, this will contain the error message that was returned.

Set UIA element search mode

Choose which UIA element search mode should be used by the IA-Connect Agent when performing UIA actions. Typically, this action would only be used if you are having a problem with the default mode (Find all).

Parameters

Name Key Required Type Description
UIA element search mode
UIAElementSearchMode True string

The UIA element search mode to use.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Name Path Type Description
Command result
SetUIAElementSearchModeResult boolean

The result of the command (success or failure).

Error message
ErrorMessage string

If the command was not successful, this will contain the error message that was returned.

Set UIA element to numeric range value

Sets the value of the element which has a numeric range, for example a scrollbar.

Parameters

Name Key Required Type Description
Parent window handle
ParentWindowHandle True integer

The parent UIA window handle (a value of 1 or higher) to act as the starting point for the search. This can be discovered via Inspection using actions like 'Wait for desktop element' or 'Wait for element'.

Search element name
SearchElementName string

The optional UIA element name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element class name
SearchElementClassName string

The optional UIA element class name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element automation ID
SearchElementAutomationId string

The optional UIA element automation ID to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element localized control type
SearchLocalizedControlType string

The optional UIA element localized control type to search for (starting from the parent window handle). This can be discovered via Inspection.

Search UIA subtree
SearchSubTree boolean

If set to true then the whole UIA tree below the parent window handle will be searched. This is more thorough but can take longer. If set to false, only elements directly below the parent window handle in the UIA tree will be searched.

Match index
MatchIndex integer

If multiple elements match the search, which element (starting at 1) should be matched. Can be used in conjunction with 'Sort by column' to choose the sort order for matching.

Search filter
SearchFilter string

An optional advanced filter to further restrict the search using conditional operators and any element field. Example 1: [Width] < 200. Example 2: [Name] like 'Document*' AND [ClassName] like 'Label*'. See the documentation for more examples.

Sort by column name
SortByColumn string

If multiple elements match the search, this allows you to specify which element property to sort by. This will be used in conjunction with 'Match index' to pick the required element. For example: If 'Sort by column name' is [TopEdge] and 'Match index' is 1 then the matching element nearest the top of the screen will be matched.

Match index is ascending
MatchIndexAscending boolean

If multiple elements match the search, should 'Match index' match from the top of the sorted list (true) or from the bottom of the sorted list (false).

New value
NewValue True double

The numeric range value to set the element to.

New value is percentage
NewValueIsPercentage boolean

Is the new value a percentage?

Maximum elements to search
MaxElementsToSearch integer

The maximum number of elements to search when looking for the target element in the UIA tree. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Maximum relative search depth
MaxRelativeSearchDepth integer

The maximum relative tree depth to search for child elements beneath the parent element. Direct child elements will have a depth value of 1. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). Set to 0 for an unlimited search depth. This input is typically used to optimise element searching.

Maximum child elements to search per node
MaxChildElementsToSearchPerNode integer

The maximum number of child elements to search beneath each element when searching the UIA tree for the target element. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Element localized control types not to traverse
ElementLocalizedControlTypesNotToTraverse string

A comma separated list of UIA element localized control types to not traverse (step into) when searching the UIA tree for the target element. The search will still check if an individual element matches the search criteria, however it will not search any child elements of that element if its localized control type is on this exclusion list. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). This input is typically used to optimise element searching.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Set UIA element to numeric value

Sets the value of the element which has a numeric input, for example a text field or a scrollbar.

Parameters

Name Key Required Type Description
Parent window handle
ParentWindowHandle True integer

The parent UIA window handle (a value of 1 or higher) to act as the starting point for the search. This can be discovered via Inspection using actions like 'Wait for desktop element' or 'Wait for element'.

Search element name
SearchElementName string

The optional UIA element name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element class name
SearchElementClassName string

The optional UIA element class name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element automation ID
SearchElementAutomationId string

The optional UIA element automation ID to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element localized control type
SearchLocalizedControlType string

The optional UIA element localized control type to search for (starting from the parent window handle). This can be discovered via Inspection.

Search UIA subtree
SearchSubTree boolean

If set to true then the whole UIA tree below the parent window handle will be searched. This is more thorough but can take longer. If set to false, only elements directly below the parent window handle in the UIA tree will be searched.

Match index
MatchIndex integer

If multiple elements match the search, which element (starting at 1) should be matched. Can be used in conjunction with 'Sort by column' to choose the sort order for matching.

Search filter
SearchFilter string

An optional advanced filter to further restrict the search using conditional operators and any element field. Example 1: [Width] < 200. Example 2: [Name] like 'Document*' AND [ClassName] like 'Label*'. See the documentation for more examples.

Sort by column name
SortByColumn string

If multiple elements match the search, this allows you to specify which element property to sort by. This will be used in conjunction with 'Match index' to pick the required element. For example: If 'Sort by column name' is [TopEdge] and 'Match index' is 1 then the matching element nearest the top of the screen will be matched.

Match index is ascending
MatchIndexAscending boolean

If multiple elements match the search, should 'Match index' match from the top of the sorted list (true) or from the bottom of the sorted list (false).

New value
NewValue True integer

The numeric value to set the element to.

Maximum elements to search
MaxElementsToSearch integer

The maximum number of elements to search when looking for the target element in the UIA tree. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Maximum relative search depth
MaxRelativeSearchDepth integer

The maximum relative tree depth to search for child elements beneath the parent element. Direct child elements will have a depth value of 1. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). Set to 0 for an unlimited search depth. This input is typically used to optimise element searching.

Maximum child elements to search per node
MaxChildElementsToSearchPerNode integer

The maximum number of child elements to search beneath each element when searching the UIA tree for the target element. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Element localized control types not to traverse
ElementLocalizedControlTypesNotToTraverse string

A comma separated list of UIA element localized control types to not traverse (step into) when searching the UIA tree for the target element. The search will still check if an individual element matches the search criteria, however it will not search any child elements of that element if its localized control type is on this exclusion list. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). This input is typically used to optimise element searching.

Raise exception if input validation fails
RaiseExceptionIfInputValidationFails boolean

If enabled, the IA-Connect Agent will check the new value of the element after inputting the requested text. If the new value doesn't match the expected value, an exception will be raised. If this input is false (the default), a warning will be entered into the log, but no exception will be raised.

Try value pattern
TryValuePattern boolean

If set to true (the default), the IA-Connect Agent will attempt to use a UIA value pattern to perform the text input action. If the UIA value pattern is unavailable in the chosen element, the IA-Connect Agent will fall back to other patterns (enabled or disabled via other inputs to this action). If set to false, the IA-Connect Agent will not attempt to use a value pattern and will immediately fall back to other chosen patterns.

Try legacy pattern
TryLegacyPattern boolean

If set to true, the IA-Connect Agent will attempt to use a UIA legacy pattern to perform the text input action if the value pattern is not available (either because it isn't present on the element or because its use was disabled).

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Set UIA transaction timeout

Controls how long the UIA API will wait for an application to return the information about an element. This transaction timeout would typically only be reached if the application was non-responsive.

Parameters

Name Key Required Type Description
Timeout in seconds
TimeoutInSeconds True double

The maximum length of time that the UIA API will wait for an application to return the information about an element.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Set UIA window to normal

Normalises the window with the specified UIA handle (i.e. sets it to a normal sized window instead of minimised or maximised).

Parameters

Name Key Required Type Description
Window handle
WindowHandle True integer

The UIA handle for the window to be normalised.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Take screenshot of UIA element location

Takes a screenshot of the location of an element and returns an image. The element should be brought to the front first as the screenshot is taking a copy of the screen at the elements location.

Parameters

Name Key Required Type Description
Parent window handle
ParentWindowHandle True integer

The parent UIA window handle (a value of 1 or higher) to act as the starting point for the search. This can be discovered via Inspection using actions like 'Wait for desktop element' or 'Wait for element'.

Search element name
SearchElementName string

The optional UIA element name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element class name
SearchElementClassName string

The optional UIA element class name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element automation ID
SearchElementAutomationId string

The optional UIA element automation ID to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element localized control type
SearchLocalizedControlType string

The optional UIA element localized control type to search for (starting from the parent window handle). This can be discovered via Inspection.

Search UIA subtree
SearchSubTree boolean

If set to true then the whole UIA tree below the parent window handle will be searched. This is more thorough but can take longer. If set to false, only elements directly below the parent window handle in the UIA tree will be searched.

Image format
ImageFormat string

The image format to use for the screenshot. This can affect the quality and size of data being returned. Supported formats are PNG (the default), JPG, BMP and GIF.

Match index
MatchIndex integer

If multiple elements match the search, which element (starting at 1) should be matched. Can be used in conjunction with 'Sort by column' to choose the sort order for matching.

Search filter
SearchFilter string

An optional advanced filter to further restrict the search using conditional operators and any element field. Example 1: [Width] < 200. Example 2: [Name] like 'Document*' AND [ClassName] like 'Label*'. See the documentation for more examples.

Sort by column name
SortByColumn string

If multiple elements match the search, this allows you to specify which element property to sort by. This will be used in conjunction with 'Match index' to pick the required element. For example: If 'Sort by column name' is [TopEdge] and 'Match index' is 1 then the matching element nearest the top of the screen will be matched.

Match index is ascending
MatchIndexAscending boolean

If multiple elements match the search, should 'Match index' match from the top of the sorted list (true) or from the bottom of the sorted list (false).

Hide Agent
HideAgent boolean

Set to true to automatically hide the Agent (if visible) to ensure it doesn't obscure the screenshot.

Maximum elements to search
MaxElementsToSearch integer

The maximum number of elements to search when looking for the target element in the UIA tree. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Maximum relative search depth
MaxRelativeSearchDepth integer

The maximum relative tree depth to search for child elements beneath the parent element. Direct child elements will have a depth value of 1. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). Set to 0 for an unlimited search depth. This input is typically used to optimise element searching.

Maximum child elements to search per node
MaxChildElementsToSearchPerNode integer

The maximum number of child elements to search beneath each element when searching the UIA tree for the target element. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Element localized control types not to traverse
ElementLocalizedControlTypesNotToTraverse string

A comma separated list of UIA element localized control types to not traverse (step into) when searching the UIA tree for the target element. The search will still check if an individual element matches the search criteria, however it will not search any child elements of that element if its localized control type is on this exclusion list. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). This input is typically used to optimise element searching.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Name Path Type Description
Screen image as Base64
ScreenBitmapBase64 string

The screen image as a Base64 encoded string.

Toggle UIA element

Toggles an element (typically a checkbox or a radio box). This gives the element the opposite state to its current state (e.g. checked becomes unchecked and vice-versa). If you want to set a specific state, use the action 'Check element' instead.

Parameters

Name Key Required Type Description
Parent window handle
ParentWindowHandle True integer

The parent UIA window handle (a value of 1 or higher) to act as the starting point for the search. This can be discovered via Inspection using actions like 'Wait for desktop element' or 'Wait for element'.

Search element name
SearchElementName string

The optional UIA element name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element class name
SearchElementClassName string

The optional UIA element class name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element automation ID
SearchElementAutomationId string

The optional UIA element automation ID to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element localized control type
SearchLocalizedControlType string

The optional UIA element localized control type to search for (starting from the parent window handle). This can be discovered via Inspection.

Search UIA subtree
SearchSubTree boolean

If set to true then the whole UIA tree below the parent window handle will be searched. This is more thorough but can take longer. If set to false, only elements directly below the parent window handle in the UIA tree will be searched.

Match index
MatchIndex integer

If multiple elements match the search, which element (starting at 1) should be matched. Can be used in conjunction with 'Sort by column' to choose the sort order for matching.

Search filter
SearchFilter string

An optional advanced filter to further restrict the search using conditional operators and any element field. Example 1: [Width] < 200. Example 2: [Name] like 'Document*' AND [ClassName] like 'Label*'. See the documentation for more examples.

Sort by column name
SortByColumn string

If multiple elements match the search, this allows you to specify which element property to sort by. This will be used in conjunction with 'Match index' to pick the required element. For example: If 'Sort by column name' is [TopEdge] and 'Match index' is 1 then the matching element nearest the top of the screen will be matched.

Match index is ascending
MatchIndexAscending boolean

If multiple elements match the search, should 'Match index' match from the top of the sorted list (true) or from the bottom of the sorted list (false).

Maximum elements to search
MaxElementsToSearch integer

The maximum number of elements to search when looking for the target element in the UIA tree. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Maximum relative search depth
MaxRelativeSearchDepth integer

The maximum relative tree depth to search for child elements beneath the parent element. Direct child elements will have a depth value of 1. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). Set to 0 for an unlimited search depth. This input is typically used to optimise element searching.

Maximum child elements to search per node
MaxChildElementsToSearchPerNode integer

The maximum number of child elements to search beneath each element when searching the UIA tree for the target element. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Element localized control types not to traverse
ElementLocalizedControlTypesNotToTraverse string

A comma separated list of UIA element localized control types to not traverse (step into) when searching the UIA tree for the target element. The search will still check if an individual element matches the search criteria, however it will not search any child elements of that element if its localized control type is on this exclusion list. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). This input is typically used to optimise element searching.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Wait for UIA desktop element

Waits for a desktop element (typically a window) to exist.

Parameters

Name Key Required Type Description
Search element name
SearchElementName string

The optional UIA element name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element class name
SearchElementClassName string

The optional UIA element class name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element automation ID
SearchElementAutomationId string

The optional UIA element automation ID to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element localized control type
SearchLocalizedControlType string

The optional UIA element localized control type to search for (starting from the parent window handle). This can be discovered via Inspection.

Search process Id
SearchProcessId integer

If specified (a value of 1 or higher) then the search will only consider elements owned by a process with this Process ID (PID). If IA-Connect launched the process then the PID is provided by the 'Run Process' action in the IA-Connect Environment / Session actions. If you don't know the PID then leave this field blank (or 0).

Search UIA subtree
SearchSubTree boolean

If set to true then the whole UIA tree below the parent window handle will be searched. This is more thorough but can take longer. If set to false, only elements directly below the parent window handle in the UIA tree will be searched.

Return element handle
ReturnElementHandle boolean

If set to true, a handle to the located element will be returned. This handle can be used in further actions to act as a 'parent' handle.

Seconds to wait
SecondsToWait True integer

The maximum number of seconds to wait for the element to exist.

Match index
MatchIndex integer

If multiple elements match the search, which element (starting at 1) should be matched. Can be used in conjunction with 'Sort by column' to choose the sort order for matching.

Search filter
SearchFilter string

An optional advanced filter to further restrict the search using conditional operators and any element field. Example 1: [Width] < 200. Example 2: [Name] like 'Document*' AND [ClassName] like 'Label*'. See the documentation for more examples.

Sort by column name
SortByColumn string

If multiple elements match the search, this allows you to specify which element property to sort by. This will be used in conjunction with 'Match index' to pick the required element. For example: If 'Sort by column name' is [TopEdge] and 'Match index' is 1 then the matching element nearest the top of the screen will be matched.

Match index is ascending
MatchIndexAscending boolean

If multiple elements match the search, should 'Match index' match from the top of the sorted list (true) or from the bottom of the sorted list (false).

Include child processes
IncludeChildProcesses boolean

If set to true and a 'Search process Id' is specified, child processes of that process Id are also included in the search. If set to false then only a process matching the exact 'Search process Id' will be returned.

Raise exception if element not found
RaiseExceptionIfElementNotFound boolean

Should IA-Connect raise an exception if the UIA element does not exist after the wait period?

Maximum elements to search
MaxElementsToSearch integer

The maximum number of elements to search when looking for the target element in the UIA tree. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Maximum relative search depth
MaxRelativeSearchDepth integer

The maximum relative tree depth to search for child elements beneath the parent element. Direct child elements will have a depth value of 1. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). Set to 0 for an unlimited search depth. This input is typically used to optimise element searching.

Maximum child elements to search per node
MaxChildElementsToSearchPerNode integer

The maximum number of child elements to search beneath each element when searching the UIA tree for the target element. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Element localized control types not to traverse
ElementLocalizedControlTypesNotToTraverse string

A comma separated list of UIA element localized control types to not traverse (step into) when searching the UIA tree for the target element. The search will still check if an individual element matches the search criteria, however it will not search any child elements of that element if its localized control type is on this exclusion list. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). This input is typically used to optimise element searching.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Name Path Type Description
Element exists
ElementExists boolean

Returns true if the element exists or false if not.

Element handle
ElementHandle integer

The UIA handle for the element. This can be used as an input to further UIA actions acting on this element.

Element name
ElementName string

The UIA name of the element.

Element class name
ElementClassName string

The UIA class name of the element.

Element automation Id
ElementAutomationId string

The UIA automation Id of the element.

Element localized control type
ElementLocalizedControlType string

The UIA localized control type of the element.

Wait for UIA desktop element to not exist

Waits for a desktop element (typically a window) to no longer exist.

Parameters

Name Key Required Type Description
Search element name
SearchElementName string

The optional UIA element name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element class name
SearchElementClassName string

The optional UIA element class name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element automation ID
SearchElementAutomationId string

The optional UIA element automation ID to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element localized control type
SearchLocalizedControlType string

The optional UIA element localized control type to search for (starting from the parent window handle). This can be discovered via Inspection.

Search process Id
SearchProcessId integer

If specified (a value of 1 or higher) then the search will only consider elements owned by a process with this Process ID (PID). If IA-Connect launched the process then the PID is provided by the 'Run Process' action in the IA-Connect Environment / Session actions. If you don't know the PID then leave this field blank (or 0).

Search UIA subtree
SearchSubTree boolean

If set to true then the whole UIA tree below the parent window handle will be searched. This is more thorough but can take longer. If set to false, only elements directly below the parent window handle in the UIA tree will be searched.

Seconds to wait
SecondsToWait True integer

The maximum number of seconds to wait for the element to not exist.

Match index
MatchIndex integer

If multiple elements match the search, which element (starting at 1) should be matched. Can be used in conjunction with 'Sort by column' to choose the sort order for matching.

Search filter
SearchFilter string

An optional advanced filter to further restrict the search using conditional operators and any element field. Example 1: [Width] < 200. Example 2: [Name] like 'Document*' AND [ClassName] like 'Label*'. See the documentation for more examples.

Sort by column name
SortByColumn string

If multiple elements match the search, this allows you to specify which element property to sort by. This will be used in conjunction with 'Match index' to pick the required element. For example: If 'Sort by column name' is [TopEdge] and 'Match index' is 1 then the matching element nearest the top of the screen will be matched.

Match index is ascending
MatchIndexAscending boolean

If multiple elements match the search, should 'Match index' match from the top of the sorted list (true) or from the bottom of the sorted list (false).

Include child processes
IncludeChildProcesses boolean

If set to true and a 'Search process Id' is specified, child processes of that process Id are also included in the search. If set to false then only a process matching the exact 'Search process Id' will be returned.

Raise exception if element still exists
RaiseExceptionIfElementStillExists boolean

Should IA-Connect raise an exception if the UIA element still exists after the wait period?

Maximum elements to search
MaxElementsToSearch integer

The maximum number of elements to search when looking for the target element in the UIA tree. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Maximum relative search depth
MaxRelativeSearchDepth integer

The maximum relative tree depth to search for child elements beneath the parent element. Direct child elements will have a depth value of 1. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). Set to 0 for an unlimited search depth. This input is typically used to optimise element searching.

Maximum child elements to search per node
MaxChildElementsToSearchPerNode integer

The maximum number of child elements to search beneath each element when searching the UIA tree for the target element. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Element localized control types not to traverse
ElementLocalizedControlTypesNotToTraverse string

A comma separated list of UIA element localized control types to not traverse (step into) when searching the UIA tree for the target element. The search will still check if an individual element matches the search criteria, however it will not search any child elements of that element if its localized control type is on this exclusion list. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). This input is typically used to optimise element searching.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Name Path Type Description
Element exists before wait
ElementExistsBeforeWait boolean

Returns true if the element existed before waiting or false if not.

Element exists after wait
ElementExistsAfterWait boolean

Returns true if the element existed after waiting or false if not.

Wait for UIA element

Waits for an element (typically an individual element within a window such as a button or a text input area) to exist.

Parameters

Name Key Required Type Description
Parent window handle
ParentWindowHandle True integer

The parent UIA window handle (a value of 1 or higher) to act as the starting point for the search. This can be discovered via Inspection using actions like 'Wait for desktop element' or 'Wait for element'.

Search element name
SearchElementName string

The optional UIA element name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element class name
SearchElementClassName string

The optional UIA element class name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element automation ID
SearchElementAutomationId string

The optional UIA element automation ID to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element localized control type
SearchLocalizedControlType string

The optional UIA element localized control type to search for (starting from the parent window handle). This can be discovered via Inspection.

Search process Id
SearchProcessId integer

If specified (a value of 1 or higher) then the search will only consider elements owned by a process with this Process ID (PID). If IA-Connect launched the process then the PID is provided by the 'Run Process' action in the IA-Connect Environment / Session actions. If you don't know the PID then leave this field blank (or 0).

Search UIA subtree
SearchSubTree boolean

If set to true then the whole UIA tree below the parent window handle will be searched. This is more thorough but can take longer. If set to false, only elements directly below the parent window handle in the UIA tree will be searched.

Return element handle
ReturnElementHandle boolean

If set to true, a handle to the located element will be returned. This handle can be used in further actions to act as a 'parent' handle.

Seconds to wait
SecondsToWait True integer

The maximum number of seconds to wait for the element to exist.

Match index
MatchIndex integer

If multiple elements match the search, which element (starting at 1) should be matched. Can be used in conjunction with 'Sort by column' to choose the sort order for matching.

Search filter
SearchFilter string

An optional advanced filter to further restrict the search using conditional operators and any element field. Example 1: [Width] < 200. Example 2: [Name] like 'Document*' AND [ClassName] like 'Label*'. See the documentation for more examples.

Sort by column name
SortByColumn string

If multiple elements match the search, this allows you to specify which element property to sort by. This will be used in conjunction with 'Match index' to pick the required element. For example: If 'Sort by column name' is [TopEdge] and 'Match index' is 1 then the matching element nearest the top of the screen will be matched.

Match index is ascending
MatchIndexAscending boolean

If multiple elements match the search, should 'Match index' match from the top of the sorted list (true) or from the bottom of the sorted list (false).

Include child processes
IncludeChildProcesses boolean

If set to true and a 'Search process Id' is specified, child processes of that process Id are also included in the search. If set to false then only a process matching the exact 'Search process Id' will be returned.

Raise exception if element not found
RaiseExceptionIfElementNotFound boolean

Should IA-Connect raise an exception if the UIA element does not exist after the wait period?

Maximum elements to search
MaxElementsToSearch integer

The maximum number of elements to search when looking for the target element in the UIA tree. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Maximum relative search depth
MaxRelativeSearchDepth integer

The maximum relative tree depth to search for child elements beneath the parent element. Direct child elements will have a depth value of 1. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). Set to 0 for an unlimited search depth. This input is typically used to optimise element searching.

Maximum child elements to search per node
MaxChildElementsToSearchPerNode integer

The maximum number of child elements to search beneath each element when searching the UIA tree for the target element. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Element localized control types not to traverse
ElementLocalizedControlTypesNotToTraverse string

A comma separated list of UIA element localized control types to not traverse (step into) when searching the UIA tree for the target element. The search will still check if an individual element matches the search criteria, however it will not search any child elements of that element if its localized control type is on this exclusion list. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). This input is typically used to optimise element searching.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Name Path Type Description
Element exists
ElementExists boolean

Returns true if the element exists or false if not.

Element handle
ElementHandle integer

The UIA handle for the element. This can be used as an input to further UIA actions acting on this element.

Element name
ElementName string

The UIA name of the element.

Element class name
ElementClassName string

The UIA class name of the element.

Element automation Id
ElementAutomationId string

The UIA automation Id of the element.

Element localized control type
ElementLocalizedControlType string

The UIA localized control type of the element.

Wait for UIA element to not exist

Waits for an element (typically an individual element within a window such as a button or a text input area) to no longer exist.

Parameters

Name Key Required Type Description
Parent window handle
ParentWindowHandle True integer

The parent UIA window handle (a value of 1 or higher) to act as the starting point for the search. This can be discovered via Inspection using actions like 'Wait for desktop element' or 'Wait for element'.

Search element name
SearchElementName string

The optional UIA element name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element class name
SearchElementClassName string

The optional UIA element class name to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element automation ID
SearchElementAutomationId string

The optional UIA element automation ID to search for (starting from the parent window handle). This can be discovered via Inspection.

Search element localized control type
SearchLocalizedControlType string

The optional UIA element localized control type to search for (starting from the parent window handle). This can be discovered via Inspection.

Search process Id
SearchProcessId integer

If specified (a value of 1 or higher) then the search will only consider elements owned by a process with this Process ID (PID). If IA-Connect launched the process then the PID is provided by the 'Run Process' action in the IA-Connect Environment / Session actions. If you don't know the PID then leave this field blank (or 0).

Search UIA subtree
SearchSubTree boolean

If set to true then the whole UIA tree below the parent window handle will be searched. This is more thorough but can take longer. If set to false, only elements directly below the parent window handle in the UIA tree will be searched.

Seconds to wait
SecondsToWait True integer

The maximum number of seconds to wait for the element to not exist.

Match index
MatchIndex integer

If multiple elements match the search, which element (starting at 1) should be matched. Can be used in conjunction with 'Sort by column' to choose the sort order for matching.

Search filter
SearchFilter string

An optional advanced filter to further restrict the search using conditional operators and any element field. Example 1: [Width] < 200. Example 2: [Name] like 'Document*' AND [ClassName] like 'Label*'. See the documentation for more examples.

Sort by column name
SortByColumn string

If multiple elements match the search, this allows you to specify which element property to sort by. This will be used in conjunction with 'Match index' to pick the required element. For example: If 'Sort by column name' is [TopEdge] and 'Match index' is 1 then the matching element nearest the top of the screen will be matched.

Match index is ascending
MatchIndexAscending boolean

If multiple elements match the search, should 'Match index' match from the top of the sorted list (true) or from the bottom of the sorted list (false).

Include child processes
IncludeChildProcesses boolean

If set to true and a 'Search process Id' is specified, child processes of that process Id are also included in the search. If set to false then only a process matching the exact 'Search process Id' will be returned.

Raise exception if element still exists
RaiseExceptionIfElementStillExists boolean

Should IA-Connect raise an exception if the UIA element still exists after the wait period?

Maximum elements to search
MaxElementsToSearch integer

The maximum number of elements to search when looking for the target element in the UIA tree. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Maximum relative search depth
MaxRelativeSearchDepth integer

The maximum relative tree depth to search for child elements beneath the parent element. Direct child elements will have a depth value of 1. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). Set to 0 for an unlimited search depth. This input is typically used to optimise element searching.

Maximum child elements to search per node
MaxChildElementsToSearchPerNode integer

The maximum number of child elements to search beneath each element when searching the UIA tree for the target element. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). By default, this is set to 0 (unlimited). This input is typically used to optimise element searching.

Element localized control types not to traverse
ElementLocalizedControlTypesNotToTraverse string

A comma separated list of UIA element localized control types to not traverse (step into) when searching the UIA tree for the target element. The search will still check if an individual element matches the search criteria, however it will not search any child elements of that element if its localized control type is on this exclusion list. This input only works if the UIA element search mode is "Tree walk" (this can be enabled in the settings page in the Inspector). This input is typically used to optimise element searching.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Name Path Type Description
Element exists before wait
ElementExistsBeforeWait boolean

Returns true if the element existed before waiting or false if not.

Element exists after wait
ElementExistsAfterWait boolean

Returns true if the element existed after waiting or false if not.

Wait for UIA process Id main window

A simple and fast Win32 action which waits for a main window of a process (specified by Process ID) to exist and returns a handle. The 'Main' window is typically the main application window: a login dialog or sub-window is generally not the 'Main' window. It is recommended to use the action 'Wait for desktop element' which is more powerful.

Parameters

Name Key Required Type Description
Search process Id
ProcessId True integer

The Id of the process to wait for (as provided by the 'Run Process' action in the IA-Connect Environment / Session actions).

Seconds to wait
SecondsToWait True integer

The maximum number of seconds to wait for the process main window.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Name Path Type Description
Element exists
ElementExists boolean

Returns true if the element exists or false if not.

Window handle
WindowHandle integer

The UIA handle for the window. This can be used as an input to further UIA actions within this window.

Element name
ElementName string

The UIA name of the window element.

Element class name
ElementClassName string

The UIA class name of the window element.

Element automation Id
ElementAutomationId string

The UIA automation Id of the window element.

Element localized control type
ElementLocalizedControlType string

The UIA localized control type of the window element.

Wait for UIA process main window

A simple and fast Win32 action which waits for a specified time for the main window of a process (specified by name) to exist before returning a handle. The 'Main' window is typically the main application window: a login dialog or sub-window is generally not the 'Main' window. It is recommended to use the action 'Wait for desktop element' which is more powerful.

Parameters

Name Key Required Type Description
Search process name
SearchProcessName True string

The name of the process to search for, e.g. notepad.

Seconds to wait
SecondsToWait True integer

The maximum number of seconds to wait for the process main window.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Name Path Type Description
Window handle
WindowHandle integer

The UIA handle for the window. This can be used as an input to further UIA actions within this window.

Element name
ElementName string

The UIA name of the window element.

Element class name
ElementClassName string

The UIA class name of the window element.

Element automation Id
ElementAutomationId string

The UIA automation Id of the window element.

Element localized control type
ElementLocalizedControlType string

The UIA localized control type of the window element.

Element exists
ElementExists boolean

Returns true if the window exists or false if not.

Wait for UIA top level Win32 window

A fast Win32 action which waits for a specified time for a top-level Win32 window to exist before returning a UIA handle. A top-level window is one which is connected to the desktop. You can search by class name or window title, or you can specify more advanced search filters, including wildcards. Although this action uses Win32 APIs, it can detect Windows, Java, ModernUI and Web windows. It is more common to use the UIA action 'Wait for desktop element' which is more powerful, but this Win32 action typically executes faster.

Parameters

Name Key Required Type Description
Search class name
SearchClassName string

The element class name of the top level window to search for, e.g. 'Notepad'.

Search window title
SearchWindowTitle string

The title of the top level window to search for.

Seconds to wait
SecondsToWait True integer

The maximum number of seconds to wait for the window to exist.

Search process Id
SearchProcessId integer

The optional process Id of the process which owns the window (for example, as provided by the output of the 'Run Process' action in the IA-Connect Environment / Session actions). Set to 0 to not search by process Id.

Match index
MatchIndex integer

If multiple elements match the search, which element (starting at 1) should be matched. Can be used in conjunction with 'Sort by column' to choose the sort order for matching.

Search filter
SearchFilter string

An optional advanced filter to further restrict the search using conditional operators against available window properties. Example 1: [Width] < 200. Example 2: [Title] like '*Excel' AND [IsMinimised] = False AND [IsResizeable] = True. See the documentation for more examples.

Sort by column name
SortByColumn string

If multiple windows match the search, this allows you to specify which window property to sort by. This will be used in conjunction with 'Match index' to pick the required window. For example: If 'Sort by column name' is [TopEdge] and 'Match index' is 1 then the matching window nearest the top of the screen will be returned.

Match index is ascending
MatchIndexAscending boolean

If multiple windows match the search, should 'Match index' match from the top of the sorted list (true) or from the bottom of the sorted list (false).

Raise exception if window not found
RaiseExceptionIfWindowNotFound boolean

Should IA-Connect raise an exception if the search Win32 window does not exist after the wait period?

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Name Path Type Description
Window handle
WindowHandle integer

The UIA handle for the window. This can be used as an input to further UIA actions within this window.

Element name
ElementName string

The UIA name of the window element.

Element class name
ElementClassName string

The UIA class name of the window element.

Element automation Id
ElementAutomationId string

The UIA automation Id of the window element.

Element localized control type
ElementLocalizedControlType string

The UIA localized control type of the window element.

Element exists
ElementExists boolean

Returns true if the window exists or false if not.