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.
Quien responde
Sección titulada «Quien responde»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 flujo
Sección titulada «En un flujo»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,commentyfields). Los pasos siguientes la leen; por ejemplo, una compuerta puede compararaprobacion.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
Sección titulada «En un asistente»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,
_comentarioy un_campopor 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].
Desde un robot
Sección titulada «Desde un robot»Un robot crea la tarea con Create Human Task (paquete Human Tasks 1.3.0 o posterior):
| Parámetro | Qué pones |
|---|---|
form | El nombre del formulario. En el Designer, con la sesión iniciada, eliges de la lista de formularios publicados del ambiente. |
formVersion | Opcional. Vacío = la versión vigente al crear cada tarea. Fíjala para que un cambio del formulario no afecte al robot. |
formInputs | Los valores de las entradas del formulario (entrada → valor). |
options | Las 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: tareaWait for Human Task taskId = tarea["id"] → output: resultadoDownload Human Task File taskId = tarea["id"] field = "gastos.soporte" destination = "C:\\Gastos\\Soportes" → output: archivosPara 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.
Por API
Sección titulada «Por API»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.