Pular para o conteúdo principal

Tarefa Humana

Configuração atual da tarefa Human Task no Workflow Designer

A Tarefa “Human Task” é um componente fundamental para a orquestração de processos que exigem uma intervenção humana. A sua função primária é suspender a execução de um Workflow e criar uma atividade pendente, atribuindo-a a um ou mais utilizadores específicos.

O Workflow permanecerá em estado de espera (no Logs de Execução estará em estado Running) até que o utilizador designado conclua a atividade, a cancele, ou até ao expirar um timeout. Esta interação ocorre através da interface Workspace do utilizador.

Esta Tarefa é a ponte entre a automação de sistemas (System-to-System) e os processos de decisão ou de inserção de dados humanos (Human-in-the-Loop).

1. Configuração

A configuração da Tarefa define a quem atribuir a atividade, os seus prazos e os campos (formulário) que o utilizador deverá visualizar ou preencher.

1.1 Atribuição de Utilizador

  • Destinatários: Um campo de seleção múltipla para especificar um ou mais utilizadores aos quais a atividade será atribuída.
  • Data de Vencimento: Um campo data/hora para definir o prazo até ao qual a atividade deve ser concluída.
  • Prioridade: Um menu suspenso para definir a prioridade da atividade (Baixa, Média, Alta).
  • Timeout (segundos): Um valor numérico, em segundos, que define um tempo máximo de espera. Se a atividade não for concluída dentro deste timeout, o Workflow retomará automaticamente a execução, tipicamente seguindo um caminho de saída específico.

1.2 Formulários

Esta secção permite construir um formulário dinâmico que será apresentado ao utilizador no seu Workspace. Para cada campo a ser visualizado (+ para adicionar), definem-se:

ColunaDescrição Técnica
LabelO nome do campo, tal como será visualizado pelo utilizador (ex: test_pdf).
TipoO tipo de dado do campo (ex: String, Number, Boolean).
ValorO valor inicial ou pré-preenchido do campo. Pode ser um valor estático ou, mais comummente, um parâmetro dinâmico proveniente de uma Tarefa anterior (#>Importa Testo.result<#).
RequiredSe marcado, o utilizador não poderá concluir a atividade sem preencher este campo.
Read-OnlySe marcado, o utilizador poderá visualizar o valor do campo, mas não o modificar.

2. Interação do Utilizador no Workspace

Quando um Workflow em execução atinge uma Tarefa Humana, ocorre o seguinte:

  1. A execução do Workflow é suspensa.
  2. Na interface Workspace dos utilizadores destinatários, aparece uma nova atividade pendente na secção "Human Task List".
  3. A atividade mostra todos os detalhes configurados: destinatários, prioridade, prazo e o formulário (Forms) a preencher.
  4. O utilizador pode interagir com a atividade preenchendo os campos necessários e escolhendo uma das duas ações finais:
  • Concluir: Conclui a atividade e retoma o Workflow.
  • Cancelar: Cancela a atividade e retoma o Workflow, tipicamente seguindo um caminho de saída diferente.

3. Parâmetros de Saída

Assim que a Tarefa Humana é concluída, expõe uma série de parâmetros de saída que contêm os dados inseridos pelo utilizador e o resultado da sua interação.

Estes parâmetros são fundamentais para as Tarefas subsequentes, que poderão utilizar os dados validados ou inseridos pelo utilizador para prosseguir com a lógica do processo (ex: guardar os dados num base de dados, enviar um e-mail com as informações inseridas, etc.).

3.1 Seção Base

  • result: O estado final da interação (ex: "Completed", "Cancelled", "TimedOut").
  • resultJSON: Um objeto JSON que contém todos os dados do formulário, incluindo os valores inseridos pelo utilizador.
  • choicesJSON: Um objeto JSON que recolhe as escolhas feitas pelo utilizador, o estado de conclusão e o utilizador associado. (ex: {"choices":{"x":"243"},"status":"Completed","username":"user_test"})

3.2 Seção Forms

Esta secção expõe cada campo definido no formulário Forms como um parâmetro de saída individual, tornando o acesso aos dados inseridos pelo utilizador extremamente direto.

O mapeamento segue esta estrutura:

  • Nome do Campo (Label): Para cada campo criado com uma determinada Label na configuração, é criado um parâmetro de saída com o mesmo nome. Este parâmetro conterá o valor final do campo, tal como foi eventualmente modificado e confirmado pelo utilizador no momento da conclusão da atividade.