Human tasks

A Human task is a plug-in task included in the HCL Universal Orchestrator installation, that is helpful in situations where user input is required to complete a procedure.

Overview

Human tasks delegate to a user the role of completing specific tasks within a workflow.

Differently from the Self-Service Catalog, where user input is facilitated by leveraging external plug-ins and customer-configured systems, a Human task eases the interaction between the user and the task directly into HCL Universal Orchestrator.

When a Human task starts, the designated user can interact with the task by providing information and/or approval through a form. The user fills the required information and then confirms it, resulting in the task proceeding to a successful status.

The information that the user provides in the form becomes the output properties of the Human task. Then, subsequent tasks in the workflow can use these output properties to continue the procedure.

By integrating human decision-making and data input as integral steps within automated workflows, Human tasks provide a robust flexible solution for managing workflows that require active user participation.

Key components and concepts
Human tasks have some main components that differentiate it from other plug-in tasks:
Human task queues
Human tasks are associated with queues, which act as containers for Human tasks. When a Human task is created, it references a specific queue. For more information about Human task queues, see Human task queues.
Task assignment and form
A Human task can have an optional assignee. The task creator uses a Form editor in the Graphical Designer to define the entries and completion buttons that the assignee can interact with. These form properties can include inputs, markdowns, separators, and choice options.
The data that the assignee enters in the form, along with the value of the pressed completion button, becomes output properties for the task; this output directly influences subsequent tasks, allowing for dynamic workflow execution. The task remains in EXEC status until the form is completed, then transitions to SUCC status.
Task ID
Each Human task is assigned a unique task ID based on the prefix of the queue and a progressive number.
Email notifications
Users are notified via email on three different occasions:
  • Upon task creation within a workflow
  • Upon task assignment to a specific user
  • Upon task unassignment from a user
A specific hierarchy determines who receives email notifications:
  1. If the Human task has an assignee, the email of that assignee is used first.
  2. If no assignee has been specified, or if an email cannot be associated with the assignee, the optional Group Email configured for the Human task queue is used.
  3. If neither an assignee nor group email has been specified, all users who have MONITOR, POWER_USER or ADMIN permission on the queue related to the Human task are notified.
Enabling email notifications
To enable email notifications, edit the values.yaml file to set the config.mail.enabled parameter to true, and then specify the required Simple Mail Transfer Protocol (SMTP) configuration parameters and credentials.
Notification templates
Two customizable HTML templates are used for notifications, one for task creation and one for task assignment or unassignment. The two default templates contain:
  • Basic human task information such as task ID, task title, and the name of the queue where the human task was created.
  • A button with a direct link to the task in the HCL Universal Orchestrator UI, with which the user can open the form and complete the task.
    Note: The link to the console UI is defined by the endpoint.console parameter in the values.yaml file. While this is typically configured automatically, some environments require you to manually set the parameter to the complete hostname of the console ingress.
To use custom HTML templates, edit the following sections of the values.yaml file:
  • config.orchestrator.humanTaskMailTaskCreatedTemplate to add a custom template to use when a task is created.
  • config.orchestrator.humanTaskMailTaskAssignedTemplate to add a custom template to use when a task is assigned or unassigned.
At Human task runtime, some template variables can display actual Human task information, such as:
  • QUEUE: The key of the Huma task queue associated to the Human task;
  • TASK_ID: The identifier of the Human task;
  • TASK_TITLE: The title of the Human task;
  • TASK_LINK: The URL link to the HCL Universal Orchestrator UI to view the Human task;
  • ASSIGNEE: The assignee specified for the Human task. If no assignee has been specified, the value is Unassigned;
  • OLD_ASSIGNEE: The previous assignee of the Human task.
To be replaced by actual Human task values, the variables must be written in the following format: ${VARIABLE_NAME}. For example: ${TASK_TITLE}
Cleanup timeout
By default, Human tasks in a final status, either COMPLETED or CANCELED, are deleted by a cleanup process one year after their creation, but the timeout period value is customizable.
Human task management
Use the Human Tasks page in the UI to monitor and manage Human tasks. This page displays all Human tasks, filtered by the following statuses:
  • All open tasks
  • Assigned to me
  • Unassigned
  • Completed
By selecting a Human task, you can quickly check the task form and related information such as:
  • Creation date.
  • Due date (when specified).
    Note: The task deadline, if specified, is used as due date value. The Deadline Action setting determines what happens when the due date passes:
    • CONTINUE: The task remains active and can be completed even after it is overdue.
    • KILL: The task is automatically canceled with an ABEND status.
  • Priority.
    Note: The priority level is set automatically by converting the priority value of the task. The system uses the following mapping:
    Priority value Resulting priority level
    1 - 30 LOW
    31 - 69 NORMAL
    70 and higher HIGH
  • Queue.
  • Assignee.