Design Automation Workflow

The Workflow designer allows you to design and deploy automation workflows for your tenant. Luma Automation provides various OOTB events and connectors. You can drag and drop the connectors on the Workflow Designer, link them in sequence based on the business process and create a workflow. Following functions can be created using these events:

Creating New Workflow

To create a new Workflow, follow the below steps:

  1. Navigate to the Workflow Builder screen and click on Create Workflow.

  2. On Create Workflow screen, add the new workflow details. Following are the details available on the screen:

    1. Add ‘Name’ represents the name of the Automation Workflow.

    2. ‘Identifier’ represents the unique identifier of the workflow.

    3. Add 'Description' for the workflow.

    4. Add ‘Retry Configuration’. The configuration enables the system to retry executing the operation in case of an error.

      1. Add the number of ‘Total Attempts’ for retries in case the operation fails.

      2. Configure the ‘Retry Interval’ to define the time interval between each Attempt.

      3. Backoff Factor

      4. Maximum Retry Interval

      5. Click on Create to create the Workflow.

The Workflow Designer is now open. You can now drag and drop the controls to design the workflow.

Configure Workflow Parameters

Usually, a business process requires a trigger or input information to execute a task. These Workflow parameters are populated based on user inputs and can be used at any step in the workflow. Once your Workflow is created, you can define the information required as input for the workflow.

Define Workflow Input Parameters

Workflow Input parameters are the values or information required to execute the workflow. When the workflow is triggered, the source system passes the required information to the workflow. To create a Workflow Input parameter, follow the below steps:

  1. On the Workflow section, select the new workflow.

  2. On the workflow screen, open the Properties Panel → Workflow Inputs tab.

  3. In the Input Parameters section, add the input parameters required for the business workflow.

    1. Click on + to add the Input Parameter

    2. Add the Parameter name and Data type.

    3. Mark Required if the parameter is required to execute the process.

    4. Add Required Field Validation Message.

    5. Select the Validation Type if applicable.

    6. Similarly, add other parameters as required.

Define Workflow Variables

Additionally, you can also define Workflow variables with default values that can be used throughout the workflow. Scope of Workflow Variables is Global and can hold a default value or can be assigned values during an execution step.

To create a Workflow variable, follow the below steps:

  1. Navigate to the Workflow Variables tab.

  2. On the Workflow Variables section, click on + to add the variable

  3. Add the Parameter name and Data type.

  4. To assign a default value to the parameter, add Default Value.

Once created, these variables can be used at any step of the workflow using Direct Mapping → Workflow Variable mapping mode.

Execute an Action- Configure a Service Task

Service Task events are used to execute an action on a third-party system. It is used to add an action in the workflow. You can configure an integration operation to connect to the target system and execute a task. One or more service tasks can be added in sequence along with other events to design a workflow.

To configure a Service Task for your workflow, follow the below steps:

Add Service Task Details

  1. On the Workflow Designer screen, drag and drop the Create ServiceTask control. Here we can configure the task or action to be executed in the Target system.

  2. Select the Service Task and open the Properties Panel. On the Properties panel, configure the operation to be executed in the Target system. Add the following details:

    1. On the Properties panel → General tab, add the general Service Task information:

      1. Add the Service Task Name and any Documentation detail.

      2. In the Connected App, select your Target system.

      3. Select the Instance that connects to your target environment. Refer to Create Integration Operations for more information on integration App and Instance creation.

  3. Alternatively, you can also drag and drop the Connected App from the left pan on the designer. This automatically creates a Service Task for the selected Connected App. Add the Service Task details and required Instance for your target environment.

Configure Input Parameters

Input Parameters refer to the information required to execute the task configured as part of the Service Task. The value is used as input to the step. There are multiple ways to assign value to the Input parameter such as using a Workflow Variable, Workflow Input parameter, a static value, etc.

The Workflow Variables and Workflow Input Parameters cannot be directly used in a Service Task configuration. Create Input parameters for the Service Task and assign the required value.

To add Input variables for the operation, follow the below steps:

  1. Select the Service Task and navigate to the Properties Panel → Input tab. Configure the Input parameters for the operations.

  2. In the Input Parameter section, add the input parameters required to execute the task on the target system.

    1. Click on + to add to create a new Input Parameter.

    2. Add Parameter name.

    3. Select Data type.

    4. Select Required if the attribute is required for the operation.

    5. Add Required Field Validation Message.

    6. Select the Validations as required. The applicable validations are populated based on the Data Type selected.

    7. .Next, add Mapping to define the way the parameter should accept the value. The parameter can accept values from the user’s input, existing parameters from earlier steps, or from the Workflow.

      1. Define the Direct Mapping to represent the Mapping type. You may use:

        1. Step Output Parameter to use output parameter from the previous steps.

        2. Step Meta Parameter to use metadata parameters from another Service Task in the Workflow as input.

        3. Workflow Input Parameter to accept information from user’s input. You may use the User-defined or System Defined attributes created as the Workflow Input parameters (created in Point 3).

        4. Workflow Variable to use the system-defined or user-defined Workflow Variables such as workflow ID, and Tenant ID.

      2. Set Constant Value to assign a default constant value to the parameter.

      3. Constant Transform Function uses a transformation function to assign a value to the parameter. You can use the out-of-the-box Random UUID function to generate random universally unique identifier.

      4. Expression is used when you want to apply a Mathematical operation or method to process an expression.

    8. For a Required field, add Default Value.

    9. You can also use a Transformation function to update the value before using the same in the workflow. Select Apply Transformation and pick the required out-of-the-box Transform Function.

    10. Follow the above steps to add as many input parameters as required.

Configure Operation

The ‘Operations’ tab is used to define the task to be executed as part of the Service Task. Here we can configure the Web Service details and the Request sent to the target system.

Follow the below steps to create an Operation to execute the task on the target system.

  1. Navigate to the Operations tab on Properties Panel.

  2. Enter the URI (Uniform Resource Identifier). It refers to the operation in the target system to be executed.

  3. Select the operation Method. It uses an API request chaining framework for bots to push or request data from your websites, systems, and web applications using Webservices.
    The following operation methods are available:

    • Get: To retrieve data

    • Post: To create data

    • Put: To edit the data

    • Delete: To delete the data

    • Patch:  To make partial updates to the resource 

  4. The system automatically displays the Supported Operation as invoke REST API.

  5. Specify the operation Timeout (in milliseconds), the amount of time to wait for a web service response when invoking an outbound request.

  6. Next, add the Path Parameter. This is part of a path segment that occurs after its name. Path parameters offer a unique opportunity to dynamically replace the values and pass them in the URL. Path parameters are used to identify a specific resource. Example, http://myserver.com/some-path/{parameter1}/path-continued/{parameter2}. 
    You may overwrite the configuration defined at the instance level or continue using the same. To ignore instance-level configuration, select Ignore Global Path Parameters.
    Click on + to add the operation-specific variable and values. 

  7. Query Parameters: The query parameters are sometimes referred to as optional parameters. The query parameters are separated from the hierarchical parameters by the question mark. Query parameters appear in the URL after the question mark (?) after the resource name. For example, https://myserver.com/resource-name?param1=value1&param2=value2.
    You may overwrite the configuration defined at the instance level with an operation-specific Query Parameter or continue using the same. To ignore instance-level configuration, select Ignore Global Query Parameters.
    Click on + to add the operation-specific field and value.

  8. Headers: Headers are mostly classified as request headers. You will have to set the request headers when you are sending the request. You may overwrite the configuration defined at the instance level with operation-specific Headers or continue using the same. To ignore instance-level configuration, select Ignore Headers.
    Click on + to add the operation-specific variable and values. 
    The following sample headers are encountered the most.

    1. Authorization: Includes credentials containing the authentication information of the client for the resource being requested. 

    2. Accept-Charset: This is a header that is set with the request and tells the server which character sets are acceptable by the client. 

    3. Content-Type: Indicates the media type (text/HTML, text/JSON, XML/custom, or multipart/form-data) of the response sent to the client by the server, this will help the client in processing the response body correctly.
      Note: Use multipart/form-data as Content-Type to send an attachment file to the client-server.

  9. Request Payload: This is the information to be passed to complete the request. Add the information in the format supported by the Web service operation.

You Operation is configured.

In addition to the Service Task parameters, Workflow parameters and out parameters of other steps in the workflow can be used in Operation configuration. For more details, refer to Using parameters in Workflows.

Configure Output Variables

Create Output Variables to hold the information received as output from the web operation. To do so, follow the below steps:

  1. Navigate to the ‘On Success’ tab.

  2. In the Response Output Parameters section, create the parameters or attributes to hold information received as a response for the target system.

  3. Click on + to add to create a new Output Parameter.

  4. Add a Parameter name.

  5. Select Text as Data type.

  6. Add a Default value if required.

  7. Select Extractor type to represent the type of expression to extract information. For example, select JSON web service response is a JSON path.

  8. Add Expression to represent the response path of the value to be assigned to the attribute.

Add Meta Parameter

Meta Parameters are used to hold the information received in the Response Header from the target system. If you wish to use a value received as the Response Header in the operation, you can create Meta Parameters. To do this, follow the below steps:

  1. On the On success tab, scroll down to the Meta Parameter section.

  2. Click on + and the Parameter name:

  3. Click Save.

To use the value of in Response Header, ensure that the Meta Parameter name is the same as the Header Name.

The Metadata parameter can be used in any of the next steps in the Workflow as Step Meta Parameter:

Set Pre and Post Step Execution

When configuring a Service Task, you can configure the actions to be executed before and after the execution of the task in the step. Using the Pre Execution Steps and Post Execution steps, you can set the Workflow Variables to a user’s input, existing parameters, a constant value, or a mathematical function (similar to configuring Input-Output variables).

  • Pre Step Execution: Action to be performed before execution of any task in the step.

  • Post Step Execution: Action to be performed after the execution of all the tasks in the step.

To set the Pre Step Execution action, do the following:

  1. Navigate to the Input tab on the Service Task properties panel.

  2. In the Pre Step Execution section, click on + to add the action.

  3. Select the Workflow Variable.

  4. In the Mapping section, define the way the parameter should accept the value. The parameter can accept values from the user’s input, existing parameters from the earlier steps, or from the Workflow.

  5. Click Save.

Similarly, you can add Post Step Execution action on the ‘On Success’ tab

Create a Script Task

Script Task events are used to execute a script as part of the workflow. You can use Groovy Script to seamlessly integrate with various systems and execute tasks. Groovy is an object-oriented and Java syntax compatible programming language built for the Java platform. For more information, refer to https://groovy-lang.org/.

The script tasks can be added in sequence with the other Script and Service Tasks to create a workflow. When the workflow process arrives at the Script Task, the configured script is executed.

To configure a Service Task for your workflow, follow the below steps:

  1. On the Workflow Designer screen, drag and drop the Create ScriptTask control. Here we can the script to be executed as part of the workflow.

  2. Select the Script Task and open the Properties Panel. On the Properties panel, configure the script details to be executed. Add the following details:

    1. On the Properties panel → General tab, add the general Service Task information:

      1. Add the Script Task Name.

      2. The script task accepts groovy script. Add the script to be executed.

    2. The variables used in the script are automatically identified as Input and Output parameters. On the Input/Output tab, the ‘getvariables’ are identified as ‘Input Parameters’ and ‘setvariables’ are identified as ‘Output Parameters’.

Create an XOR Gateway

The XOR Gateway or Exclusive Gateway is used to create alternative paths within a Process flow. On an XOR gateway, all outgoing sequence flows are evaluated in the order in which they are defined. The workflow path that evaluates to true, is executed.

To add a gateway, follow the below steps:

  1. On the Workflow Designer screen, drag and drop the XOR Gateway. Use the connect tool to create a link between the link and the gateway.

  2. Use the Connect tool in the left pan to connect the gateway to existing elements.

     

  3. Alternatively, you can also select the existing element and add the gateway as the next step.

     

  4. Once added, on the Properties panel → General tab, add Name and Documentation information.

Once the XOR gate is added, add the next steps and rules to govern the next steps in the workflow. You can add Service Tasks to execute a task or add another XOR gate to evaluate another rule.

Refer to Execute an Action- Configure a Service Task to add a new Service Task.

Create Alternative paths for XOR Gateway

Alternative paths in XOR Gateway represent conditional flows in the workflow. We can create multiple rules that are evaluated to find the next step in the workflow execution. When the workflow execution reaches the gateway, all outgoing flow rules are evaluated in the order in which they are defined. The rule that evaluates to true is selected for execution. For a process execution, only one of the defined paths is executed.

To create alternative paths, follow the below steps:

  1. Select XOR gateway and use the Sequence Message Flow or Association tool to create a link with the next element.

  2. Now select the link to add the associated rule.

  3. On the SequenceFlow properties panel, add the rule to be evaluated.

    1. Add rule Name and Documentation details

    2. In the Details section, add the rule to be evaluated. In the Condition Type, You can either add an expression or a script to evaluate the rule.

      1. For Expression:

        1. Select Expression as Condition Type.

        2. Add the rule in the Condition Expression field. Here you can refer to a parameter from the previous step and create the rule.

        3. To refer a parameter from a previous step, use $.out_<Activityname>_<paramtername>. For example, ${out_Activity_17mx2d1_default_status == 'SUCCESS'}.

          Note: Select the element and copy the element ID from the properties panel.

      2. For Script:

        1. Select Expression as Script.

        2. Add the script.

  4. Follow the above steps to create as many rules as required.

When using an XOR Gateway, the following rules are applied:

  • When using an exclusive gateway (XOR gateway), only one path is executed.

  • If multiple rules evaluate as ‘true, the first one defined is selected for execution.

  • If none of the rules is true, the workflow throws an exception. It is recommended to add rules in such a way that at least one flow is always selected.

Error Handling - Create Error Boundary Event

Error Boundary Event is used to handle the errors that may occur during the execution of a task or at a certain point in the workflow. Create Error codes and define the path and activities to be executed when the defined error occurs. You can handle Technical errors such as Service Unavailable as well as Business Validations with Error Boundaries. For more information on how to handle errors during workflow execution refer to Error Handling in Automation Workflows.

Other Actions on Workflow Designer

  1. Create StartEvent: Start Event represents the beginning of the Business Workflow. Every workflow or Sub-process starts with the start event. To add a Start event, drag and drop the event on Web Designer.

  2. Create an End Event: End Event represents the end of a process or sub-process. A business workflow can have multiple End events. Each path in the workflow always ends with an EndEvent.

  3. Use the Hand tool to scroll through the Workflow Designer window.

  4. Use the Lasso Tool to select and move a section of the workflow process. All the connections are rearranged based on the new position of events.

  5. The Space Tool is used to create or remove space in the workflow. The tool creates space in the workflow for adding more events.