Ir al contenido

Usar un formulario

Un formulario publicado se usa en tres lugares. En los tres, la persona lo responde igual, desde su bandeja Tareas, y la respuesta llega con la misma forma: la decisión, el comentario y los campos.

La tarea llega a la bandeja Tareas (y por correo) de la persona o del rol al que va dirigida. Al abrirla, la persona ve el contexto, el formulario con sus secciones y, abajo, las decisiones. Las reglas y los cálculos funcionan mientras escribe, y antes de enviar se le marcan los campos que faltan o tienen un error («Revisa los campos marcados»). Los adjuntos se suben al elegirlos, y en el teléfono puede usar la cámara.

En un paso de Persona del lienzo, sección Formulario, Qué datos pide:

  • Campos sueltos: unos pocos campos simples definidos en el paso, como antes. Con Convertir a formulario los pasas a un formulario sin perder nada.
  • De la biblioteca: Elige un formulario publicado y su Versión (fija). Los casos usan siempre esa versión; si publicas una más reciente, el paso lo avisa y la adoptas con Actualizar a v_N_. Abrir en la biblioteca te lleva al diseño. Si el formulario se archiva, la versión fijada sigue funcionando.
  • Diseñado aquí: Diseñar aquí abre el diseñador dentro del paso, para un formulario que solo usa este flujo. Pulsa Listo al terminar.

Después conectas los datos:

  • Entradas ← datos del caso: el valor de cada entrada del formulario, con {{variable}} o eligiendo Usar una variable del caso….
  • Salida → variable: la variable donde queda la respuesta (decision, comment y fields). Los pasos siguientes la leen; por ejemplo, una compuerta puede comparar aprobacion.fields.total.

Al validar, el lienzo te avisa, entre otras cosas, si una compuerta lee un campo que puede no llegar (porque tiene una regla de visibilidad), si un dato sensible del formulario termina en un paso de IA o copiado en una variable, o si el formulario es muy grande para el caso.

Si tu plan no incluye formularios, el paso usa campos sueltos.

En un asistente de IA hay dos maneras de pedir una aprobación con formulario:

  • Modo flujo: el nodo de Aprobación tiene Formulario que completa quien decide: Sin formulario: campos sueltos, un formulario de la biblioteca (con su versión) o uno diseñado en el nodo. Con formulario, el nodo gana una salida de error, por si la tarea no se pudo crear. La respuesta queda en las variables del nodo (la decisión, _comentario y un _campo por cada campo).
  • Modo agente: en Atención humana → Pedir aprobación, elige el formulario y las Opciones de decisión (separadas por coma) (por defecto Aprobar, Rechazar). Con formulario, el modelo ya no inventa campos ni opciones: aporta los datos que pide el formulario y quien decide lo completa. En la tarea, esos datos se ven como Dato aportado por el asistente.

La versión del formulario se fija al publicar el asistente. Los datos sensibles nunca llegan al modelo: la IA ve [dato sensible].

Un robot crea la tarea con Create Human Task (paquete Human Tasks 1.3.0 o posterior):

ParámetroQué pones
formEl nombre del formulario. En el Designer, con la sesión iniciada, eliges de la lista de formularios publicados del ambiente.
formVersionOpcional. Vacío = la versión vigente al crear cada tarea. Fíjala para que un cambio del formulario no afecte al robot.
formInputsLos valores de las entradas del formulario (entrada → valor).
optionsLas decisiones. Deben incluir todas las que usan las reglas del formulario.

La respuesta llega en fields, por Wait for Human Task o en las entradas del proceso de onCompleteProcess: las tablas como listas de filas, cada una con todas sus columnas, y los archivos como referencias. Lo que quedó sin llenar llega en null (formato de la respuesta). Para bajar los archivos a una carpeta, usa Download Human Task File.

Create Human Task title = "Revisar gastos de viaje de " + empleado
form = "Legalización de gastos"
formInputs = { "empleado": = empleado, "anticipo": = valor_anticipo }
assignRole = "contabilidad" reference = "gastos-" + id_viaje
→ output: tarea
Wait for Human Task taskId = tarea["id"] → output: resultado
Download Human Task File taskId = tarea["id"] field = "gastos.soporte"
destination = "C:\\Gastos\\Soportes" → output: archivos

Para lotes, con una cola. Si son muchas decisiones, indica queueName en Create Human Task: además de la tarea, se crea un ítem de cola que espera la respuesta, y un solo performer procesa todo lo decidido (ver Decisiones humanas en lotes). El formulario se comprueba antes de crear el ítem. Add Queue Item también puede pedir una decisión, pero solo con campos sueltos.

Una aplicación propia también puede crear tareas con un formulario de la biblioteca o con uno propio. Ver la referencia de la API.