Marcador de Bucle(Loop Marker)
El marcador (↻) que hace que una actividad se repita mientras se cumpla una condición — el while/do-while de BPMN sobre una sola actividad.
La característica de bucle estándar repite una actividad hasta que su condición de bucle indica parar, probando opcionalmente antes o después de cada iteración y acotada por un número máximo. Comprime «reintentar hasta ser aceptado» en una sola actividad marcada en lugar de un ciclo de compuerta.
Cuándo usar y evitar
Cuándo usar
Para pasos de reintento hasta el éxito: intentos de contacto, rondas de negociación, reverificaciones de calidad.
Cuando las iteraciones son secuencialmente dependientes — cada repetición tiene en cuenta el resultado anterior.
Para despejar los diagramas de pequeños bucles con flecha de retorno.
Cuándo NO usar
Cuando las iteraciones se ejecutan por elemento de una colección — eso es multi-instancia, no un bucle.
Cuando el ciclo abarca varias actividades — modele un bucle explícito con compuerta.
Cuando no existe condición de terminación — los bucles no acotados son un error de modelado.
Ejemplo de negocio
Llamar al cliente hasta contactarlo

Abra este ejemplo en el editor de procesos de HEFLO y explore el diagrama por dentro.
Abrir en el editor HEFLO →Paso a paso
- Contactar al cliente (resaltado, marcador de bucle ↻) se ejecuta.
- La condición de bucle «cliente aún no contactado» lo relanza — intento tras intento, con un máximo razonable.
- Una vez logrado el contacto (o alcanzado el límite), el flujo continúa.
Diferencias
Bucle vs Multi-instancia
El Bucle repite el mismo trabajo mientras se cumple una condición (número desconocido, secuencial por naturaleza). La Multi-instancia crea una ejecución *por elemento de la colección* (número conocido al iniciar, paralelo o secuencial). Guiado por condición → bucle; guiado por datos → MI.
Preguntas frecuentes
¿Dónde se define la condición del bucle?
En las características de bucle de la actividad: la expresión booleana, el indicador testBefore y el loopMaximum opcional.
¿Cómo escapar de un bucle atascado?
Fije un loopMaximum, o adjunte un contorno de temporizador interruptivo a la actividad en bucle como válvula de seguridad.