Workflow Designer

 

Workflow Design

This flow diagram provides the step-by-step actions that are taken on the machine/Configuration Item by the workflow. These are the technical actions that are taken as per the requirement provided.

A workflow design should have a starting point which can be referred to as an initiation. The initiation may happen in different ways – such as Incident, Service Request, Work Order.


Key Benefits

  1. A clear picture of the entire operational flow is obtained
  2. A collaborative decision-making process helps in better outcomes for all stakeholders
  3. Data processed together rather than in silos
  4. Clear definition of roles and responsibilities
  5. Complex processes like adding a recipient to the security group, whitelisting MAC addresses, printer installation can all be automated


Workflow Design Platform

  • Serial Execution
  • If and Else condition
  • Pass script output between Executions
  • Script deviation based on current script Output/status (success or failure)

 Workflow Designer UI


Click on the top right corner of the Service Automation home page to create a new workflow or use case.

Figure: Orchestration Workflows - Create a new workflow

Figure: Workflow configuration

Workflow Configuration

You can configure the Service Automation Workflows for Incidents, Service Requests (SRs), and Work Orders. In the Service Automation Workflows, a condition is defined. If this condition is met, the defined Service Automation workflow is linked, and scripts are executed. This does not require any manual intervention from the Analysts and the actions are performed by the Service Automation Scripts if the precondition is met. Using drag and drop, you can add a Script or Condition to the Workflow.

Following are the Workflow Configuration Variables

Configuration Variables


Workflow name

Name the use case


Module

Select Incident Management, Service Request, Work Order

Trigger Event

On create, On update, On Create/Update (Always)
A ticket is updated if any of the fixed fields of Incident/Request/Work Order values are changed and saved.

Tenant

Select the Tenant for which the Orchestration is applicable.

Workflow Category

Search for the desired category

Active

Indicates the status of Orchestration.

·       If selected the Orchestration is active.

·       If cleared, the Orchestration is inactive.

Description

Describe the function of the workflow


Following are the Content Parser & Condition Configuration 

Content Parser 


Parser Type

Lists the configured parser types:

  • Line: If Incident/Service Request/ Work Order description is in line format then select Parser Type as Line. Line parser type can only be applied for Description content type.



  • Free-form: If Symptom/Description is in paragraph format then select Parser Type as Free Form. It is used to extract the words between two words. Free-form can be applied to either Description or Symptom content type.




Following are the Line variables

Line 


Line Delimiter

The line delimiter is a character that indicates the end of the line or splits the description value into multiple lines.  

Based on Line Delimiter, content is divided into lines. Select the line delimiter from the list. By default, the New Line option is selected. If you select Others, type in the character that is considered as a line delimiter in the text box.

Key Delimiter

The Key Delimiter is a character that separates the User-defined key and the other text in the output.

Based on Key Delimiter options, the key and the value are identified from a line. Select the key delimiter from the list. By default, the Colon option is selected. If you select Others, type in the character that is considered as a key delimiter in the text box.

Line No.

Specify the location or position of the content that needs to be parsed from the Description. If 1 is specified as Line No then the first line from the description is considered as the key value.

For example, If the Line No. is represented as one (1) then the first line from the Description is considered as the key value.

Key NameSpecify a user-defined key name. This key name will be displayed in the Conditions and Parameter sections.
Map to CI

If Map to CI is enabled for a specified key and Target Type is set to CI, Target Host Type is set to Incident CI or Service Request CI, the key value will be considered as Target CI if that CI Name / IP Address exists in CMDB.

Action

Click icon to add the Keys.

Click icon to delete the Keys.

For Example: Below is the description of an Incident for Service Status notification.

Service Status Notification

The following service is down.

  1. Server Type: Print Spooler <br>
  2. Service Status: Down <br>

Configuration
Line DelimiterNew Line <br>
Key Delimiter:
Line No.1
Key NameTest_Line1

For the above configuration, it will extract the line "Server Type: Print Spooler" from the above description as the key value.

Configured key Test_Line1 will be available in the Conditions section under Field Name as Line Parser: Test_Line1 in the list of conditions apart from other default conditions for Description. You can apply the conditions on the Line parser key (Line Parser: Test_Line1).


Following are the Free-Form Delimiter variables

Free-Form


Content Type

Select the content type from the drop-down list. Available options are as following:

  • Symptom or Subject
  • Description
Key Name

Specify a user-defined key name. This key name will be displayed in Conditions and Parameter sections.

Preceding Text

Specify the preceding text for the selected Content Type.

Succeeding TextSpecify the succeeding text for the selected Content Type.
Occurrence

Specify a number. In an Incident/Service Request/Work Order, the occurrence of the specified preceding and succeeding text or the preceding text alone in the selected Content Type is represented as a number.

For example, If the Occurrence is represented as one (1) for the Content Type: Symptom, then the first occurrence of the specified text is considered as the key value.

Key Value: In the Incident/Service Request/Work Order, the available text between the preceding text and the succeeding text is considered as the key value. For example, the Incident/Service Request/Work Order containing the following content:

Status: The job (Job: "DBSUtil01 Backup 00007) completed successfully. Status: The job (Job: "DBSUtil02 Backup 00008) completed successfully.

Preceding TextSucceeding TextOccurrenceKey Value
Statussuccessfully1The Key Value is considered as The job (Job: "DBSUtil01 Backup 00007) completed.
Statussuccessfully2The Key Value is considered as The job (Job: "DBSUtil02 Backup 00008) completed.
Map to CIIf Map to CI is enabled for a specified key and Target Type is set to CI, Target Host Type is set to Incident CI or Service Request CI, the key value will be considered as Target CI if that CI Name / IP Address exists in CMDB.
Action

Click  icon to add the Keys.

Click icon to delete the Keys.


Following are the conditions variables

Conditions Variables


Condition Name

Name the condition

Operator

Logical expressions which may be evaluated by a workflow engine to decide the sequence of activity execution within a process

Value

Enter a condition value

Action

add or delete conditions applicable to the use case


The Workflow Designer is accessible once the workflow configuration is submitted.

Figure: Workflow designer

The left panel of the workflow designer displays the IF condition and published scripts grouped by category.

Optional access to Workflow Designer:

Click on the desired workflow record on the Service Automation home page to access the record details.

Figure: Workflow Execution record details

Clicking on a workflow name will switch to its workflow design in the Workflow Designer

Figure: Workflow Designer

Field Description

Script details section can be found under Action Tab on the workflow designer

Figure: Script details section

The following table describes the fields on Script details:

Configure Script Details

Script Name

Type in the Orchestration Script name.

Script Language

Scripts can be in any of the following languages

·       DOS command

·       Perl script

·       PowerShell script

·       Python script

·       Shell script(windows)

·       Shell script(non-windows)

·       VB script


Target Type

Configuration Item

Target Host Type

The script is executed for the selected predefined CI, Service Request CI, Dynamic CI, or from a previous output.

Target Host

Select the Operating System on the target machine.

Schedule Type

Select a Schedule Type (One Time/Recurring) from the drop-down list to schedule the script execution on the target machine.

  • One Time: The script is executed on the target machine on the specified interval (mins) for the specified number of times In case script execution status is FAILED. If the Schedule Type is selected as One Time, the Retry Count field is displayed.
    • Retry Count: Specify the number of times the script is to be executed on the target machine in case script execution status is FAILED.

Example: If the Retry Interval is 5 mins and the Retry Count is 10, the script is executed on the target machine every 5 minutes for the 10 times in case script execution status is FAILED.

  • Recurring: The script is executed in the target machine on the specified interval (mins) for the specified number of days in case script execution status is FAILED. If the Schedule Type is selected as Recurring, the Recurring Days field is displayed.
    • Recurring Days: Specify the number of days the script is to be executed on the target machine in case script execution status is FAILED.

Example: If the Retry Interval is 5 minutes and the Recurring Days field is 2, the script is executed on the target machine every 5 minutes for the 2 days in case script execution status is FAILED.


Retry Interval (In Mins)

Type in the retry interval for the script in minutes.

In case script executions status is FAILED, the script is executed on the target machine at the specified interval for the specified number of Retry Count.

Retry Count

Type in the retry count for the script. In case script executions status is FAILED, the script is executed on the target machine for the specified number of times at the specified interval.

 Parameter details section can be found under Action Tab on the workflow designer

Figure: Parameters section


The following table describes the fields on Parameter details:


Configure Parameters

Data Source

Select the data source for the parameter.

  • If you select Fixed Input, the Fixed Input Value field appears.
  • If you select other data sources in the list, Data Value Field appears.
  • If you select Action Output, the output from the previous script is used as the input for the next script. You can only map the previous execution orders in the Data Value Field drop-down.
  • Select Password as the Data Source to specify the password for the specified parameter. For Example, after the execution of the script, if you want to send an e-mail to a particular user without specifying SMTP credentials, you can enter the password here to use in the script.
  • If you select Content Parser - Line, Data Field will display all the configured keys from the BEGIN object.
  • If you select Content Parser - Free Form, Data Field will display all the configured keys from the BEGIN object.

Fixed Input Value

Type in the Data Field name.

Data Value Field

Select the Value Field in the list.

Submit Button

Click Submit to save the action values.

Best Practices for Designing Exceptional Workflows

  • Start by creating simple workflows for generic processes as they are easier to understand and requires minimal steps to be completed
  • Move onto newer tasks that need to be verified and approved by different people
  • Create a node that will act as the decision point
  • The task should then further move down the connection line to reach multiple nodes before it reaches the final stage
  • Tasks completed can be marked done in the workflow process