Contenedor de un proceso. Participante de la interacción. El intercambio entre pools solo se hace por flujos de mensajes. Se puede contraer para ocultar detalles.
Abrir en BP1 Modeler →Un pool, un proceso: el pedido pasa de Ventas a Almacén y a Envíos — el pool coordina el trabajoAbrir en BP1 Modeler →Colaboración: el cliente y la tienda son pools separados — solo interactúan mediante mensajes
Carril
Una franja dentro del pool que indica quién ejecuta las tareas (puesto, rol, departamento o sistema de TI).
Abrir en BP1 Modeler →Los carriles dividen un proceso por rol: el agente clasifica el ticket y un error pasa al carril Ingeniero
Actividades (Activities)
Tipos de tarea
Abstracta
Task (None)
Manual
Manual
De usuario
User Task
Envío
Send Task
Recepción
Receive Task
Script
Script Task
De servicio
Service Task
Regla de negocio
Business Rule
Abstracta (None Task)
Tipo no especificado. Se usa en fases tempranas del modelado, cuando aún no se ha decidido el método de ejecución o cuando no es relevante para el objetivo del diagrama. En esencia, un marcador que más tarde se concreta.
Tarea de usuario (User Task)
Lo ejecuta una persona mediante una interfaz de software: un formulario en el CRM, una pantalla en una app web, una tarea en un gestor de tareas. La diferencia clave con la tarea manual es que la persona trabaja dentro del sistema que monitoriza el estado de la tarea.
Ejemplos: aprobar una solicitud en el sistema, rellenar un formulario, revisar un documento en el portal del cliente.
Tarea manual (Manual Task)
Lo ejecuta una persona sin la participación del motor BPM. El sistema no puede detectar automáticamente el inicio ni el fin de este trabajo.
Ejemplos: firmar físicamente un documento, llamar al cliente por teléfono, celebrar una reunión presencial, entregar un paquete por mensajería.
Tarea de servicio (Service Task)
Se ejecuta automáticamente por un programa o servicio. No interviene ninguna persona. Es el tipo más habitual en procesos ejecutables.
Ejemplos: una petición HTTP a una API, una escritura en base de datos, una llamada a un microservicio, ejecutar un cálculo.
Tarea de envío (Send Task)
Envía un mensaje a un participante externo concreto (otro proceso o sistema) y termina de inmediato, sin esperar respuesta. Patrón «dispara y olvida».
Ejemplos: enviar un correo al cliente, publicar un evento en una cola de mensajes, enviar una notificación por webhook.
Tarea de recepción (Receive Task)
Espera un mensaje entrante de un participante externo. El proceso se detiene en esta tarea hasta que llegue el mensaje.
Variante especial: la Receive instanciadora (instantiated): si una tarea de este tipo es el primer paso del proceso, la propia recepción del mensaje crea una nueva instancia (alternativa al evento de inicio por mensaje).
Ejemplos: esperar la respuesta de una contraparte, esperar un callback de la pasarela de pagos, esperar la confirmación de entrega.
Tarea de script (Script Task)
Ejecuta un script embebido (código) definido directamente dentro del modelo de proceso. A diferencia de la tarea de servicio, el código no llama a un sistema externo: se ejecuta dentro del motor BPM.
Ejemplos: convertir un formato de datos, calcular un plazo, construir una cadena para un correo, comprobar una condición.
Tarea de regla de negocio (Business Rule Task)
Invoca un motor de decisiones (por ejemplo una tabla DMN). Las entradas se evalúan contra un conjunto de reglas y se devuelve una decisión.
Ejemplos: determinar un descuento según el segmento del cliente, calcular una prima de seguro, comprobar una solicitud contra una política, clasificar una consulta.
Abrir en BP1 Modeler →Tipos de tarea: la forma es la misma, solo el icono de la esquina indica cómo se realiza el trabajo
Marcadores de tarea
Pequeños iconos en el centro inferior del rectángulo de la tarea. Indican el comportamiento — no su tipo.
Bucle
Loop
Múlt. inst. ∥
Parallel MI
Múlt. inst. ≡
Sequential MI
Compensación
Compensation
Ad-hoc ~
Ad-hoc
Subproceso +
Subprocess
Marcador
Significado
Ejemplo
↻ Bucle
La tarea se repite mientras se cumpla la condición (una instancia, varias iteraciones)
Revisar el documento → enviar → si se rechaza, repetir
∥ Múlt. inst. en paralelo
Se inician N instancias a la vez — una por elemento de la colección
Enviar la notificación a todos los aprobadores a la vez
≡ Múlt. inst. secuencial
Las mismas N instancias, pero una tras otra
Entrevistar a cada candidato por turno
⏪ Compensación
Tarea de reversión: se ejecuta solo cuando se activa la compensación, para deshacer una acción ya finalizada
«Cancelar reserva» después de que «Reservar» ya se haya ejecutado
~ Ad-hoc
Las tareas dentro del subproceso se ejecutan en cualquier orden, pueden repetirse o saltarse; no se permiten eventos de inicio/fin en su interior
Selección libre de pasos durante la consultoría a un cliente
+ Subproceso
Actividad compuesta con una secuencia interna oculta; los flujos no cruzan su borde
«Procesamiento del pedido» oculta 10 pasos internos
Abrir en BP1 Modeler →Bucle: una tarea se repite — «Negociar condiciones» se ejecuta de nuevo hasta que ambas partes están de acuerdoAbrir en BP1 Modeler →Múltiples instancias en paralelo (tres barras): «Pedir presupuesto» se ejecuta a la vez una vez por proveedor; el proceso continúa cuando llegan todos los presupuestosAbrir en BP1 Modeler →Compensación: «Cancelar reserva de hotel» solo se ejecuta si el viaje se cancela después de reservar el hotel — se vincula mediante un evento de frontera de compensación, no mediante un flujo
Subproceso
Actividad compuesta marcada con «+». Contiene su propia secuencia de pasos. Los flujos no pueden cruzar su borde. Los eventos intermedios se adhieren al borde.
Abrir en BP1 Modeler →Un subproceso encapsula sus propios pasos: expandido, «Pagar pedido» los muestra con su propio inicio y fin; contraído, «Enviar pedido» los oculta tras el marcador «+»
Actividad de llamada (Call Activity)
Borde grueso. Referencia a un subproceso global (p. ej. «Compras») que se reutiliza en distintos procesos.
Diferencia con un subproceso embebido: en el embebido los datos están accesibles directamente (mismo ámbito que el padre). Una Call Activity es un proceso aparte — sus entradas y salidas requieren un mapeo de datos explícito: qué se pasa al invocar y qué se recoge al volver.
Abrir en BP1 Modeler →Call Activity (borde grueso): «Ventas» y «Leasing» invocan el mismo proceso global «Verificar crédito»
Subproceso Ad-hoc
Marcador «~». Las actividades internas pueden ejecutarse en cualquier orden, repetirse o saltarse. No se permiten eventos de inicio/fin en su interior.
Abrir en BP1 Modeler →Subproceso Ad-hoc (~): las tareas no tienen flujos — se realizan en cualquier orden, se repiten o se omiten
Subproceso por eventos
Borde discontinuo dentro de un proceso. Se dispara con un evento de inicio mientras el padre esté activo. Interrumpe — cancela al padre. No interrumpe — se ejecuta en paralelo.
Abrir en BP1 Modeler →Subproceso por eventos (borde punteado): sin flujo entrante — el mensaje «Dirección cambiada» lo inicia mientras el pedido está en curso; el inicio discontinuo no interrumpe el flujo principal
Compuertas (Gateways)
Controlan la bifurcación y la convergencia. Una compuerta no realiza trabajo: solo dirige el flujo; la decisión la prepara la tarea anterior.
Exclusiva XOR
O uno u otro
Paralela AND
Y/Y
Inclusiva OR
Una o varias
Por eventos
Event-based
Compleja
Complex
Vacía
None
Compuerta exclusiva (XOR)
La compuerta más habitual. Al dividir, activa exactamente una ruta saliente — aquella cuya condición se cumple primero. Si no se cumple ninguna, el proceso falla con un error (por eso conviene definir siempre una rama «por defecto»). Al converger, deja pasar cada token entrante de inmediato, sin esperar a los demás.
Analogía: una bifurcación en la carretera donde tomas un único camino.
Ejemplos: «¿Pedido pagado? → Sí / No», «¿Importe > 10 000? → Sí / No».
Recomendación: formula la pregunta antes de la compuerta y coloca las respuestas en las flechas salientes.
Abrir en BP1 Modeler →Compuerta XOR: se toma exactamente una rama; la XOR de convergencia deja pasar el pedido sin esperar
Compuerta paralela (AND)
Al dividir, activa todas las rutas salientes a la vez, sin condiciones — sin comprobaciones. Al converger, espera tokens por todas las rutas entrantes y solo cuando llegan todas pasa un único token adelante.
Analogía: un jefe reparte tareas entre cinco empleados y espera a que los cinco terminen.
Ejemplos: envío del producto y emisión de la factura en paralelo; revisión simultánea de documentos por distintos departamentos.
Antipatrón: no converjas con AND ramas que se dividieron con XOR o que solo se recorren una vez. AND esperará para siempre tokens en todas las entradas — el proceso se bloquea (deadlock). Tras un XOR conviene converger con un XOR (o un rombo vacío).
Abrir en BP1 Modeler →Compuerta AND: el envío y la facturación empiezan a la vez; la AND de convergencia espera a ambos
Compuerta inclusiva (OR)
Híbrido entre XOR y AND. Al dividir, activa una o varias rutas según las condiciones — cada condición se evalúa de forma independiente. Al converger, espera tokens solo en las rutas realmente activadas (no en todas, como hace AND).
Analogía: un bufé — tomas un plato, dos o todos, pero nunca cero.
Ejemplos: el cliente eligió entrega y/o recogida y/o envoltorio de regalo — hay que ejecutar las opciones elegidas y esperar a que terminen todas.
Atención: Las compuertas OR son más difíciles de analizar. En diagramas ramificados las reglas de sincronización pueden no ser obvias. No todos los motores las implementan correctamente.
Abrir en BP1 Modeler →Compuerta OR: bienes físicos, digitales o ambos — se ejecutan una o las dos ramas, y la OR de convergencia solo espera a las ramas tomadas
Compuerta basada en eventos
Es fundamentalmente distinta del resto: enruta no por los datos, sino por el evento que ocurra primero. Tras la compuerta se colocan eventos intermedios de espera (temporizador, mensaje, condición, señal). En cuanto uno se dispara, los demás se cancelan.
Analogía: envías una oferta a un candidato y esperas: si responde, sigues; si pasa una semana sin respuesta, pasas al siguiente candidato.
Ejemplos: esperar el pago con un temporizador (no pagado en 3 días → cancelar el pedido); esperar la respuesta del cliente o un plazo.
Abrir en BP1 Modeler →Compuerta basada en eventos: gana lo que llegue primero — el pago envía el pedido, 3 días sin él lo cancelan
Compuerta compleja
Se usa cuando la lógica de bifurcación no puede expresarse con las compuertas estándar. La condición de convergencia se define mediante una expresión (por ejemplo, «continuar cuando 3 de 5 ramas hayan terminado» o «cuando llegue la primera respuesta y hayan pasado 10 minutos»).
En la práctica: poco frecuente y no todos los motores BPM la soportan. Si basta con una combinación de XOR / AND / OR, mejor optar por ella.
Vacía (None / Exclusiva por defecto)
Un rombo sin marcador. Semánticamente equivalente a la exclusiva (XOR) — el estándar BPMN permite omitir la cruz. Algunos metodólogos lo consideran mala práctica porque resta legibilidad: no queda claro si el autor olvidó el marcador o eligió XOR deliberadamente.
Eventos (Events)
Conceptos clave
Un evento es algo que ocurre (un hecho), a diferencia de una tarea (acción activa). Se dibujan como círculos.
Inicio
Círculo fino
Intermedio
Círculo doble
Fin
Círculo grueso
Catching (marcador sin relleno) — espera. Throwing (relleno) — lanza. Eventos de frontera: interrumpen (continuo) y no interrumpen (discontinuo).
Tabla resumen de eventos
«—» = no definido por el estándar.
Tipo
Inicio
Intermedio
Fin
Normal
Subpr. ev.
No int.
Captura
Frontera
Frontera no int.
Lanza
Vacío (None)
—
—
—
—
—
✉ Mensaje
⏱ Temporizador
—
—
⚡ Error
—
—
—
—
—
▲ Señal
📋 Condicional
—
—
↗ Escalación
—
—
⬤ Terminar
—
—
—
—
—
—
—
⏪ Compensación
—
—
—
—
✖ Cancelar
—
—
—
—
—
—
➡ Enlace
—
—
—
—
—
—
⬠ Múltiple
➕ Mult. paralelo
—
—
Mensaje (Message)
Intercambio con un destinatario concreto: correo, llamada, HTTP, push. Disponible en todas las posiciones.
Abrir en BP1 Modeler →Mensaje: el evento de fin de mensaje de la tienda envía una solicitud de recogida, y el evento de inicio de mensaje de la mensajería inicia un nuevo proceso
Temporizador (Timer)
Fecha/hora, intervalo, cuenta atrás (plazo). Solo catching.
Abrir en BP1 Modeler →Temporizadores: un inicio programado, un recordatorio no interruptivo al cabo de 1 día y un plazo interruptivo al cabo de 2 días
Error
Fallo grave. Catching — solo en frontera. Throwing — solo final.
Abrir en BP1 Modeler →Error: si falla el cobro con tarjeta, el error de frontera interrumpe la tarea y el pedido pasa a la cancelación
Condicional (Conditional)
Espera de una condición externa («el stock baja del mínimo»). Solo catching.
Abrir en BP1 Modeler →Condicional: tras la confirmación, el proceso espera hasta que el artículo esté en stock y luego envía el pedido
Señal (Signal)
Difusión (frente a mensaje dirigido). Cualquier suscriptor reacciona.
Abrir en BP1 Modeler →Señal: la sede central difunde «Producto retirado»; cada tienda que la escucha inicia su propio proceso — sin necesidad de flujo de mensajes
Terminar (Terminate)
Detiene de inmediato toda la instancia del proceso. Solo final.
Abrir en BP1 Modeler →Sin Terminate: cada rama paralela llega a su propio fin; la instancia solo termina tras la más larga, a los 45 minutos
¿Y si después de terminar la tarea 3 ya no tiene sentido continuar la tarea 2? Entonces se aplica el siguiente patrón:
Abrir en BP1 Modeler →Con Terminate: si el arreglo rápido resuelve el ticket, el fin Terminate detiene toda la instancia de inmediato, incluida «Buscar causa», aún en ejecución
Enlace (Link)
«Teletransporte» del flujo. Un par throw + catch sustituye a una flecha larga. Solo intermedio.
Abrir en BP1 Modeler →Enlace: el enlace throwing «Envío» cierra una fila y el catching continúa en la siguiente — en lugar de una flecha larga que cruza el diagrama
Compensación (Compensation)
Revierte una acción ya ejecutada. La tarea compensadora se vincula mediante una asociación.
Abrir en BP1 Modeler →Compensación: el evento de fin de compensación activa el evento de frontera de «Cobrar tarjeta», ya completada, y su manejador reembolsa el pago
Escalación (Escalation)
Va del subproceso al padre, sin ser un error. Puede ser no interrumpiente.
Abrir en BP1 Modeler →Escalación: el subproceso de entrega lanza «Entrega tardía»; la frontera no interruptiva la captura y avisa al cliente mientras la entrega continúa
Cancelar (Cancel)
Solo en el contexto de transacciones. Final — rollback. Frontera — catch.
Datos, artefactos, flujos
Objeto de datos
Data Object
Almacén
Data Store
Entrada de datos
Data Input
Salida de datos
Data Output
Anotación
Text Annotation
Grupo
Group
Flujo
Sequence Flow
Flujo de mens.
Message Flow
Condicional
Conditional Flow
Predeterm.
Default Flow
Transacción
Transaction
Objeto de datos (Data Object)
«Hoja de papel» con la esquina doblada. Representa información que se crea, consume o transfiere entre tareas dentro de una instancia del proceso. Solo existe mientras la instancia esté viva.
Ejemplos: una solicitud de cliente, un borrador de contrato, un informe que se va completando durante el proceso.
Almacén de datos (Data Store)
Un cilindro. Almacenamiento persistente que sobrevive a la instancia del proceso: base de datos, registro, almacenamiento de archivos. Las tareas lo leen y escriben.
Ejemplos: CRM, ERP, base de datos de pedidos, archivo de documentos.
Entrada / Salida de datos (Data Input / Output)
Parámetros del proceso o subproceso en su frontera. Entrada — lo que se aporta desde fuera; salida — lo que se devuelve. Flecha con un triángulo hueco/relleno.
Ejemplos: a la entrada del subproceso «Compras» — una lista de artículos; a la salida — una factura.
Anotación de texto (Text Annotation)
Un comentario conectado a cualquier elemento mediante una línea discontinua. No afecta a la ejecución — solo sirve para aclarar el diagrama al lector.
Grupo (Group)
Rectángulo discontinuo con esquinas redondeadas. Agrupación visual de elementos (por ejemplo, «todas las tareas de logística»). No tiene semántica de ejecución; los flujos pueden cruzar su frontera libremente.
Flujo de secuencia (Sequence Flow)
Flecha sólida con punta rellena. Define el orden de ejecución dentro de un mismo pool. No puede cruzar las fronteras del pool.
Flujo condicional (con un pequeño rombo en el origen) — se activa solo si la condición es verdadera. Se usa en las flechas salientes de una tarea sin compuerta.
Flujo por defecto (con una marca en el origen) — la ruta de respaldo de una compuerta XOR/OR o de una bifurcación condicional, que se toma si no se cumple ninguna condición.
Flujo de mensajes (Message Flow)
Flecha discontinua con punta hueca. Conecta distintos pools — un mensaje intercambiado entre participantes independientes. No se usa dentro de un mismo pool.
Ejemplos: el cliente envía el pedido a la tienda online; el banco envía la confirmación de pago.
Transacción (Transaction)
Subproceso con doble borde. Semántica ACID: o todas las acciones internas se confirman correctamente, o toda la transacción se revierte mediante un evento Cancel (con compensaciones). Se usa para mantener la consistencia en operaciones distribuidas.
Ejemplos: reservar un paquete «vuelo + hotel + coche» — si algo falla, se cancela todo.
¿Listo para llevar BPMN a la práctica?
Hable con nuestro equipo: analizamos su proceso y le mostramos BP1.ai ejecutando BPMN con sus propios datos.