IA-Connect Dynamic Code (Preview)

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 developing dynamic code modules.

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

Add assembly search folder

Adds a folder path (on the computer where the IA-Connect Agent is running) to the list of folders for the IA-Connect Agent to scan when it tries to load an external reference.

Clear assembly search folders

Reset the additional list of folders for the IA-Connect Agent to scan when it tries to load an external reference.

Create JSON from input variables

Takes an array of input variables and returns in JSON format and optionally as a JSON table.

Delete columns from a JSON table

Takes an input table in JSON format, deletes a column or columns and returns a new table in JSON format. If you want to delete columns from a actual table (i.e. not in JSON format), use the action 'Delete columns from a table'.

Delete columns from a table

Takes an input table, deletes a column or columns and returns a new table. If you want to delete columns from a table in JSON format, use the action 'Delete columns from a JSON table'.

Delete items from a string array

Takes an input array of string items, deletes an item or items at a specified position and returns a new array. If you want to delete a row or rows from a table, use the action 'Delete a row from a table'. If you want to delete a row or rows from a table in JSON format, use the action 'Delete a row from a JSON table'.

Delete rows from a JSON table

Takes an input table in JSON format, deletes a row or rows at a specified position and returns a new table in JSON format. If you want to delete a row or rows from an actual table (i.e. not in JSON format), use the action 'Delete a row from a table'. If you want to delete a row or rows from a string array, use the action 'Delete a row from a string array'.

Delete rows from a table

Takes an input table, deletes a row or rows at a specified position and returns a new table. If you want to delete a row or rows from a string array, use the action 'Delete a row from a string array'. If you want to delete a row or rows from a table in JSON format, use the action 'Delete a row from a JSON table'.

Filter JSON table

Takes an input JSON table, filters the table (using .NET DataView rowfilter syntax) and returns a new JSON table. If you want to filter an actual table (i.e. not in JSON format), use the action 'Filter table'. If you want to filter a string array, use the action 'Filter string array'.

Filter string array

Takes an input array of string items, filters the array (using .NET DataView rowfilter syntax) and returns a new array. If you want to filter a table, use the action 'Filter table'. If you want to filter a table in JSON format, use the action 'Filter JSON table'.

Filter table

Takes an input table, filters the table (using .NET DataView rowfilter syntax) and returns a new table. If you want to filter a table in JSON format, use the action 'Filter JSON table'. If you want to filter a string array, use the action 'Filter string array'.

Get IA-Connect lookup table summary

Retrieves a summary of the lookup tables currently loaded into the IA-Connect Agent.

Get JSON table from string array

Takes an input array of string items and returns as a JSON table.

Get PowerShell version

Gets the version of PowerShell in the session where the IA-Connect Agent is running. This detects Microsoft PowerShell v3.x to v5.x, not PowerShell core (6.x onwards).

Get regular expression group matches

Performs a regular expression (regex) match on an input string and returns a list of matched group names and values.

Get regular expression match

Performs a regular expression (regex) match on an input string and returns whether the string matched the expression and details of the match.

Get regular expression matches

Performs a regular expression (regex) match on an input string and returns all matches in a string array. The array will be empty if there were no matches.

Get string array from JSON table column

Takes an input table in JSON format and returns a specified column as a string array. If you want to get a string array from an actual table (i.e. not in JSON format), use the action 'Get array from table'.

Get string array from table column

Takes an input table and returns a specified column as a string array. If you want to get a string array from a table in JSON format, use the action 'Get array from JSON table'.

Get string between

Takes an input string and returns the first instance of a string that is located between two specified strings or between a string and the end of the line.

Get string from JSON table cell

Takes an input table in JSON format and returns a specified cell as a string.

Get table from JSON

Takes an input table in JSON format and returns as a table. This is known as deserialization.

Get table from string array

Takes an input array of string items and returns as a table.

Import assembly from local file

Uploads a DotNet assembly from the computer where the IA-Connect Director is running to the IA-Connect Agent where it is loaded into memory and will be used if referenced by dynamic DotNet code.

Insert a row into a JSON table

Takes an input table in JSON format, inserts a row at a specified position and returns a new table in JSON format. If you want to insert a row into an actual table (i.e. not in JSON format), use the action 'Insert a row into a table'. If you want to insert a string into a string array, use the action 'Insert a row into a string array'.

Insert a row into a string array

Takes an input array of string items, inserts a row at a specified position and returns a new array. If you want to insert a row into a table, use the action 'Insert a row into a table'. If you want to insert a row into a table in JSON format, use the action 'Insert a row into a JSON table'.

Insert a row into a table

Takes an input table, inserts a row at a specified position and returns a new table. If you want to insert a string into a string array, use the action 'Insert a row into a string array'. If you want to insert a row into a table in JSON format, use the action 'Insert a row into a JSON table'.

Insert a row of input variables into a JSON table

Takes an input table in JSON format, inserts a row created from input variables at a specified position and returns a new table in JSON format. The input row schema should match that of the input table (i.e. Use the same property names and data types). If you want to insert a row into an actual table (i.e. not in JSON format), use the action 'Insert a row into a table'. If you want to insert a string into a string array, use the action 'Insert a row into a string array'.

Is PowerShell automation installed

Reports whether PowerShell automation is available on the computer where the IA-Connect Agent is running. If PowerShell automation is not available, PowerShell automation actions will not work.

Is PowerShell module installed

Searches for a specified PowerShell module on the computer where the IA-Connect Agent is running and returns whether it is installed.

Load IA-Connect lookup table

Loads an IA-Connect lookup table from the computer where the IA-Connect Agent is running. These lookup tables can be used by further IA-Connect actions to perform data lookups.

Lookup columns from IA-Connect lookup table

Retrieves one or more columns with a common name from a lookup table currently loaded into the IA-Connect Agent and returns as a table. For example, the lookup table could contain multiple output columns named 'AD group' to represent multiple AD groups and they will be returned as separate rows in the output table.

Lookup value from IA-Connect lookup table

Retrieves a value from a lookup table currently loaded into the IA-Connect Agent.

Remove all IA-Connect lookup tables

Removes all lookup tables currently loaded into the IA-Connect Agent.

Remove characters from string

Takes an input string and returns it with specified characters removed. If the specified characters are not located, the original string will be returned.

Remove IA-Connect lookup table

Removes a lookup table currently loaded into the IA-Connect Agent.

Rename a column in a JSON table

Takes an input table in JSON format, renames a specified column and returns a new table in JSON format. If you want to rename a column from an actual table (i.e. not in JSON format), use the action 'Rename a column in a table'.

Rename a column in a table

Takes an input table, renames a specified column and returns a new table. If you want to rename a column from a table in JSON format, use the action 'Rename a column in a JSON table'.

Run PowerShell script

Runs a PowerShell script in the session where the IA-Connect Agent is running, where the script contents are passed to the IA-Connect Agent in the 'PowerShell script contents' (PowerShellScriptContents) input. This is the recommended action for running your own custom PowerShell code. This action can also be used to retrieve the results from a previous execution of a PowerShell script, run as an Agent thread. The Agent executes the PowerShell using Microsoft PowerShell v3.x to v5.x (whichever version is installed), not PowerShell core (6.x onwards).

Sort JSON table

Takes an input JSON table, sorts the table and returns a new JSON table. If you want to sort an actual table (i.e. not in JSON format), use the action 'Sort table'. If you want to sort a string array, use the action 'Sort string array'.

Sort string array

Takes an input array of string items, sorts the array and returns a new array. If you want to sort a table, use the action 'Sort table'. If you want to sort a table in JSON format, use the action 'Sort JSON table'.

Sort table

Takes an input table, sorts one or more rows and returns a new table. If you want to sort a table in JSON format, use the action 'Sort JSON table'. If you want to sort a string array, use the action 'Sort string array'.

Split string using a regular expression

Splits an input string using a regular expression (regex) match and returns the individual split components of the string as a string array.

Add assembly search folder

Adds a folder path (on the computer where the IA-Connect Agent is running) to the list of folders for the IA-Connect Agent to scan when it tries to load an external reference.

Parameters

Name Key Required Type Description
Folder path
FolderPath True string

The path to the folder to be added to the list of folders for the IA-Connect Agent to scan when it tries to load an external reference.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Clear assembly search folders

Reset the additional list of folders for the IA-Connect Agent to scan when it tries to load an external reference.

Parameters

Name Key Required Type Description
Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Create JSON from input variables

Takes an array of input variables and returns in JSON format and optionally as a JSON table.

Parameters

Name Key Required Type Description
Property name
PropertyName string
Property data type
DataType string
Property value
Value string
Return as JSON table
ReturnAsJSONTable True boolean

If set to true, the JSON will be returned in a table / datatable format (i.e. in the format [{}]). If set to false, the JSON will be returned as a single entity (i.e. in the format {}). Which format to use depends on what you are doing with the JSON. Most IA-Connect actions expect datatable format.

Returns

Name Path Type Description
Output JSON
OutputJSON string

The variables and their values encoded in JSON format.

Delete columns from a JSON table

Takes an input table in JSON format, deletes a column or columns and returns a new table in JSON format. If you want to delete columns from a actual table (i.e. not in JSON format), use the action 'Delete columns from a table'.

Parameters

Name Key Required Type Description
Input JSON table
JSONTable True string

The input table in JSON format.

Start column index
StartColumnIndex integer

The index of the column to start deleting at. Use 1 to delete the first column, N to delete the Nth column. If you wish to delete a column by name, leave this input blank and use the input 'Column name to delete' instead.

Column name to delete
ColumnNameToDelete string

The optional name of the column to delete. If you wish to delete a column by index, leave this input blank and use the input 'Start column index' instead.

Number of columns to delete
NumberOfColumnsToDelete True integer

The number of columns to delete, starting at the specified index or name.

Returns

Name Path Type Description
Output JSON table
OutputJSONTable string

The output table in JSON format.

Number of rows
NumberOfRows integer

The number of rows in the output table.

Number of columns
NumberOfColumns integer

The number of columns in the output table.

Delete columns from a table

Takes an input table, deletes a column or columns and returns a new table. If you want to delete columns from a table in JSON format, use the action 'Delete columns from a JSON table'.

Parameters

Name Key Required Type Description
Input table
Input table object
Start column index
StartColumnIndex integer

The index of the column to start deleting at. Use 1 to delete the first column, N to delete the Nth column. If you wish to delete a column by name, leave this input blank and use the input 'Column name to delete' instead.

Column name to delete
ColumnNameToDelete string

The optional name of the column to delete. If you wish to delete a column by index, leave this input blank and use the input 'Start column index' instead.

Number of columns to delete
NumberOfColumnsToDelete True integer

The number of columns to delete, starting at the specified index or name.

Returns

Name Path Type Description
Output table
OutputTable array of object

The output table.

items
OutputTable object
Number of rows
NumberOfRows integer

The number of rows in the output table.

Number of columns
NumberOfColumns integer

The number of columns in the output table.

Delete items from a string array

Takes an input array of string items, deletes an item or items at a specified position and returns a new array. If you want to delete a row or rows from a table, use the action 'Delete a row from a table'. If you want to delete a row or rows from a table in JSON format, use the action 'Delete a row from a JSON table'.

Parameters

Name Key Required Type Description
Input array
InputArray True array of string

The input array of strings.

Start item index
StartItemIndex True integer

The index of the item to start deleting at. Use 1 to delete the first item, N to delete the Nth item.

Number of items to delete
NumberOfItemsToDelete True integer

The number of items to delete.

Returns

Name Path Type Description
Output array
OutputArray array of string

The output array of strings.

Number of items
NumberOfItems integer

The number of items in the output array.

Delete rows from a JSON table

Takes an input table in JSON format, deletes a row or rows at a specified position and returns a new table in JSON format. If you want to delete a row or rows from an actual table (i.e. not in JSON format), use the action 'Delete a row from a table'. If you want to delete a row or rows from a string array, use the action 'Delete a row from a string array'.

Parameters

Name Key Required Type Description
Input JSON table
JSONTable True string

The input table in JSON format.

Start row index
StartRowIndex True integer

The index of the row to start deleting at. Use 1 to delete the first row, N to delete the Nth row.

Number of rows to delete
NumberOfRowsToDelete True integer

The number of rows to delete.

Returns

Name Path Type Description
Output JSON table
OutputJSONTable string

The output table in JSON format.

Number of rows
NumberOfRows integer

The number of rows in the output table.

Number of columns
NumberOfColumns integer

The number of columns in the output table.

Delete rows from a table

Takes an input table, deletes a row or rows at a specified position and returns a new table. If you want to delete a row or rows from a string array, use the action 'Delete a row from a string array'. If you want to delete a row or rows from a table in JSON format, use the action 'Delete a row from a JSON table'.

Parameters

Name Key Required Type Description
Input table
Input table object
Start row index
StartRowIndex True integer

The index of the row to start deleting at. Use 1 to delete the first row, N to delete the Nth row.

Number of rows to delete
NumberOfRowsToDelete True integer

The number of rows to delete.

Returns

Name Path Type Description
Output table
OutputTable array of object

The output table.

items
OutputTable object
Number of rows
NumberOfRows integer

The number of rows in the output table.

Number of columns
NumberOfColumns integer

The number of columns in the output table.

Filter JSON table

Takes an input JSON table, filters the table (using .NET DataView rowfilter syntax) and returns a new JSON table. If you want to filter an actual table (i.e. not in JSON format), use the action 'Filter table'. If you want to filter a string array, use the action 'Filter string array'.

Parameters

Name Key Required Type Description
Input JSON table
JSONTable True string

The input table in JSON format.

Filter
Filter True string

The filter in .NET DataView rowfilter syntax. For example: [Name] like '*Element'.

Sort column name
SortColumnName string

An optional column name to sort by, after applying the filter. If you wish to sort by multiple columns then list the columns comma separated.

Sort ascending
Ascending boolean

Set to true to sort in an ascending order. Set to false to sort in a descending order.

Sort column name 2
SortColumnName2 string

An optional second column name to sort by (after sorting by the first column).

Sort ascending 2
Ascending2 boolean

Set to true to sort the second column name in an ascending order. Set to false to sort in a descending order.

Sort column name 3
SortColumnName3 string

An optional third column name to sort by (after sorting by the first and second columns).

Sort ascending 3
Ascending3 boolean

Set to true to sort the third column name in an ascending order. Set to false to sort in a descending order.

Returns

Name Path Type Description
Output JSON table
OutputJSONTable string

The output table in JSON format.

Number of rows
NumberOfRows integer

The number of rows in the output table.

Number of columns
NumberOfColumns integer

The number of columns in the output table.

Filter string array

Takes an input array of string items, filters the array (using .NET DataView rowfilter syntax) and returns a new array. If you want to filter a table, use the action 'Filter table'. If you want to filter a table in JSON format, use the action 'Filter JSON table'.

Parameters

Name Key Required Type Description
Input array
InputArray True array of string

The input array of strings.

Column name
ColumnName True string

The name to use for the table column holding the array during the filter operation. This name can then be used as the column name in the .NET DataView rowfilter syntax. For example MyColumn which can then be referred to as [MyColumn].

Filter
Filter True string

The filter in .NET DataView rowfilter syntax. For example: [Name] like '*Element'.

Returns

Name Path Type Description
Filtered output array
OutputArray array of string

The filtered output array of strings.

Number of items
NumberOfItems integer

The number of items in the output array.

Filter table

Takes an input table, filters the table (using .NET DataView rowfilter syntax) and returns a new table. If you want to filter a table in JSON format, use the action 'Filter JSON table'. If you want to filter a string array, use the action 'Filter string array'.

Parameters

Name Key Required Type Description
Input table
Input table object
Filter
Filter True string

The filter in .NET DataView rowfilter syntax. For example: [Name] like '*Element'.

Sort column name
SortColumnName string

An optional column name to sort by, after applying the filter. If you wish to sort by multiple columns then list the columns comma separated.

Sort ascending
Ascending boolean

Set to true to sort in an ascending order. Set to false to sort in a descending order.

Sort column name 2
SortColumnName2 string

An optional second column name to sort by (after sorting by the first column).

Sort ascending 2
Ascending2 boolean

Set to true to sort the second column name in an ascending order. Set to false to sort in a descending order.

Sort column name 3
SortColumnName3 string

An optional third column name to sort by (after sorting by the first and second columns).

Sort ascending 3
Ascending3 boolean

Set to true to sort the third column name in an ascending order. Set to false to sort in a descending order.

Returns

Name Path Type Description
Output table
OutputTable array of object

The output table.

items
OutputTable object
Number of rows
NumberOfRows integer

The number of rows in the output table.

Number of columns
NumberOfColumns integer

The number of columns in the output table.

Get IA-Connect lookup table summary

Retrieves a summary of the lookup tables currently loaded into the IA-Connect Agent.

Parameters

Name Key Required Type Description
Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Name Path Type Description
Lookup tables JSON
LookupTablesJSON array of object

The lookup tables loaded into the IA-Connect Agent.

Name
LookupTablesJSON.Name string
ThenColumnIndex
LookupTablesJSON.ThenColumnIndex integer
NumberOfRows
LookupTablesJSON.NumberOfRows integer
NumberOfColumns
LookupTablesJSON.NumberOfColumns integer
NumberOfUniqueHeaderProperties
LookupTablesJSON.NumberOfUniqueHeaderProperties integer
Number of lookup tables
NumberOfLookupTables integer

The number of lookup tables currently loaded into the IA-Connect Agent.

Get JSON table from string array

Takes an input array of string items and returns as a JSON table.

Parameters

Name Key Required Type Description
Input array
InputArray True array of string

The input array of strings.

Column name
ColumnName True string

The name to use for the table column.

Drop empty items
DropEmptyItems boolean

Set to true to ignore (drop) empty items in the array. Set to false to include all items.

Returns

Name Path Type Description
Output JSON table
OutputJSONTable string

The output table in JSON format.

Number of rows
NumberOfRows integer

The number of rows in the output table.

Number of columns
NumberOfColumns integer

The number of columns in the output table (should always be 1).

Get PowerShell version

Gets the version of PowerShell in the session where the IA-Connect Agent is running. This detects Microsoft PowerShell v3.x to v5.x, not PowerShell core (6.x onwards).

Parameters

Name Key Required Type Description
Computer name
ComputerName string

The name of the computer to check the PowerShell version. If left blank, the computer where the IA-Connect Agent is running will be used.

Authentication mechanism
AuthenticationMechanism string

The authentication mechanism to be used if connecting to a remote computer or running the script as an alternative user. Supported values are 'Basic', 'Credssp', 'Default', 'Digest', 'Kerberos' and 'Negotiate'.

Connection attempts
ConnectionAttempts integer

The number of connections to attempt if connecting to a remote computer.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Name Path Type Description
PowerShell major version
PowerShellMajorVersion integer

The major (integer) version of PowerShell. For example: PowerShell 5.1 would return 5.

PowerShell minor version
PowerShellMinorVersion integer

The minor (after the decimal place) version of PowerShell. For example: PowerShell 5.1 would return 1.

Get regular expression group matches

Performs a regular expression (regex) match on an input string and returns a list of matched group names and values.

Parameters

Name Key Required Type Description
Input text to match
TextToMatch True string

The input text to match against the regular expression.

Regular expression
Regex True string

The regular expression to match the input text against.

Groups to retrieve
GroupsToRetrieve array of string

A string array containing the names of the regular expression groups to retrieve. If a blank array is provided, all groups are retrieved. For example: If a regular expression contains (?(Yes|No)) and you specify that the 'NeedsUpdating' group should be retrieved, then the matched value of that named group will be returned.

Search index
SearchIndex integer

The index of the match result to retrieve, starting at 1. If you want to match the first result (the default behaviour), enter 1. For example: If an input string is expected to match the regular expression in 5 places and you are interested in the 4th match, enter 4.

Case sensitive match
CaseSensitive boolean

Set to true (the default) for a case-sensitive match (e.g. A is not a) or set to false for a case-insensitive match (e.g. A and a are treated as identical).

Regex timeout in seconds
RegexTimeoutInSeconds integer

The maximum number of seconds the regular expression can be processed before timing-out. This stops infinite loops caused by certain regular expressions.

Returns

Name Path Type Description
Regular expression groups
RegexGroups array of object

An array containing the names and values of the regular expression groups matched against the input string.

Property
RegexGroups.Property string
Value
RegexGroups.Value string
Number of groups
NumberOfRegexGroups integer

The number of regular expression groups.

Get regular expression match

Performs a regular expression (regex) match on an input string and returns whether the string matched the expression and details of the match.

Parameters

Name Key Required Type Description
Input text to match
TextToMatch True string

The input text to match against the regular expression.

Regular expression
Regex True string

The regular expression to match the input text against.

Search index
SearchIndex integer

The index of the match result to retrieve, starting at 1. If you want to match the first result (the default behaviour), enter 1. For example: If an input string is expected to match the regular expression in 5 places and you are interested in the 4th match, enter 4.

Case sensitive match
CaseSensitive boolean

Set to true (the default) for a case-sensitive match (e.g. A is not a) or set to false for a case-insensitive match (e.g. A and a are treated as identical).

Regex timeout in seconds
RegexTimeoutInSeconds integer

The maximum number of seconds the regular expression can be processed before timing-out. This stops infinite loops caused by certain regular expressions.

Returns

Name Path Type Description
Successful match
SuccessfulMatch boolean

True if there was a successful match (at the specified search index) or false if there was not.

Match string value
MatchStringValue string

If there was a successful match, this string value holds the text from the input text which matched the regular expression.

Match position index
MatchIndex integer

If there was a successful match, this value holds the position within the input text to match where the match is located. This value starts at 0 which represents the very start of the input text string.

Match string length
MatchStringLength integer

If there was a successful match, this value holds the length of the text from the input text which matched the regular expression (i.e. the length of the output value 'Match string value').

Get regular expression matches

Performs a regular expression (regex) match on an input string and returns all matches in a string array. The array will be empty if there were no matches.

Parameters

Name Key Required Type Description
Input text to match
TextToMatch True string

The input text to match against the regular expression.

Regular expression
Regex True string

The regular expression to match the input text against.

Maximum matches to perform
MaximumMatches integer

The maximum amount of regular expression matches to perform. For an unlimited number of matches (i.e. keep matching until there are no more matches) enter no value or a value of 0 (the default). This input is designed to avoid infinite regular expression loops by putting a limit on the number of matches.

Case sensitive match
CaseSensitive boolean

Set to true (the default) for a case-sensitive match (e.g. A is not a) or set to false for a case-insensitive match (e.g. A and a are treated as identical).

Trim results
TrimResults boolean

Set to true (the default) if each individual output array element should be trimmed.

Remove empty results
RemoveEmptyResults boolean

Set to true if empty output array elements should be removed from the output array (i.e. you don't want empty results).

Regex timeout in seconds
RegexTimeoutInSeconds integer

The maximum number of seconds the regular expression can be processed before timing-out. This stops infinite loops caused by certain regular expressions.

Returns

Name Path Type Description
Output array
OutputArray array of object

The output string array which contains the individual regular expression matches.

items
OutputArray object
Number of elements in output
NumberOfElementsInOutput integer

The number of elements in the output array.

Get string array from JSON table column

Takes an input table in JSON format and returns a specified column as a string array. If you want to get a string array from an actual table (i.e. not in JSON format), use the action 'Get array from table'.

Parameters

Name Key Required Type Description
Input JSON table
JSONTable True string

The input table in JSON format.

Column index
ColumnIndex integer

The index of the column to return as an array. Use 1 for the first column, N for the Nth column. If you wish to retrieve a column by name, leave this input blank and use the input 'Column name' instead.

Column name
ColumnName string

The optional name of the column to return as an array. If you wish to retrieve a column by index, leave this input blank and use the input 'Column index' instead.

Returns

Name Path Type Description
Output array
OutputArray array of string

The output array of strings.

Number of items
NumberOfItems integer

The number of items in the output array.

Get string array from table column

Takes an input table and returns a specified column as a string array. If you want to get a string array from a table in JSON format, use the action 'Get array from JSON table'.

Parameters

Name Key Required Type Description
Input table
Input table object
Column index
ColumnIndex integer

The index of the column to return as an array. Use 1 for the first column, N for the Nth column. If you wish to retrieve a column by name, leave this input blank and use the input 'Column name' instead.

Column name
ColumnName string

The optional name of the column to return as an array. If you wish to retrieve a column by index, leave this input blank and use the input 'Column index' instead.

Returns

Name Path Type Description
Output array
OutputArray array of string

The output array of strings.

Number of items
NumberOfItems integer

The number of items in the output array.

Get string between

Takes an input string and returns the first instance of a string that is located between two specified strings or between a string and the end of the line.

Parameters

Name Key Required Type Description
Input string
InputString string

The input string upon which the search is performed.

Start search string
StartSearchString string

The start search string.

End search string
EndSearchString string

The end search string or leave blank if searching to the end of the line.

Search line by line
SearchLineByLine boolean

Set to true if you want to search the input string line by line and for the result to only contain the matching string in the current line. Set to false to treat the input string as a single item.

Throw exception if not found
ThrowExceptionIfNotFound boolean

Set to true if you want an exception raised if the search string was not found, or set to false if the action should return 'String between found'=false when the search string was not found.

Trim result
TrimResult boolean

Set to true if you want spaces or tabs before or after the result to be trimmed.

Search is regular expression
SearchIsRegularExpression boolean

Set to true if the search strings are regular expressions. Set to false if the search strings are normal text.

Case sensitive search
CaseSensitiveSearch boolean

Set to true if the search should be case sensitive. Set to false for case insensitive searches.

Returns

Name Path Type Description
Search string found
SearchStringFound boolean

If 'Throw exception if not found' is set to false then this output is set to true if the search string was found, false if not.

String between
StringBetween string

The string found between the specified strings.

Get string from JSON table cell

Takes an input table in JSON format and returns a specified cell as a string.

Parameters

Name Key Required Type Description
Input JSON table
JSONTable True string

The input table in JSON format.

Row index
RowIndex integer

The index of the row containing the cell to retrieve. Use 1 for the first row, N for the Nth row.

Column index
ColumnIndex integer

The index of the column containing the cell to retrieve. Use 1 for the first column, N for the Nth column. If you wish to retrieve a column by name, leave this input blank and use the input 'Column name' instead.

Column name
ColumnName string

The optional name of the column containing the cell to retrieve. If you wish to retrieve a column by index, leave this input blank and use the input 'Column index' instead.

Returns

Name Path Type Description
Output string
OutputString string

The output cell contents as a string.

Get table from JSON

Takes an input table in JSON format and returns as a table. This is known as deserialization.

Parameters

Name Key Required Type Description
Input JSON table
JSONTable True string

The input table in JSON format.

Start row index
StartRowIndex True integer

The index of the first row to retrieve. Use 1 to start at the first row, N to start at the Nth row.

Number of rows to retrieve
NumberOfRowsToRetrieve integer

The number of rows to retrieve. Use 0 (or leave blank) to retrieve all rows.

Start column index
StartColumnIndex integer

The index of the first column to retrieve. Use 1 to start at the first column, N to start at the Nth column. If you wish to specify the first column to retrieve by name, leave this input blank and use the input 'Start column name' instead.

Start column name
StartColumnName string

The optional name of the first column to retrieve. If you wish to retrieve columns by index, leave this input blank and use the input 'Start column index' instead.

Number of columns to retrieve
NumberOfColumnsToRetrieve integer

The number of columns to retrieve. Use 0 (or leave blank) to retrieve all columns.

Returns

Name Path Type Description
Output table
OutputTable array of object

The output table.

items
OutputTable object
Number of rows
NumberOfRows integer

The number of rows in the output table.

Number of columns
NumberOfColumns integer

The number of columns in the output table (should always be 1).

Get table from string array

Takes an input array of string items and returns as a table.

Parameters

Name Key Required Type Description
Input array
InputArray True array of string

The input array of strings.

Column name
ColumnName True string

The name to use for the table column.

Drop empty items
DropEmptyItems boolean

Set to true to ignore (drop) empty items in the array. Set to false to include all items.

Returns

Name Path Type Description
Output table
OutputTable array of object

The output table.

items
OutputTable object
Number of rows
NumberOfRows integer

The number of rows in the output table.

Number of columns
NumberOfColumns integer

The number of columns in the output table (should always be 1).

Import assembly from local file

Uploads a DotNet assembly from the computer where the IA-Connect Director is running to the IA-Connect Agent where it is loaded into memory and will be used if referenced by dynamic DotNet code.

Parameters

Name Key Required Type Description
Local assembly file path
LocalAssemblyFilePath True string

The file path to the local assembly file in the local session (where the IA-Connect Director is running).

Assembly name
AssemblyName True string

The name of the assembly to be imported.

Compress
Compress boolean

Should the assembly be compressed before uploading?

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Insert a row into a JSON table

Takes an input table in JSON format, inserts a row at a specified position and returns a new table in JSON format. If you want to insert a row into an actual table (i.e. not in JSON format), use the action 'Insert a row into a table'. If you want to insert a string into a string array, use the action 'Insert a row into a string array'.

Parameters

Name Key Required Type Description
Input JSON table
JSONTable True string

The input table in JSON format.

Row index
RowIndex True integer

The index of the row to insert at. Use 0 to insert at the start of the table, 1 to insert after row 1, N to insert after row N. -1 or any number equal to or higher than the number of items in the table to insert at the end of the table (useful if you don't know how long the table is).

JSON row to insert
RowToInsertJSON string

The contents of the row to insert in JSON format. Leave blank if you want to insert an empty row. For example: To insert 'Simon' into the column 'Name' use {"Name":"Simon"} and to additionally insert 'England' into the column 'Country' use {"Name":"Simon","Country":"England"}.

Returns

Name Path Type Description
Output JSON table
OutputJSONTable string

The output table in JSON format.

Number of rows
NumberOfRows integer

The number of rows in the output table.

Number of columns
NumberOfColumns integer

The number of columns in the output table.

Insert a row into a string array

Takes an input array of string items, inserts a row at a specified position and returns a new array. If you want to insert a row into a table, use the action 'Insert a row into a table'. If you want to insert a row into a table in JSON format, use the action 'Insert a row into a JSON table'.

Parameters

Name Key Required Type Description
Input array
InputArray True array of string

The input array of strings.

Row index
RowIndex True integer

The index of the row to insert at. Use 0 to insert at the start of the array, 1 to insert after row 1, N to insert after row N. -1 or any number equal to or higher than the number of items in the array to insert at the end of the array (useful if you don't know how long the array is).

Value to insert
ValueToInsert string

The string value to insert in the new row. Leave blank if you want to insert an empty row.

Returns

Name Path Type Description
Output array
OutputArray array of string

The output array of strings.

Number of items
NumberOfItems integer

The number of items in the output array.

Insert a row into a table

Takes an input table, inserts a row at a specified position and returns a new table. If you want to insert a string into a string array, use the action 'Insert a row into a string array'. If you want to insert a row into a table in JSON format, use the action 'Insert a row into a JSON table'.

Parameters

Name Key Required Type Description
Input table
Input table object
Row index
RowIndex True integer

The index of the row to insert at. Use 0 to insert at the start of the table, 1 to insert after row 1, N to insert after row N. -1 or any number equal to or higher than the number of items in the table to insert at the end of the table (useful if you don't know how long the table is).

JSON row to insert
RowToInsertJSON string

The contents of the row to insert in JSON format. Leave blank if you want to insert an empty row. For example: To insert 'Simon' into the column 'Name' use {"Name":"Simon"} and to additionally insert 'England' into the column 'Country' use {"Name":"Simon","Country":"England"}.

Returns

Name Path Type Description
Output table
OutputTable array of object

The output table.

items
OutputTable object
Number of rows
NumberOfRows integer

The number of rows in the output table.

Number of columns
NumberOfColumns integer

The number of columns in the output table.

Insert a row of input variables into a JSON table

Takes an input table in JSON format, inserts a row created from input variables at a specified position and returns a new table in JSON format. The input row schema should match that of the input table (i.e. Use the same property names and data types). If you want to insert a row into an actual table (i.e. not in JSON format), use the action 'Insert a row into a table'. If you want to insert a string into a string array, use the action 'Insert a row into a string array'.

Parameters

Name Key Required Type Description
Input JSON table
JSONTable True string

The input table in JSON format.

Row index
RowIndex True integer

The index of the row to insert at. Use 0 to insert at the start of the table, 1 to insert after row 1, N to insert after row N. -1 or any number equal to or higher than the number of items in the table to insert at the end of the table (useful if you don't know how long the table is).

Property name
PropertyName string
Property data type
DataType string
Property value
Value string

Returns

Name Path Type Description
Output JSON table
OutputJSONTable string

The output table in JSON format.

Number of rows
NumberOfRows integer

The number of rows in the output table.

Number of columns
NumberOfColumns integer

The number of columns in the output table.

Is PowerShell automation installed

Reports whether PowerShell automation is available on the computer where the IA-Connect Agent is running. If PowerShell automation is not available, PowerShell automation actions will not work.

Parameters

Name Key Required Type Description
Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Name Path Type Description
Is PowerShell automation installed
PowerShellAutomationIsInstalled boolean

Returns true if PowerShell automation is available, or false if not.

Is PowerShell module installed

Searches for a specified PowerShell module on the computer where the IA-Connect Agent is running and returns whether it is installed.

Parameters

Name Key Required Type Description
PowerShell module
PowerShellModuleName True string

The name of the PowerShell module to search for.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Name Path Type Description
Is PowerShell module installed
PowerShellModuleIsInstalled boolean

Returns true if the specified PowerShell module is installed, or false if not.

Load IA-Connect lookup table

Loads an IA-Connect lookup table from the computer where the IA-Connect Agent is running. These lookup tables can be used by further IA-Connect actions to perform data lookups.

Parameters

Name Key Required Type Description
Lookup table path
Path True string

The full path to the lookup table. This must be accessible from the session where the IA-Connect Agent is running. If a folder is specified then all files beneath that folder are processed.

Raise exception if any table fails to load
RaiseExceptionIfAnyTableFailsToLoad True boolean

If set to true and any IA-Connect lookup table fails to load (for example if there is a problem in the table) then an exception will be raised. This is the default because if any table fails to load, this will usually result in an exception later in the process. If set to false then problem lookup tables will be ignored and only usable lookup tables will be loade3d.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Name Path Type Description
Number of lookup tables loaded
NumberOfLookupTablesLoaded integer

The number of lookup tables which were successfully loaded.

Number of lookup tables failed to load
NumberOfLookupTablesFailedToLoad integer

The number of lookup tables which failed to load. This will only be set if 'Raise exception if any table fails to load' is set to false, since otherwise there will be an exception.

Lookup columns from IA-Connect lookup table

Retrieves one or more columns with a common name from a lookup table currently loaded into the IA-Connect Agent and returns as a table. For example, the lookup table could contain multiple output columns named 'AD group' to represent multiple AD groups and they will be returned as separate rows in the output table.

Parameters

Name Key Required Type Description
Lookup table name
LookupTableName True string

The name of the lookup table loaded into the IA-Connect Agent.

Input data JSON
InputDataJSON string

Input data to use for the lookup, in JSON format.

Search result table column name
SearchResultTableColumnName True string

The name of one or more columns in the lookup table which hold the values to return in the output table.

Raise exception if no match
RaiseExceptionIfNoMatch boolean

Set to true (the default) to raise an exception if the lookup matches no data. Set to false to return a blank string if the lookup matches no data.

Return blank cells
ReturnBlankCells boolean

Set to true if you want to include blank cells in the return table. Set to false (the default) to only include cells with values.

Return format
ReturnFormat string

The format to use when returning the results.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Name Path Type Description
Output lookup table JSON
OutputLookupTableJSON string

The output table read from the one or more lookup table columns with the specified name, obtained by looking up the input data against the IA-Connect lookup table. The output table will have one column (matching the requested result table column name) and one or more rows, in JSON format.

Output lookup table
OutputLookupTable array of object

The output table read from the one or more lookup table columns with the specified name, obtained by looking up the input data against the IA-Connect lookup table. The output table will have one column (matching the requested result table column name) and one or more rows.

items
OutputLookupTable object
Output lookup array
OutputLookupArray array of object

The output array read from the one or more lookup table columns with the specified name, obtained by looking up the input data against the IA-Connect lookup table. The output array is a single column with one or more rows.

items
OutputLookupArray object
Number of rows in output
NumberOfRowsInOutput integer

The number of rows in the output.

Lookup value from IA-Connect lookup table

Retrieves a value from a lookup table currently loaded into the IA-Connect Agent.

Parameters

Name Key Required Type Description
Lookup table name
LookupTableName True string

The name of the lookup table loaded into the IA-Connect Agent.

Input data JSON
InputDataJSON string

Input data to use for the lookup, in JSON format.

Search result value column name
SearchResultValueColumnName True string

The column in the lookup table which holds the return value to read.

Search result value column index
SearchResultValueColumnIndex integer

If set to 1 (the default), the value from the first result column matching the requested name will be returned. Set to a higher value (N) to return the Nth matching column.

Raise exception if no match
RaiseExceptionIfNoMatch boolean

Set to true (the default) to raise an exception if the lookup matches no data. Set to false to return a blank string if the lookup matches no data.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Name Path Type Description
Output lookup value
OutputLookupValue string

The output value from the specified lookup table column, obtained by looking up the input data against the IA-Connect lookup table.

Remove all IA-Connect lookup tables

Removes all lookup tables currently loaded into the IA-Connect Agent.

Parameters

Name Key Required Type Description
Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Name Path Type Description
Command result
RemoveAllIAConnectLookupTablesResult 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.

Remove characters from string

Takes an input string and returns it with specified characters removed. If the specified characters are not located, the original string will be returned.

Parameters

Name Key Required Type Description
Input string
InputString string

The input string upon which the character removal is performed.

Characters to remove from input string
CharactersToRemoveFromInputString string

A string containing all of the characters you wish to remove from the inputs. For example: !@&?^*.

Remove diacritics from input string
RemoveDiacriticsFromInputString boolean

If set to true, IA-Connect will attempt to remove all diacritics from the input string, replacing characters with a diacritic with the same character minus the diacritic. For example: replacing 'acute accented a' with 'a'. In scenarios where there is no direct mapping to a simple character, the character is removed. For example: The German sharp S is removed.

Remove non alphanumeric from input string
RemoveNonAlphaNumericFromInputString boolean

If set to true, IA-Connect will remove all non-alphanumeric characters from the input string.

Remove numeric characters from input string
RemoveNumericFromInputString boolean

If set to true, IA-Connect will remove all numeric characters from the input string.

Remove lowercase characters from input string
RemoveLowercaseCharactersFromInputString boolean

If set to true, IA-Connect will remove all lowercase alphabetical characters from the input string.

Remove uppercase characters from input string
RemoveUppercaseCharactersFromInputString boolean

If set to true, IA-Connect will remove all uppercase alphabetical characters from the input string.

Returns

Name Path Type Description
Output string
OutputString string

The string with the removed characters. This will be the original string if no specified characters were found.

Remove IA-Connect lookup table

Removes a lookup table currently loaded into the IA-Connect Agent.

Parameters

Name Key Required Type Description
Lookup table name
LookupTableName True string

The name of the lookup table loaded into the IA-Connect Agent.

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Name Path Type Description
Command result
RemoveIAConnectLookupTableResult 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.

Rename a column in a JSON table

Takes an input table in JSON format, renames a specified column and returns a new table in JSON format. If you want to rename a column from an actual table (i.e. not in JSON format), use the action 'Rename a column in a table'.

Parameters

Name Key Required Type Description
Input JSON table
JSONTable True string

The input table in JSON format.

Source column name
SourceColumnName True string

The name of the column to rename.

New column name
NewColumnName True string

The new name for the column.

Returns

Name Path Type Description
Output JSON table
OutputJSONTable string

The output table in JSON format.

Number of rows
NumberOfRows integer

The number of rows in the output table.

Number of columns
NumberOfColumns integer

The number of columns in the output table.

Rename a column in a table

Takes an input table, renames a specified column and returns a new table. If you want to rename a column from a table in JSON format, use the action 'Rename a column in a JSON table'.

Parameters

Name Key Required Type Description
Input table
Input table object
Source column name
SourceColumnName True string

The name of the column to rename.

New column name
NewColumnName True string

The new name for the column.

Returns

Name Path Type Description
Output table
OutputTable array of object

The output table.

items
OutputTable object
Number of rows
NumberOfRows integer

The number of rows in the output table.

Number of columns
NumberOfColumns integer

The number of columns in the output table.

Run PowerShell script

Runs a PowerShell script in the session where the IA-Connect Agent is running, where the script contents are passed to the IA-Connect Agent in the 'PowerShell script contents' (PowerShellScriptContents) input. This is the recommended action for running your own custom PowerShell code. This action can also be used to retrieve the results from a previous execution of a PowerShell script, run as an Agent thread. The Agent executes the PowerShell using Microsoft PowerShell v3.x to v5.x (whichever version is installed), not PowerShell core (6.x onwards).

Parameters

Name Key Required Type Description
PowerShell script contents
PowerShellScriptContents string

The contents of the PowerShell script to execute. IA-Connect will execute this script as-is by passing directly to the PowerShell automation engine. No PowerShell script is actually created on-disk.

Computer name
ComputerName string

The name of the computer to run the PowerShell script on. If left blank, the script will be run on the computer where the IA-Connect Agent is running.

Is no result an error
IsNoResultAnError boolean

If no data is returned by the PowerShell command, does this suggest an error?

Return complex types
ReturnComplexTypes boolean

Should properties which have complex types (as opposed to a simple type such as System.String or System.Boolean or System.Date) be returned?

Return boolean as boolean
ReturnBooleanAsBoolean boolean

Should Boolean properties be returned as a Booleans? If false, these are returned as strings.

Return numeric as decimal
ReturnNumericAsDecimal boolean

Should Numeric properties be returned as a Numerics? If false, these are returned as strings.

Return date as date
ReturnDateAsDate boolean

Should Date properties be returned as a Dates? If false, these are returned as strings.

Properties to return as collection
PropertiesToReturnAsCollectionJSON string

Some properties (in the PowerShell return results) are collections of values (e.g. an array or table) and by default are not returned in the IA-Connect PowerShell response. This option allows you to specify which properties IA-Connect should attempt to return as a collection and can be entered in JSON or CSV format. For example: To return the EmailAddresses and MemberOf array properties, enter [{"PropertyName": "EmailAddresses"}, {"PropertyName": "MemberOf"}] (JSON format) or EmailAddresses,MemberOf (CSV format).

Authentication mechanism
AuthenticationMechanism string

The authentication mechanism to be used if connecting to a remote computer or running the script as an alternative user. Supported values are 'Basic', 'Credssp', 'Default', 'Digest', 'Kerberos' and 'Negotiate'.

Connection attempts
ConnectionAttempts integer

The number of connections to attempt if connecting to a remote computer.

Username
Username string

The username to be used if running the script as an alternative user.

Password
Password password

The password to be used if running the script as an alternative user.

Run script as thread
RunScriptAsThread boolean

If set to false (the default), the IA-Connect Agent will run the PowerShell script immediately and return the results to the Director when the script completes. If running a long or complex PowerShell script, this action may time out. If set to true, the IA-Connect Agent will run the PowerShell script 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 long or complex PowerShell scripts to run without timeouts. IA-Connect Agents 9.3 and earlier cannot run PowerShell scripts as an Agent thread.

Retrieve output data for thread Id
RetrieveOutputDataFromThreadId integer

If you previously ran a PowerShell script 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 simply running a PowerShell script (and hence not retrieving the results of a previous PowerShell script run as an Agent thread).

Seconds to wait for thread
SecondsToWaitForThread integer

If 'Run script as thread' is set to true, how many seconds to wait for the Agent thread to complete. If the Agent thread running the PowerShell script hasn't completed in this time, an exception will be raised. Set to 0 to bypass the wait: The Agent will continue to run the PowerShell script, but also be available for the next action. You can then retrieve the script results 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 'Run PowerShell script' action with the input 'Retrieve output data for thread Id' set to the Agent thread Id.

Script contains stored password
ScriptContainsStoredPassword boolean

Set to true if the script contains an IA-Connect stored password identifier, in the format {IAConnectPassword:StoredPasswordIdentifier} or an IA-Connect Orchestrator generic credential, in the format {OrchestratorCredential:FriendlyName}. The { } phrase will be replaced by the specified password, escaped and placed in single quotes (unless it is already in quotes in the script).

Log verbose output
LogVerboseOutput boolean

Set to true to log any PowerShell verbose output into the IA-Connect logs. This could be useful for debugging.

Return secure strings
ReturnSecureStrings boolean

Set to true to return any secure string properties in the PowerShell script output. Set to false (the default) to not return any properties that are held as a secure string. Only set to true if you know what you are doing, since this could result in passwords being transmitted (if there are passwords in the PowerShell script output).

Workflow
Workflow True string

Add the following expression here: workflow()

Returns

Name Path Type Description
PowerShell output JSON
PowerShellJSONOutput string

The output of the PowerShell script, formatted as JSON.

Thread Id
ThreadId integer

If the PowerShell script is being run as an Agent thread, this output will hold the Agent thread Id which can be used to monitor the PowerShell script execution and retrieve the PowerShell script results when the script has completed.

Sort JSON table

Takes an input JSON table, sorts the table and returns a new JSON table. If you want to sort an actual table (i.e. not in JSON format), use the action 'Sort table'. If you want to sort a string array, use the action 'Sort string array'.

Parameters

Name Key Required Type Description
Input JSON table
JSONTable True string

The input table in JSON format.

Sort column name
SortColumnName True string

The column name to sort by.

Sort ascending
Ascending boolean

Set to true to sort in an ascending order. Set to false to sort in a descending order.

Sort column name 2
SortColumnName2 string

An optional second column name to sort by (after sorting by the first column).

Sort ascending 2
Ascending2 boolean

Set to true to sort the second column name in an ascending order. Set to false to sort in a descending order.

Sort column name 3
SortColumnName3 string

An optional third column name to sort by (after sorting by the first and second columns).

Sort ascending 3
Ascending3 boolean

Set to true to sort the third column name in an ascending order. Set to false to sort in a descending order.

Returns

Name Path Type Description
Output JSON table
OutputJSONTable string

The output table in JSON format.

Number of rows
NumberOfRows integer

The number of rows in the output table.

Number of columns
NumberOfColumns integer

The number of columns in the output table.

Sort string array

Takes an input array of string items, sorts the array and returns a new array. If you want to sort a table, use the action 'Sort table'. If you want to sort a table in JSON format, use the action 'Sort JSON table'.

Parameters

Name Key Required Type Description
Input array
InputArray True array of string

The input array of strings.

Sort ascending
Ascending boolean

Set to true to sort in an ascending order. Set to false to sort in a descending order.

Case sensitive
CaseSensitive boolean

Set to true for a case sensitive sort (i.e. upper and lower case sorted separately). Set to false for a case insensitive sort.

Returns

Name Path Type Description
Sorted output array
OutputArray array of string

The sorted output array of strings.

Number of items
NumberOfItems integer

The number of items in the output array.

Sort table

Takes an input table, sorts one or more rows and returns a new table. If you want to sort a table in JSON format, use the action 'Sort JSON table'. If you want to sort a string array, use the action 'Sort string array'.

Parameters

Name Key Required Type Description
Input table
Input table object
Sort column name
SortColumnName True string

The column name to sort by. If you wish to sort by multiple columns then list the columns comma separated.

Sort ascending
Ascending True boolean

Set to true to sort in an ascending order. Set to false to sort in a descending order.

Sort column name 2
SortColumnName2 string

An optional second column name to sort by (after sorting by the first column).

Sort ascending 2
Ascending2 boolean

Set to true to sort the second column name in an ascending order. Set to false to sort in a descending order.

Sort column name 3
SortColumnName3 string

An optional third column name to sort by (after sorting by the first and second columns).

Sort ascending 3
Ascending3 boolean

Set to true to sort the third column name in an ascending order. Set to false to sort in a descending order.

Returns

Name Path Type Description
Output table
OutputTable array of object

The output table.

items
OutputTable object
Number of rows
NumberOfRows integer

The number of rows in the output table.

Number of columns
NumberOfColumns integer

The number of columns in the output table.

Split string using a regular expression

Splits an input string using a regular expression (regex) match and returns the individual split components of the string as a string array.

Parameters

Name Key Required Type Description
Input text to split
TextToSplit True string

The input text to split against the regular expression.

Regular expression
Regex True string

The regular expression to split the input text against.

Case sensitive split
CaseSensitive boolean

Set to true (the default) for a case-sensitive split (e.g. A is not a) or set to false for a case-insensitive split (e.g. A and a are treated as identical).

Trim results
TrimResults boolean

Set to true (the default) if each individual output array element should be trimmed.

Remove empty results
RemoveEmptyResults boolean

Set to true if empty output array elements should be removed from the output array (i.e. you don't want empty results).

Regex timeout in seconds
RegexTimeoutInSeconds integer

The maximum number of seconds the regular expression can be processed before timing-out. This stops infinite loops caused by certain regular expressions.

Returns

Name Path Type Description
Output array
OutputArray array of object

The output string array which contains the individual components of the string, split using the regular expression.

items
OutputArray object
Number of elements in output
NumberOfElementsInOutput integer

The number of elements in the output array.