Administration > Workflows > Configuring a workflow
  

Configuring a workflow

If the predefined workflows don't meet your organizational needs, configure your own workflows.
You can configure multi-step approval workflows in Metadata Command Center that suit your organizational needs. The workflows start when you work with assets in Data Governance and Catalog.
Perform the following tasks to configure a workflow:
  1. 1Configure workflow details with general information such as workflow name and description.
  2. 2Design the workflow using various components of the BPMN infrastructure.
  3. 3Validate the workflow to check for errors and resolve them.
  4. 4Save and publish the workflow.

Configuring workflow details

Provide general information such as workflow name and description to start configuring your own workflows.
    1In Metadata Command Center, click New.
    2Select Workflow from the list of asset types.
    3Select Workflow and click Create.
    The New dialog box appears.
    The New dialog box with Workflow selected and an option to create a BPMN-based workflow.
    4In the Workflow Details dialog box, enter a name and an optional description for the workflow.
    5To start designing a workflow, click OK.

Designing a workflow

Use various components of the BPMN infrastructure to design a workflow.
    1On the canvas, select a swimlane to enter a name and an optional description on the Properties tab.
    By default, the canvas has three swimlanes. You can add and delete swimlanes.
    Note:
    Remove any empty swimlanes from a workflow before you publish the workflow.
    2Drag the Start component from the palette to the swimlane.
    You can delete, cut, copy, and paste components. You can also undo, redo, and search for components in a workflow.
    3Select the Start component, and enter a name and an optional description.
    You can add additional components to a swimlane in one of the following ways:
    4Drag one of the following components to the swimlane:
    Component
    Purpose
    User Task
    Manages the actions a human can take when they approve tasks.
    Note:
    Add at least one user task to a workflow.
    Service Task
    Manages tasks that don't need human intervention. You can use a service task to retrieve asset details at run time. For AI governance assets, you can also retrieve the associated risk, mitigation, or questionnaire section at run time.
    For more information about service tasks and how to add them to workflows, see Service tasks.
    An internal ID that you can use as an identifier for the task is automatically generated.
    5If you add a user task, configure the properties of the user task.
    The following image displays the Properties tab of a user task:
    The image shows the workflow editor interface consisting of a toolbar with workflow components on the left, a workflow diagram with a start component connected to a user task component in the center, and a properties panel for editing task details on the right.
    The following table describes the properties that you can configure for a user task:
    Property
    Description
    Name
    Name of the user task.
    Internal ID
    A system-generated unique identifier that you can use in expressions. You can modify the identifier.
    Description
    A short description that explains the user task.
    Priority
    Level of importance or urgency assigned to the task.
    Select one of the following values:
    • - High
    • - Medium
    • - Low
    The Tasks Inbox page in Data Governance and Catalog shows a visual summary of the total number of tasks categorized by their priorities.
    Due in days or due date
    Number of days until the task is due or the date when it is due. If the user doesn't complete the task within the period, the task remains in an overdue status.
    Maximum value is 14.
    Toggle the icon and enter an expression that resolves to the user task's due date and time. The expression must resolve to a future date and time.
    Example:
    service_task_1.output.questionnaires[1].sectionDueDate
    6To add a task outcome for a user task, perform the following steps:
    1. aClick the Outcomes tab.
    2. bEnter a name.
    3. cTo mandate that users enter comments to complete the task outcome, select Add comments to complete task.
    4. dClick Save.
    5. eClick Add to add more task outcomes.
    You can create a list of possible decisions that a task owner can take on tasks. Outcomes defined in each user task appear as actions of workflow tickets in Data Governance and Catalog.
    For example, you can add Approve, Reject, and Return as possible outcomes for a task. Task owners can approve a request if it meets the requirements, reject if not, or return if more information is required. If a request is returned, then another user task can be added to re-evaluate the request and to resubmit the request if it meets the requirements, or discard if not.
    Note:
    Add at least one user task to a workflow. You can't save workflows that include user tasks without outcomes.
    7If you add a service task, perform the following steps:
    1. aAdd a Service Task component.
    2. bSelect the type of service task.
    3. cEnter a name for the service task.
    4. dOptionally, enter a custom internal ID and add a description.
    For more information about service tasks, see Service tasks.
    8To allow a workflow to take different paths, add a Decision Gateway or Inclusive Gateway component.
    9If you add a Decision Gateway, perform the following steps:
    1. aSelect the Decision Gateway component, and enter a name and an optional description.
    2. To use an expression or the outcome of the preceding task to define the conditions on the outgoing connections, turn on the Use Expression for Condition toggle.
      Note:
      You can change the Use Expression for Condition toggle only if the decision gateway follows at least two user tasks or at least one user task and one service task.
      For more information about expressions, see Expressions.
    3. bSelect an outgoing connection from the Decision Gateway component.
    4. The Properties tab of an outgoing connection from a decision gateway component appears.
      The image shows the properties tab of an outgoing connection from the decision gateway component with approve selected as the outcome.
    5. cSelect an outcome.
    6. The task outcomes defined in the user task appear in the Outcome list.
    7. dIf the Use Expression for Condition toggle is turned on, configure conditions for outgoing connections from the component.
    8. For more information about configuring conditions for outgoing connections, see Configure conditions for outgoing connections.
      For more information about expressions, see Expressions.
    9. eSpecify an optional description.
    Note:
    For outgoing connections from gateways for service tasks, define conditions instead of outcomes. For more information about configuring connections for each type of service task, see Service tasks.
    10If you add an Inclusive Gateway component, configure conditions for the outgoing connections from the component.
    For more information about configuring conditions for outgoing connections, see Configure conditions for outgoing connections.
    11To run multiple tasks concurrently, perform the following tasks:
    1. aEnter names and optional descriptions for the start and end components of the parallel gateway.
    2. bSelect the outgoing connections from the Parallel Gateway start component and add tasks.
    3. The Properties tab of a Parallel Gateway start component appears.
      The image shows the properties tab of a parallel gateway start component with the name Parallel Gateway Start 1.
      Optionally, between the divergent and convergent gateway pair that comprises a parallel gateway component, you can add another parallel gateway, decision gateway, or inclusive gateway component.
      You can add a maximum of three consecutive levels of parallel gateway components, or three decision gateway or inclusive gateway components.
      For example, in a loan approval process, after the initial application review, a parallel gateway splits the workflow into independent concurrent tasks. These tasks include credit risk assessment, KYC documentation collection, and legal compliance checks. Within these tasks, you can add an additional parallel gateway for credit risk assessment to concurrently analyze different risk factors. You can also add a decision gateway to the credit risk assessment task to branch the process further based on whether additional documentation is required.
      If a Decision Gateway component has an outgoing path that loops back to the task that precedes it, ensure that you add the task, the gateway, and the outgoing path to the same swimlane.
    12Optionally, to explicitly end the workflow, add a Terminal End component to the parallel gateway.
    The Terminal End component terminates all active tasks and ends the workflow.
    13Add more user tasks, service tasks, decision gateways, inclusive gateways, and parallel gateways based on your business requirement.
    14To mark the completion of the workflow, add the End component, and enter a name and an optional description.
    You can validate and then save and publish the workflow.

Configure conditions for outgoing connections

To determine the outcomes of outgoing connections from gateways to other components in the workflow, configure conditions.
    1Select an outgoing connection from a user task or service task, and enter a name for it.
    2Enter a condition that uses the internal ID and outcome of the user task or service task.
    To configure a condition for a task outcome that's run for one or more task outcomes, enter a condition that uses all the relevant task outcomes.
    A condition is a simple expression that uses the internal ID and output of the user task or service task. For more information about expressions, see Expressions.
    Use the following format:
    list contains(<service_task_id.output.assetDetails.assetGroups, "<value>")
    Example:
    list contains(service_task_1.output.assetDetails.assetGroups, “AssetGrpHR”)
    3Optionally, to set a connection as the default connection when conditions in other outgoing connections aren't met, turn on the Set as Default toggle.
    Note:
    When you use a connection as the default one when no other outgoing connection conditions are met, you don't have to add a condition to it.

Service tasks

Use service tasks to automate tasks that Metadata Command Center performs at run time.
You can use the following types of service tasks in workflows:

Expressions

Use expressions to define values for the service task and to configure the outcomes of outgoing connections.
You can use the following types of expressions:

Rules and guidelines

Consider the following rules and guidelines when you use expressions:

Boolean

Use Boolean expressions to determine whether a condition is met.
A Boolean expression can have one of following output values:

Compare two values

Use equality and inequality conditions to compare two values.
The following table lists the operators that you can use to compare two values:
Name
Operator
Supported Value Types
Example
Equal to
=
Note:
If the canvas interface is translated to a language other than English, use ==.
Boolean
service_task_1.output.assetDetails.resolveAttributes.isCDE = true
If the value of the expression is true, the result of the condition is true.
Not equal to
!=
Boolean
service_task_1.output.assetDetails.resolveAttributes.isCDE != true
If the value of the expression is true, the result of the condition is false.
And
and
Boolean
service_task_1.output.assetDetails.resolveAttributes.isPersonal AND service_task_1.output.assetDetails.resolveAttributes.isCommercial
Returns true if all the expressions that the "and" operator combines return true. If any expression returns false, the result is false.
Or
or
Boolean
service_task_1.output.assetDetails.resolveAttributes.isPersonal OR service_task_1.output.assetDetails.resolveAttributes.isCommercial
Returns true if at least one of the expressions that the "or" operator combines returns true. If all the expressions return false, the result is false.
Ensure that the you compare values of the same type.

List

Use List expressions to check whether a list contains a value.

Check whether a list contains a value

To check whether a list contains a specific value, use the list contains function. The function returns true if the list contains the value and false if it doesn't.
Use the following format:
list contains(<list>, <value>)
The following examples show how to use the list contains function:

Validating and publishing a workflow

When you design a workflow, the Validations panel displays validation errors that the workflow components return. After fixing the validation errors, you can publish the workflow. Saving a workflow changes its status to Draft. Workflows containing validation errors can be saved but can't be published.
    1Click the Validations icon in the toolbar.
    The Validations panel appears with errors grouped by components.
    2Click an error.
    The cursor moves to the erroneous component. Take the required corrective action to resolve the error. The Validations panel refreshes each time you correct an error.
    3Click Save to save the workflow, and then click Publish.
You can use the published workflow to configure workflow events in Metadata Command Center.
Important:
You can select only published workflows when you configure workflow events.