Skip to main content
Matrix42 Self-Service Help Center

Matrix42 Workflow Studio: General Workflow Activities

Overview 

The General category contains a set of Workflow Activities for fulfilling general Workspace Management tasks, like accessing and modifying the data in Production database, or sending emails.

Data activities

Create Object

Creates a new configuration item, configures its attributes and fragments and returns the ID of the created CI.

Repository category: General > Data

Properties:

Name

Description

Display Name

Understandable name of the activity. You can use the icons to view a list of items  or to search for an entry.

CI Type

Configuration item that should be created.

Configure Attributes

Attributes of the object.

Object ID

Unique number of the created object.

 

Update Objects

Updates one or more object instances of the specified Configuration Item.

Repository category: General > Data

Properties:

Name

Description

Display Name

Understandable name of the activity. You can use the icons to view a list of items  or to search for an entry.

CI Type

Configuration item that should be updated.

Configure Attributes

Attributes of the object.

Object IDs

Object identifiers that should be updated.

 

Delete Objects

Deletes one or more object instances of any configuration item.

Repository category: General > Data

Properties:

Name

Description

Display Name

Understandable name of the activity.

Object IDs

Object identifiers that should be deleted.

 

Create Fragments

Creates one or more fragments for the specified configuration item and returns identifiers of the created fragments. Please note that only multi-fragments are supported.

Repository category: General > Data

Properties:

Name

Description

Display Name

Understandable name of the activity. You can use the icons to view a list of items  or to search for an entry.

Object ID

Object identifier for which the fragments will be created.

Fragment Data Definition

Data definition that should be created.

Configure Fragments

Attributes of the fragments.

Fragment IDs

Unique numbers of the created fragments.

 

Update Fragments

Updates data definition fragments and returns unique numbers of the updated fragments.

Repository category: General > Data

Properties:

Name

Description

Display Name

Understandable name of the activity. You can use the icons to view a list of items  or to search for an entry.

Fragment Data Definition

Data definition of the fragments.

Configure Fragments

Filter and attributes of the fragments.

Fragment IDs

Unique numbers of the updated fragments.

 

Delete Fragments

Deletes one or more fragments of the specified configuration item. Please note that only multi-fragments are supported.

Repository category: General > Data

Properties:

Name

Description

Display Name

Understandable name of the activity.

Object IDs

Unique numbers of the objects for which the fragments will be deleted.

Fragment Data Definition

Data definition fragments that should be deleted.

 

Get Data (Obsolete)

The Get Data activity is not available anymore, because this activity has been divided into two activities: Get Multiple Records Data and Get Single Record Data. The activity can still be executed in the existing workflows, but cannot be added or edited anymore. If you want to edit an existing workflow with this activity, you should delete the Get Data activity and add either the Single or the Multiple activity accordingly.

Get Multiple Records Data

Retrieves several data records that can be processed in the sub-flow of the activity.

Repository category: General > Data

Properties:

Name

Description

Display Name

Understandable name of the activity. You can use the icons to view a list of items  or to search for an entry.

Data Definition

Root data definition.

Where Expression

The "where" expression to filter the result set.

Has Result

Indicates whether the query results were assigned to corresponding variables. In case of several records, Has Result is true until the last data record is read and assigned to corresponding variables.

Row Count

Number of records in the result set.

 

Get Single Record Data

Retrieves a single data record by applying specified where expression.

By default the activity fails if no records are returned. In case you need to proceed if no records are found, you should set the Proceed on empty result property to true. Then you can check the Has Result property to determine whether the record exists. If more than one record is returned, the first record is taken.

Repository category: General > Data

Properties:

Name

Description

Display Name

Understandable name of the activity. You can use the icons to view a list of items  or to search for an entry.

Data Definition

Root data definition.

Where Expression

The "where" expression to filter the result set.

Proceed on empty result

If true, the workflow proceeds if no records are retrieved, otherwise – false.

Has Result

Indicates whether the query results were assigned to the corresponding variables.

 

Update Status

Changes the status and the status reason of any given objects.

Repository category: General > Data

Properties:

Name

Description

Display Name

Understandable name of the activity.

CI Type

Configuration item for which the status will be updated.

Object IDs

Object identifiers.

Status

Status that is assigned to the configuration item.

Status Reason

Reason for the assigned status.

 

Other General Activities

Close Task

Closes tasks in Matrix42 Workspace Management.

Repository category: General

Properties:

Name

Description

Display Name

Understandable name of the activity.

Task

Unique number of the created task object (Expression-ObjectID).

Solution

Task closing solution.

Closing Reason

Reason for closing of the task (SPSCommonPickupObjectStateReason.Value).

 

Create Task

Creates new tasks within Matrix42 Workspace Management.

Repository category: General

Properties:

Name

Description

Display Name

Understandable name of the activity.

Summary

Summary of the task.

Description

Description of the task.

Solution

Solution of the task.

Type of Task

Type of the task.

Category

Category of the task (SPSScCategoryClassBase.ID).

Priority

Priority of the task (SPSActivityPickup.Priority).

Resubmission

Date when the task is resubmitted.

SLA

Service Level Agreement that is related to the task (SVCServiceLevelAgreementClassBase.ID).

Creator

Person who is responsible for the task (SPSUserClassBase.ID).

User

Responsible User

Responsible Role

Role that is responsible for the task (SPSScRoleClassBase.ID).

Notify Responsible

Specifies whether to send email notifications about the task changes to the person who is responsible for the task.

Notify Related Users

Specifies whether to send email notifications about the task changes to users that are related to the task.

Related Users

List of users that are related to the task (SPSUserClassBase.ID).

Related Topics

List of topics that are related to the task (SPSCommonClassBase.ID).

Task ID

Unique number of the created task object (Expression-ObjectID).

 

Error Handler

Analyzes the return value and creates e.g. corresponding tasks if execution of another activity failed (e.g. Invoke PowerShell activity). Depending on the closing reason from this created task, the activity will be executed again or successfully finished.

Repository category: General

Properties:

Name

Description

Display Name

Understandable name of the activity.

Attempts Count

Number of attempts for successful execution of all workflow activities that were defined in the Body.

Exception

Exception object that is thrown in the Body block. Exception is not returned when the Body was successfully executed in any attempt.

Exception Message

Message that is shown in case of an exception.

Execution Result

Indicates whether the Body block is successfully executed within the allotted attempts.

Exit Condition

Logical VB Script expression which evaluates result of the Handling block execution and determines whether to terminate the further attempts to execute the Body block.

On Edit (double-click an activity):

Name

Description

Body

The Body block contains the guarded activities that may cause the exception. The block is executed until an exception is thrown or it is completed successfully.

Handling

The Handling block defines the logic for handling exception that is thrown in the Body block.

 

Execute GDI Sequence

Starts the asynchronous execution of a GDI sequence and returns information about the success or errors of the operation. Please note that the activity does not fail if the import is finished with failure. The result should be handled explicitly.

You cannot use this activity in any parallel activities. Import is not properly executed in such workflows.

Repository category: General

Properties:

Name

Description

Display Name

Understandable name of the activity.

GDI Sequence

Import sequence that should be executed.

Input File Path

Path to the file that should be imported.

Result Code

0 - Unknown

1 - Full Success

2 - Partial Success

3 - Failure

Result Description

Contains error details in case of the failed import.

 

Get Global Configuration

Reads a specified attribute from the Global System Settings and provides the attribute value in a variable, which can be used in further activities.

Repository category: General

Properties:

Name

Description

Display Name

Understandable name of the activity.

Config. Attribute

Defines the Global System Settings attribute that should be selected and a workflow variable that should store the attribute value.


 

Http Send

This activity is used for making an HTTP request to a Uniform Resource Identifier (URI).

Repository category: General

Properties:

Name

Description

Account

Username for password-based authentication.

Password

Password for password-based authentication.

DisplayName

Understandable name of the activity.

TypeArgument

.NET type to which the response will be cast. For example, JSON content can be cast to System.Json.JsonObject, XML content can be casted to XDocument or XmlDocument.

Content Type

The media type of the Web request.

Headers

If necessary, use this property to send additional information about the HTTP request, such as authentication type, type of compression, content language, etc. In the Request Headersdesigner, specify the name and data type of the header in the Name and Type columns respectively. Then in the Variable / Argument / Expression column, define the source of the header value.

Ignore failure

If the checkbox is selected, the activity will finish successfully even in case the HTTP request fails.

Method

The request method that will be used to contact the Web resource.

Request Data

The request data.

Uri

Uniform Resource Identifier (URI) of the Internet resource that actually responds to the request.

Response Data

Output property. It returns response data deserialized to an object of type defined in the TypeArgument property.

Status Code

Output property. It returns status code of the HTTP response.

 

Invoke PowerShell

Runs PowerShell scripts, which can be edited directly in the Workflow Studio. If the PowerShell script contains parameters, which should be declared at the beginning of the script, these parameters will be automatically parsed and displayed in the Parameters field of the Properties section, after you click OK.

Repository category: General

Properties:

Name

Description

Display Name

Understandable name of the activity.

Type Argument

Sets the .NET type of an item of the Result collection. Each PSObject that is returned by PowerShell is cast to TypeArgument and added to the Result collection.

Script

PowerShell script.

Parameters

List of PowerShell script input parameters that are bound with workflow variables.

Variables

Binds PowerShell variables with workflow variables. The In variable initializes the PS variables with the WF variables values. Out, on contrary, sets the values of the WF variables with the PS variables after script execution.

Result

List of objects that are returned by the PowerShell script and cast to a .NET type that is specified in TypeArgument.

The Invoke PowerShell activity can be used for executing various commands remotely. This way you can cover many business scenarios, for example, distributing files as well as running executable files and scripts on remote computers.

Two prerequisites should be met to successfully execute commands remotely.

  1. Edit the Script property of the Invoke PowerShell activity by adding the Invoke-Command cdmlet to it.

For example, the following syntax will run the script specified in the Invoke PowerShell activity on a remote computer under the credentials of this computer:

#Create credential object
$SecurePassWord = ConvertTo-SecureString -AsPlainText $Password -Force
$Cred = New-Object -TypeName "System.Management.Automation.PSCredential" -ArgumentList $Username, $SecurePassWord

#Create session object with this
$Session = New-PSSession -ComputerName $ComputerName -credential $Cred

#Invoke-Command -Session $Session -Script $Script
Invoke-Command -computername $ComputerName -Credential $Cred -ScriptBlock $Script -Authentication Credssp -ArgumentList $DownloadPath,$ComputerName

#Close Session
Remove-PSSession -Session $Session
  1. To configure transfer of credentials between the domain controller and client computers, you need to run additional commands.
  • On the client computers, run the following command:
Set-ExecutionPolicy Unrestricted
Enable-WSManCredSSP -Role server

 To make sure that everything is configured correctly, run the Get-WSManCredSSP cmdlet. The following output indicates that everything is correct:

#The machine is not configured to allow delegating fresh credentials. 
#This computer is configured to receive credentials from a remote client computer.
  • On the Matrix42 Workspace Management server computer, you need to allow credential delegation in PowerShell. From an Administrative PowerShell prompt, run the following command:
  • For one client computer:
Enable-WSManCredSSP -Role Client -DelegateComputer test-PC.mydomain.com
  • For all computers in a domain:
Enable-WSManCredSSP -Role Client -DelegateComputer *.mydomain.com

Sample 1: Variable mapping

The following Variables should be added to InvokePowerShell activity:

  •  RootPath, string, In
  •  FolderName, string, In/Out
#Note: Variable initialization should be commented to make it work with InvokePowerShell activity
#$rootPath = "c:\Temp\WFDemo"
#$folderName = "Processes"
Remove-Item -Path $rootPath -Force
$timeStamp = get-date -Format "yyyy-MM-dd hh-mm-ss"
$folderName = $folderName + $timeStamp
New-Item -Path $rootPath -Name $folderName -ItemType "directory" -Force
$filePath = $rootPath + "\" + $folderName
$processList = Get-Process
foreach ($p in $processList)
{
    $software = $p.Company + ", " + $p.Product + " " + $p.ProductVersion
    New-Item -Path $filePath -Name $p.ProcessName -ItemType "file" -Value $software -Force
}

Sample 2: Parameter mapping

The following Parameters should be added to InvokePowerShell activity:

  • RootPath, string
  • FolderName, string
param(
[string]$rootPath = "c:\Temp\WFDemo",
[string]$folderName = "Processes"
)

Remove-Item -Path $rootPath -Force
$folderName = "Processes"
$timeStamp = get-date -Format "yyyy-MM-dd hh-mm-ss"
$folderName = $folderName + $timeStamp
New-Item -Path $rootPath -Name $folderName -ItemType "directory" -Force
$filePath = $rootPath + "\" + $folderName
$processList = Get-Process
foreach ($p in $processList)
{
    $software = $p.Company + ", " + $p.Product + " " + $p.ProductVersion
    New-Item -Path $filePath -Name $p.ProcessName -ItemType "file" -Value $software -Force
}

Resume Object Workflow

The workflow activity resumes workflow instances that affect a specified object (collection of objects).

Repository category: General

Properties:

Name

Description

DisplayName

Understandable name of the activity.

Objects

List of objects that have related suspended workflow instances.

Data

Data that will be passed to a resumed workflow instance.

 

Send Email

The legacy Workflow Activity which creates and sends email messages to specified recipients.

For sending emails it is recommended to use new Activity "Send Email UUX".

The design for body and Subject of the Email, as well as localizations, are persisted within the Activity, which causes you to rework the whole Workflow any time the mail needs to be adjusted.

Repository category: General

Properties:

Name

Description

Display Name

Understandable name of the activity.

Sender Address

Email address of the sender which will be set in an email. In case the Property is not defined, the Default Sender from General Settings will be set.

Recipients (TO)

Address collection that contains the references to persons who receive the email message. Other recipients such as roles, business partners, or business contacts can be dynamically defined.

Recipients (CC)

Address collection that contains references to persons who receive the carbon copy of the email message. Other recipients such as roles, business partners, or business contacts can be dynamically defined.

Recipients (BCC)

Address collection that contains references to persons who receive the blind carbon copy of the email message. Other recipients such as roles, business partners, or business contacts can be dynamically defined.

Recipient Addresses (TO)

Collection of email addresses that are separated with a semicolon (;) as email recipients.

Recipient Addresses (CC)

Collection of email addresses that are separated with a semicolon (;) as carbon copy recipients.

Recipient Addresses (BCC)

Collection of email addresses that are separated with a semicolon (;) as blind carbon copy recipients.

Subject

Subject of the email message. Uses the Localization Editor which allows providing a single-line string with placeholders localized to all supported languages in the System. The placeholders are replaced in runtime.

Body

Body of the email message.

E-Mail Signature

Signature that will appear at the end of the email message.

Message Priority

Priority level of the email.

 

Send Email UUX    

Activity is used for sending emails to specified recipients. The activity uses the new Email Engine & Designer module for generating emails in run-time, which provides the unified way for designing and generating emails which consider recipients preferences, such as the language, time zone and culture. Before using the Activity in a Workflow, the email template needs to be designed in the Email Designer and stored in an Email Descriptor.

Properties 

Name Description
Email Descriptor The reference to an Email Descriptor object which defines the Email template and input parameters
Parameters List of input parameters defined in selected Email Descriptor which needs to be set for generating an email. 
Sender Address Email address of the sender which will be set in an email. In case the Property is not defined, the Default Sender from the General Settings will be set.
Recipients (TO) Address collection that contains references to persons who receive the email message. 
Recipients (CC) Address collection that contains references to persons who receive the carbon copy of the email message. 
Recipients (BCC) Address collection that contains references to persons who receive the blind carbon copy of the email message. 
Recipient Addresses (TO) Collection of email addresses that are separated with a semicolon (;) as email recipients.
Recipient Addresses (CC) Collection of email addresses that are separated with a semicolon (;) as carbon copy recipients.
Recipient Addresses (BCC) Collection of email addresses that are separated with a semicolon (;) as blind carbon copy recipients.
Recipient Roles (TO) Defines the list of the Roles all members of those get an email as recipients
Recipient Roles (CC) Defines the list of the Roles all members of those get an email as carbon copy recipients
Attachments (file Ids) Refers to files which need to be sent as attachments (Attribute FileGuid in dbo.Files) 
E-Mail Signature Signature that will appear at the end of the email message.

Set JSON

The workflow activity helps construct an object of the System.Json.JsonObject type. Once the object is set up, it can be easily converted to JSON string, using the ToString() method.

For more information on System.Json.JsonObject type, see System.Json Namespace.

Repository category: General

Properties:

Name

Description

DisplayName

Understandable name of the activity.

Result JSON Object

Output property. It returns an object of the System.Json.JsonObject type which keeps properties and their values that are defined in the Properties property.

JSON Object

This property is optional. It specifies an object of the System.Json.JsonObject type that should be updated. If the property is not set up, the activity will create a new JSON object.

Properties

List of properties that need to be added for the JSON object.

 

Update Task

Updates any attributes of the existing tasks. The selected (not empty) properties will normally be replaced in the task. In case of the Journal EntryRelated Topics, and Related Users properties, entries will be added to the task and will not be replaced.

Repository category: General

Properties:

Name

Description

Task ID

Unique number of the task object (Expression-ObjectID).

Display Name

Understandable name of the activity.

Status

Current status of the task.

Summary

Summary of the task

Description

Description of the task.

Solution

Task solution.

Type of Task

Type of the task.

Journal Entry

Text to add to a new journal record.

Category

Category of the task (SPSScCategoryClassBase.ID).

Priority

Priority of the task (SPSActivityPickup.Priority).

Resubmission

Date when the task is resubmitted.

SLA

Service Level Agreement that is related to the task (SVCServiceLevelAgreementClassBase.ID).

Creator

Person who created the task (SPSUserClassBase.ID).

User

Person who initiated the task (SPSUserClassBase.ID).

Responsible User

Person who is responsible for the task (SPSUserClassBase.ID).

Responsible Role

Role that is responsible for the task (SPSScRoleClassBase.ID).

Notify Responsible

Specifies whether to send email notifications about the task changes to the person who is responsible for the task.

Notify Related Users

Specifies whether to send email notifications about the changes of the task to users that are related to the task.

Related Users

List of users that are related to the task (SPSUserClassBase.ID).

Related Topics

List of topics that are related to the task (SPSCommonClassBase.ID).

 

Wait for Activities

Suspends the workflow execution until the specific, previously created activities such as task or change are closed. After this activity is closed, the workflow execution will be resumed.

Repository category: General

Properties:

Name

Description

Display Name

Understandable name of the activity.

Activity IDs

Unique numbers of the activity objects (tasks, incidents, problems, approvals etc.)

Closed Activity IDs

Output variable that will contain IDs of closed activities.

Completion Condition

Condition under which closed activities will resume the workflow execution.

 

Wait for Activity

Suspends the workflow execution until the specific, previously created activities such as task or change are closed. After this activity is closed, the workflow execution will be resumed. The closing reason of the activity will be returned to the workflow for further processing.

Repository category: General

Properties:

Name

Description

Activity

Unique number of an activity object (task, incident, problem, approval etc.)

Display Name

Understandable name of the activity.

Closing Reason

Reason which was set on waited activity closing (SPSCommonPickupObjectStateReason.Value).