Saltar a contenido

Flujos de trabajo

Para qué sirve

El flujo de trabajo define el recorrido de las solicitudes de un formulario: por qué estados pasan, quién puede moverlas de uno a otro, qué condiciones deben cumplirse, qué datos extra se piden en el camino, qué aprobaciones hacen falta y cuánto tiempo hay para resolverlas (SLA). Cada versión de un formulario tiene su propio flujo, que se congela cuando la versión se publica.

Quién puede usarla

Se edita con los mismos permisos que el formulario: editar (template:update) y publicar (template:publish). Ver Formularios. Las pantallas no filtran por permiso: si no estás autorizado, el servidor rechaza la acción con un mensaje de error.

Dónde encontrarla

Menú lateral > Configuración > Formularios > abrí un formulario > pestaña Flujo de trabajo.

  • La pestaña está deshabilitada hasta guardar el formulario por primera vez: "Guardá el formulario para habilitar el flujo de trabajo.".
  • Si la versión está publicada, el flujo es de solo lectura: "Esta versión está publicada y es de solo lectura. Creá una nueva versión borrador para editarla.".

La pestaña Flujo de trabajo ("Diseñá los estados, transiciones y SLA de esta versión del formulario.") tiene el botón Validar flujo y dos secciones: Estados y transiciones y SLA.

📷 IMAGEN PENDIENTE

Captura: pestaña Flujo de trabajo con el grafo de estados y transiciones, la lista Estados a un lado y el botón Validar flujo. Archivo sugerido: img/configuracion-flujo-grafo.png

Flujo por defecto

Todo formulario nuevo nace con un flujo ya válido:

Nuevo (inicial) → Asignado → En Análisis → En Gestión → Suspendido → Retomado → Resuelto → Cerrado, más el estado Cancelado. El cierre normal es Resuelto → Cerrado. Podés modificarlo, ampliarlo o simplificarlo.

Estados

Cada estado tiene los siguientes datos (botón Agregar en la lista Estados, o clic en un estado existente):

Campo Descripción
Nombre Nombre visible del estado.
Nombre técnico Identificador interno (minúsculas, sin acentos, con guion bajo).
Tipo Inicial, Intermedio, Suspendido, Resuelto, Cerrado o Cancelado.
Color Color con que se dibuja el estado en el flujo y en los tableros.
Visible para el requirente Si está apagado, el solicitante no ve este estado: ve el último estado visible.
Requiere observación al ingresar Quien mueva la solicitud a este estado debe escribir una observación.
Congela el SLA Mientras la solicitud esté en este estado no corre el tiempo del SLA. Los estados Suspendido siempre lo congelan.

En la lista, cada estado muestra insignias (Terminal, congela el SLA, visible/oculto al requirente, requiere observación) y la cantidad de transiciones "{n} entrantes · {n} salientes".

Reglas de los estados

Para poder publicar, el flujo debe cumplir:

  • Exactamente un estado Inicial, al menos un Intermedio, exactamente un Resuelto y exactamente un Cerrado. Suspendido y Cancelado son opcionales.
  • Todo estado que no sea final debe tener al menos una salida, y todos deben ser alcanzables desde el inicial.
  • Desde cada estado Intermedio se debe poder llegar a Resuelto (o terminar en Cancelado).
  • Resuelto solo puede ir a Cerrado, y a Cerrado solo se llega desde Resuelto. Desde Cerrado no hay salidas.
  • Cancelado es final, pero podés dibujar salidas normales desde él (por ejemplo Cancelado → Nuevo).
  • Toda entrada a Resuelto exige observación (el resumen de la resolución). El estado Resuelto ya viene con Requiere observación al ingresar activado.
  • No se puede eliminar ni cambiar de tipo el único estado Inicial, Resuelto o Cerrado, ni el último Intermedio; el editor lo avisa ("No se puede eliminar el único estado Inicial: el flujo publicado necesita exactamente uno.").
  • Al eliminar un estado se eliminan también sus transiciones; el sistema pide confirmación (Eliminar de todas formas).

Reaperturas y cierre anticipado

La reapertura de una solicitud resuelta por parte del solicitante, el cierre anticipado y la reapertura de un administrador desde Cerrado o Cancelado son acciones globales del sistema: no se dibujan como flechas en el flujo. Ver Estados y SLA.

Transiciones

Una transición es una flecha entre dos estados: es lo que el agente ejecuta para mover la solicitud.

Crear una transición

  1. En el grafo, arrastrá el ícono de enlace (Conectar con otro estado) de un estado hasta otro. O usá el diálogo Nueva transición.
  2. Completá Nombre, Estado origen y Estado destino y hacé clic en Crear transición.
  3. Hacé clic en la flecha para abrir Editar transición y completar el resto de la configuración.

En el grafo podés usar Reordenar grafo, Reset vista, Acercar, Alejar y Snap (ajuste a la grilla). Sobre cada flecha, íconos indican si es automática por tiempo, automática al crear, si tiene condiciones, formulario intermedio o aprobación.

Configuración de una transición

La ventana Editar transición ("Configurá permisos, condiciones, formulario intermedio, acciones y aprobación.") tiene estas secciones:

Sección Qué configura
General Nombre, estados, Requiere observación, Evaluar al crear el ticket, Permisos requeridos.
Condiciones de habilitación Reglas que habilitan la transición.
Formulario intermedio Datos a completar antes de que se ejecute.
Acciones automáticas Notificaciones, reasignación y cambio de prioridad.
Aprobación Cadena de aprobadores.
Disparador por tiempo Ejecución automática tras un tiempo.

Datos de la sección General:

  • Requiere observación: quien ejecute la transición debe escribir una observación. Es obligatoria si el estado destino la exige o si la transición la exige; no puede quedar vacía.
  • Permisos requeridos: permisos adicionales que debe tener quien la ejecute. Vacío = cualquier usuario con acceso al ticket y permiso para hacer transiciones. Se eligen del catálogo de permisos; si una referencia guardada ya no existe, el editor la marca como inválida para que la corrijas.
  • Evaluar al crear el ticket: la transición se ejecuta sola una vez, cuando se crea la solicitud, si se cumple su condición. Solo se puede activar en transiciones que salen del estado Inicial, requiere una condición configurada y no puede tener disparador por tiempo.
  • Es una reapertura: se marca automáticamente cuando el origen es Resuelto o Cerrado y el destino no es final. Cancelado no cuenta.

Para borrar una transición usá Eliminar transición (pide confirmación).

📷 IMAGEN PENDIENTE

Captura: ventana Editar transición con las secciones General, Condiciones, Formulario intermedio, Acciones, Aprobación y Disparador por tiempo. Archivo sugerido: img/configuracion-flujo-transicion.png

Condiciones de habilitación

Si la transición tiene condiciones y no se cumplen, el botón aparece deshabilitado para el agente, con el motivo. Sin condiciones: "Sin condiciones. La transición está siempre habilitada.".

  1. En Condiciones de habilitación hacé clic en Agregar condiciones.
  2. Elegí el Operador lógico del grupo: todas las condiciones deben cumplirse (Y) o al menos una (O).
  3. Con Agregar condición sumá filas. Cada fila tiene Fuente, Campo, Operador y Valor.
  4. Con Agregar grupo anidado creás subgrupos con su propia lógica Y/O. Quitar condición, Quitar grupo y Quitar condiciones eliminan elementos.
Fuente Qué compara
Campo del ticket Prioridad, Área asignada, Equipo asignado, Agente asignado, Canal de ingreso, Estado actual.
Campo del formulario original Una respuesta del formulario que completó el solicitante.
Campo de formulario intermedio Una respuesta de un formulario intermedio de otra transición anterior (elegís primero la Transición de origen).
Tiempo en el estado Minutos que la solicitud lleva en el estado actual. No requiere campo.

Operadores: Igual a, Distinto de, Mayor que, Menor que, No es nulo (este último no lleva valor).

Cómo se comparan los valores

La comparación respeta el tipo: el texto "3" no es igual al número 3. Mayor que y Menor que solo tienen sentido con números y fechas. Si el dato buscado no existe, Distinto de se considera cumplido. Si la respuesta es una lista, Igual a se cumple cuando la lista contiene el valor.

Formularios intermedios

Un formulario intermedio pide datos adicionales antes de ejecutar la transición, a quien corresponda. Mientras está pendiente, la solicitud queda bloqueada para otras transiciones.

  1. En la sección Formulario intermedio hacé clic en Agregar formulario intermedio.
  2. Completá Título y Lo completa (Agente o Requirente).
  3. Definí Plazo (minutos) y, opcionalmente, Recordatorios antes del plazo (minutos) (por ejemplo 60, 30, 10).
  4. Elegí Al vencer el plazo: Sin acción, Cancelar solicitud, Escalar (extiende el plazo y abre nuevos recordatorios) o Ejecutar otra transición (elegí la Transición alternativa; debe partir del mismo estado de origen).
  5. Con Notificar cada recordatorio y Notificar el vencimiento elegís canal y plantilla del aviso.
  6. En Campos, usá Agregar campo y completá Etiqueta, Tipo de campo y Obligatorio. Los tipos son los mismos que en Formularios. Podés reordenar con Mover campo arriba/abajo y sacar con Quitar campo.
  7. Para eliminarlo usá Quitar formulario intermedio.

Importante

Un formulario intermedio sin campos no es válido para publicar. Los catálogos que use se congelan al publicar la versión: cambios posteriores en el catálogo no lo afectan.

Quién lo completa: si es Requirente, solo el dueño de la solicitud. Si es Agente, el agente asignado (o quien supervise o administre). El solicitante no puede completar un formulario destinado al agente aunque sea el dueño.

Acciones automáticas

Efectos que se disparan al ejecutar la transición. Podés agregar varias (botones Agregar notificación, Agregar reasignación, Agregar cambio de prioridad) y ordenarlas con Mover arriba/abajo. Sin acciones: "Sin acciones configuradas.".

Tipo Qué hace Datos
Notificación Envía un aviso. Canal (Interno o Email), Plantilla de mensaje, Destinatarios (Requirente, Agente asignado, Supervisor de área, Permiso específico).
Reasignación Cambia dónde está la solicitud. Reasignar a: Área, Equipo o Agente específico (uno solo).
Cambio de prioridad Modifica la prioridad. Nueva prioridad (Baja, Media, Alta, Crítica).

Todas tienen:

  • Momento: Antes de cambiar de estado o Después de cambiar de estado.
  • Si falla: Continuar (fail-soft) (se registra el error y la transición sigue) o Bloquear (solo tiene efecto antes del cambio de estado: aborta la transición).

Sobre las notificaciones: la plantilla se elige de las plantillas de notificación activas para ese canal. Si la referencia guardada ya no existe, el editor pide elegir otra antes de publicar. El destinatario Permiso específico llega a las personas con ese permiso en el área de la solicitud.

Importante

El envío real de correos depende de una configuración del servidor que, por defecto, está apagada. Si está apagada, los avisos por Email quedan registrados como no enviados. Los avisos Interno (campana) no dependen de eso.

Aprobaciones en cadena

Una transición puede exigir que una cadena de aprobadores autorice antes de aplicarse. La aprobación se configura dentro de la transición (no es una acción aparte).

  1. En la sección Aprobación hacé clic en Agregar aprobación.
  2. Elegí Estado durante la aprobación (donde queda la solicitud mientras se decide) y Estado si se aprueba (debe coincidir con el destino de la transición).
  3. En Si se rechaza elegí Volver al estado anterior o Ir a un estado fijo (y elegí Estado si se rechaza).
  4. En Pasos de aprobación usá Agregar paso. Cada paso tiene:
    • Tipo de aprobador: Usuario específico, Permiso (cualquier persona con ese permiso puede decidir; gana la primera) o Supervisor de área.
    • Plazo (meses, días, horas o minutos).
    • Acción al vencer: Escalar (extiende el plazo), Aprobar automáticamente o Rechazar automáticamente.
  5. Ordená los pasos con Mover arriba/abajo y sacá uno con Quitar paso. Quitar aprobación elimina toda la cadena.

Cómo funciona en la práctica:

  • Los pasos se deciden en orden. Al aprobarse el último, la solicitud pasa al estado de aprobación resuelta.
  • Un rechazo en cualquier paso cancela los pasos pendientes y deriva según Si se rechaza. Las aprobaciones ya dadas quedan en el historial.
  • El comentario de la decisión es obligatorio.
  • Todos los aprobadores necesitan además el permiso de aprobar (ticket:approve) y acceso al ticket; el tipo de aprobador solo determina quién puede decidir cada paso.
  • Mientras hay una cadena en curso no se puede ejecutar otra transición.

Si la cadena queda incompleta el editor avisa ("La aprobación está incompleta. Podés guardar el borrador, pero deberás corregir pasos, referencias y estados antes de publicar."). Ver Aprobaciones.

Límites conocidos

Las cadenas de aprobación no se pueden reutilizar entre transiciones: se arman en cada una. El escalamiento al vencer un paso extiende el plazo sin nombrar a un supervisor específico y puede repetirse indefinidamente.

Disparador por tiempo (avance automático)

Permite que la transición se ejecute sola cuando la solicitud lleva un tiempo en el estado.

  1. En Disparador por tiempo hacé clic en Agregar disparador por tiempo.
  2. Completá Ejecutar después de (minutos) y, si querés, Observación automática.
  3. La transición se ejecuta hacia el estado destino de la misma transición. Para quitarlo: Quitar disparador por tiempo.

El sistema revisa los disparadores de forma periódica, por lo que la ejecución puede demorar unos minutos respecto del plazo exacto. Antes de ejecutar vuelve a comprobar el estado, las condiciones y los bloqueos, y deja registrado que la ejecutó el sistema. Además existe un cierre automático global: una solicitud Resuelta que el solicitante no confirma se cierra a las 24 horas activas del calendario hábil (lunes a viernes, 09:00 a 17:00, hora de Buenos Aires; sin feriados). No se configura por formulario.

SLA

En la sección SLA se define el tiempo máximo de resolución de esta versión del formulario.

Campo Descripción
SLA activo Interruptor general. Apagado, no hay límite ni alertas.
Límite de resolución Días, horas y minutos ("Total: {n} minutos"). Debe ser mayor a 0.
Calendario Corrido (todas las horas) o Hábil (solo el horario de atención).
Zona horaria Obligatoria con calendario Hábil.
Horario de atención Franjas por día (botones Agregar franja, Agregar Lun-Vie, Quitar franja), con Día, Desde y Hasta. Las franjas de un mismo día no pueden superponerse y Hasta debe ser posterior a Desde.
Alertas Botón Agregar alerta: porcentaje consumido (por ejemplo 50, 80), destinatarios (Agente asignado, Supervisor de área) y cómo enviarla (Enviar esta alerta: canal y plantilla).

Reglas:

  • Los porcentajes de las alertas no se pueden repetir y cada alerta necesita al menos un destinatario.
  • El reloj se pausa en los estados Suspendido y en los que tengan Congela el SLA. Una reapertura conserva el tiempo ya consumido.
  • Cada alerta se emite una sola vez por solicitud. Llegar al 100 % se considera vencido.
  • El calendario hábil solo excluye fines de semana: no contempla feriados.
  • El solicitante no ve el SLA.

Ver Estados y SLA.

Validar el flujo

  1. Hacé clic en Validar flujo ("Validando..."). Si todo está bien: "El flujo es válido.".
  2. Si hay problemas verás "Se encontraron {n} problema(s) de validación." con un botón Ver que lleva al elemento con el error.
  3. Corregí y volvé a validar. Antes de la primera validación se lee: "Todavía no se validó esta versión.".

Validar no modifica nada. Guardar un borrador con errores está permitido, pero Publicar exige un flujo válido. El flujo se guarda junto con el formulario, con el botón Guardar del editor.

Errores y mensajes frecuentes

Mensaje Qué hacer
"La versión cambió" Otra persona guardó antes. Recargar versión del servidor o Seguir editando.
"No se puede eliminar el único estado..." El flujo necesita ese estado; cambiá el tipo de otro estado primero si corresponde.
"La referencia guardada {código} no existe para este canal..." Elegí otra plantilla de mensaje.
"Elegí un permiso válido antes de publicar." Reemplazá el permiso desconocido por uno del catálogo.
"Definí un límite mayor a 0 para que el SLA tenga efecto." Completá el Límite de resolución.
"Ya hay otra alerta configurada para este porcentaje." Cambiá el porcentaje de la alerta.
"Elegí al menos un destinatario para esta alerta." Marcá un destinatario.

Los errores de validación del servidor se muestran tal cual llegan.

Ver también