Ir al contenido

Human Task Activities

Versión: 1.3.3  ·  ID: zoan-packages-human-tasks  ·  Autor: Zoan Software

El paquete Human Tasks permite que un proceso le pida una decisión a una persona: aprobar un reembolso, validar un dato que el robot no pudo leer bien, elegir entre varias opciones. El robot crea una tarea en la bandeja Tareas de Zoan Cloud, con los archivos que la persona necesita para decidir; la persona la revisa, decide (y, si hace falta, llena algunos campos o un formulario completo, con tablas y adjuntos) y el proceso continúa con esa decisión.

  1. El robot crea la tarea con Create Human Task: un título, el contexto, los datos que la persona debe ver, los adjuntos y las opciones de decisión (por defecto Aprobar y Rechazar).
  2. La tarea va siempre dirigida a una persona (por correo) o a un rol: solo ellos la ven en la bandeja Tareas de Zoan Cloud y reciben un correo con el enlace. Una persona con varios roles ve las tareas de todos sus roles.
  3. Alguien toma la tarea, revisa los datos y decide, con un comentario opcional y los campos que le pidas.
  4. El proceso recibe la decisión, el comentario y los campos; los archivos que la persona adjuntó en su respuesta se bajan con Download Human Task File.

Una tarea pasa por estos estados:

EstadoSignificado
pendingCreada, esperando a que alguien la tome.
claimedUna persona la tomó y la está revisando.
completedDecidida. La opción elegida está en decision.
cancelledCancelada (por el proceso o por una persona).
expiredVenció el plazo (dueInHours) sin decisión.

El robot no se queda “dormido” indefinidamente, así que elige el patrón según cuánto puede tardar la decisión:

  • Minutos → esperar en el mismo proceso. Crea la tarea y usa Wait for Human Task: el robot consulta la tarea cada pocos segundos y continúa cuando alguien decide. Ideal para una aprobación rápida en medio de un proceso.
  • Horas o días → retomar con otro proceso. Crea la tarea con onCompleteProcess y termina el proceso. Cuando alguien decida (o la tarea venza, o una persona la cancele desde Zoan Cloud), Zoan Cloud ejecuta ese otro proceso con la decisión como entradas, en el mismo agente y la misma sesión de robot.
  • Lotes → cola de trabajo. Si son muchas decisiones (cincuenta facturas que un supervisor aprueba una tras otra), liga cada tarea a un item de cola con queueName: un solo performer procesa todo lo que se decidió. Lo explica la guía Decisiones humanas en lotes.
ActividadTipoSalidaQué hace
Create Human Taskhuman-task-createobjectCrea una tarea para que una persona decida
Wait for Human Taskhuman-task-waitobjectEspera a que la tarea se decida, se cancele o venza
Cancel Human Taskhuman-task-cancelobjectCancela una tarea que sigue abierta
Download Human Task Filehuman-task-download-fileList<string>Descarga los archivos que la persona adjuntó en su respuesta

Create, Wait y Cancel devuelven la tarea como un diccionario con las mismas claves:

CampoTipoDescripción
idstringId de la tarea.
statusstringUno de los estados de arriba (o timeout en Wait for Human Task).
titlestringTítulo.
decisionstringOpción elegida; null mientras nadie decida.
commentstringComentario de quien decidió o motivo de la cancelación.
fieldsDictionaryCampos que llenó la persona (vacío mientras nadie decida).
formDictionaryname y version del formulario, o null.

Pedir la aprobación de un reembolso y actuar según la decisión:

Create Human Task title = "Aprobar reembolso #0001"
data = { "Cliente": "Cliente de prueba", "Monto": "150.000" }
assignRole = "tenant-admin" → output: tarea
Wait for Human Task taskId = tarea["id"] timeoutMinutes = 30 → output: resultado
If condition = resultado["decision"] == "Aprobar"
├─ then:
│ ... registrar el reembolso ...
└─ else:
Log level = info message = "Reembolso no aprobado: " + str(resultado["status"])