Cola de aprobación: lo que te espera, en un solo lugar.
Esta cola corre en la app de ejemplo, publicada en la Prueba online. Son cuatro ventas esperando decisión, cada una con la etapa del flujo, el plazo y la fecha en que entró a la cola.
Cuatro ventas esperando aprobación
Cada fila es una tarea abierta. Muestra el registro que pidió aprobación, la etapa en que está, el flujo de origen, el plazo y la fecha de entrada. Solo ves lo que es tuyo, por tu perfil o porque la tarea te fue asignada.

La decisión ocurre en el propio registro
Al abrir un pendiente, caes en el mismo formulario del registro, ahora en modo tarea. Los botones pasan a ser las salidas del flujo: Aprobar, Devolver y Rechazar. Si la etapa lo pide, el comentario se vuelve obligatorio.
{{-- El MISMO form del registro gana los botones de decisión --}}@if($that->wfTaskMode)<mad-form-section title="Decisión" icon="message-square"><mad-textarea-field name="wfComment" label="Comentario de la decisión" rows="2" /></mad-form-section>@endif<mad-form-actions>@foreach($that->wfOutcomes as $key => $meta)<button class="mad-btn mad-btn-{{ $meta['intent'] }}">{{ $meta['label'] }}</button>@endforeach</mad-form-actions> Tú diseñas el flujo, no programas
Etapas, quién aprueba, plazos y caminos por condición quedan en el editor de workflow. La cola y los botones de decisión salen de ese diseño. Tu controller no gana ninguna línea de código de flujo.
Cuándo usar la cola de aprobación
Usa la cola cuando una decisión necesita pasar por alguien antes de seguir. Cada persona ve lo que la espera, con plazo, y la decisión queda registrada.
- Venta con descuento. La venta se detiene en la aprobación comercial antes de la facturación.
- Análisis de crédito. Una etapa solo de finanzas, con plazo y los atrasos resaltados.
- Orden de compra. Un camino por condición manda ciertas compras a una etapa más.
- Vacaciones y reembolsos en RR. HH. El gerente aprueba, devuelve o rechaza, con comentario.
- Contrato con dos áreas. Jurídico y finanzas deciden al mismo tiempo, en ramas paralelas.
Si basta con cambiar el estado arrastrando una tarjeta, sin plazo ni responsable, el kanban lo resuelve. Para dividir un registro largo en partes, usa el wizard: allí las etapas son del formulario, no de aprobación. Y los perfiles que reciben las tareas los defines en los permisos del sistema.
Lo que configuras
La cola sale del diseño del flujo. Es ahí donde decides:
- Quién decide
- Cada etapa va a un perfil o a una persona, y la tarea aparece en la cola de quien fue elegido.
- Plazo
- Cada tarea tiene su plazo, y las atrasadas quedan resaltadas.
- Salidas de la etapa
- Las decisiones posibles, como Aprobar, Devolver y Rechazar. Cada una se vuelve un botón en el formulario.
- Comentario obligatorio
- Según la decisión, el comentario pasa a ser exigido. Un rechazo puede pedir el motivo.
- Caminos por condición
- El flujo sigue por caminos distintos, según una condición que defines.
- Ramas en paralelo
- Dos etapas avanzan al mismo tiempo, cada una con quien decide en ella.
Lo que va al proyecto Laravel
La decisión ocurre en el formulario del registro: una clase en app/Control y la vista con <mad-form>. El flujo se comunica con él mediante algunas propiedades:
- El formulario sabe cuándo es una tarea. La propiedad
wfTaskModele dice al Blade cuándo mostrar la sección de decisión. - Los botones vienen del flujo. La lista
wfOutcomestrae cada salida con etiqueta y estilo. Si cambió el flujo, cambian los botones, sin tocar el Blade. - El comentario es un campo común. Es un
<mad-textarea-field>llamadowfComment, con etiqueta y altura ajustables en el Blade. - Una acción propia se vuelve permiso. En un botón de aprobación fuera del flujo, el atributo
#[MadPermission('Aprobar presupuesto')]en el método crea un permiso con ese nombre en la pantalla de Perfiles.
Como toda pantalla de MadBuilder, esos archivos se abren en tu editor, van a tu Git y aceptan código a mano en bloques protegidos, que siguen ahí cuando la pantalla se genera de nuevo. Mira cómo se genera el código.
Preguntas sobre la cola de aprobación
¿Quién ve cada tarea de la cola de aprobación?
Quien es del perfil de la etapa o la persona a quien se asignó la tarea. Cada uno ve solo lo que es suyo.
¿Se puede devolver en vez de rechazar?
Sí. Las salidas de la etapa se vuelven botones en el formulario, como Aprobar, Devolver y Rechazar. La etapa incluso puede exigir un comentario según la decisión.
¿Queda registrado quién aprobó?
Sí. El historial guarda quién decidió, cuándo y cuál fue la decisión.
Y más
Mira también el Wizard o los tipos de página.
Crea la cuenta, arma una pantalla, descarga el proyecto.
Sin demo agendada ni llamada de descubrimiento. Si el Laravel que sale no pasa la revisión de tu equipo, perdiste una tarde.
- Crea la cuentaBeta abierta, sin tarjeta.
- Arma una pantallaEn el editor visual, en código o pidiéndoselo a la IA.
- Descarga el .zipUn proyecto Laravel que corre donde quieras.