Contêiner para um processo. Participante de uma interação. A troca entre pools acontece apenas por fluxos de mensagens. Pode ser recolhido para ocultar detalhes.
Abrir no BP1 Modeler →Um pool, um processo: o pedido passa de Vendas para Armazém e para Expedição — o pool coordena o trabalhoAbrir no BP1 Modeler →Colaboração: o cliente e a loja são pools separados — eles interagem apenas por mensagens
Raia
Uma faixa dentro do pool que indica quem executa as tarefas (cargo, papel, departamento ou sistema de TI).
Abrir no BP1 Modeler →Raias dividem um processo por papel: o agente classifica o chamado, e um bug vai para a raia Engenheiro
Atividades (Activities)
Tipos de tarefa
Abstrata
Task (None)
Manual
Manual
De usuário
User Task
Envio
Send Task
Recebimento
Receive Task
Script
Script Task
De serviço
Service Task
Regra de negócio
Business Rule
Abstrata (None Task)
Tipo não especificado. Usado nas primeiras fases da modelagem, quando o método de execução ainda não foi definido ou quando ele não é relevante para o objetivo do diagrama. Em essência, um marcador que depois é refinado.
Tarefa de usuário (User Task)
Executada por uma pessoa por meio de uma interface de software: um formulário no CRM, uma tela em um app web, uma tarefa em um gerenciador. A diferença chave em relação à tarefa manual é que a pessoa trabalha dentro do sistema que monitora o status da tarefa.
Exemplos: aprovar uma solicitação no sistema, preencher um formulário, revisar um documento no portal do cliente.
Tarefa manual (Manual Task)
Executada por uma pessoa sem a participação do motor BPM. O sistema não consegue detectar automaticamente o início ou o fim desse trabalho.
Exemplos: assinar fisicamente um documento, ligar para o cliente, realizar uma reunião presencial, entregar uma encomenda por mensageiro.
Tarefa de serviço (Service Task)
Executada automaticamente por um programa ou serviço. Nenhuma pessoa está envolvida. É o tipo mais comum em processos executáveis.
Exemplos: uma requisição HTTP a uma API, uma gravação no banco de dados, uma chamada de microsserviço, executar um cálculo.
Tarefa de envio (Send Task)
Envia uma mensagem para um participante externo específico (outro processo ou sistema) e termina imediatamente, sem aguardar resposta. Padrão «atire e esqueça».
Exemplos: enviar um e-mail ao cliente, publicar um evento em uma fila de mensagens, enviar uma notificação via webhook.
Tarefa de recebimento (Receive Task)
Aguarda uma mensagem recebida de um participante externo. O processo pausa nessa tarefa até a mensagem chegar.
Variante especial: a Receive instanciadora (instantiated): se essa tarefa for o primeiro passo do processo, a própria recepção da mensagem cria uma nova instância (alternativa ao evento de início por mensagem).
Exemplos: aguardar a resposta de uma contraparte, aguardar um callback do gateway de pagamento, aguardar a confirmação de entrega.
Tarefa de script (Script Task)
Executa um script embutido (código) definido diretamente dentro do modelo do processo. Diferente da tarefa de serviço, o código não chama nenhum sistema externo — ele roda dentro do motor BPM.
Exemplos: converter um formato de dados, calcular um prazo, montar uma string para um e-mail, verificar uma condição.
Tarefa de regra de negócio (Business Rule Task)
Invoca um motor de decisões (por exemplo uma tabela DMN). As entradas são avaliadas contra um conjunto de regras e uma decisão é retornada.
Exemplos: determinar um desconto pela categoria do cliente, calcular um prêmio de seguro, verificar uma solicitação contra uma política, classificar um chamado.
Abrir no BP1 Modeler →Tipos de tarefa: a forma é a mesma, só o ícone no canto indica como o trabalho é feito
Marcadores de tarefa
Pequenos ícones na parte inferior central do retângulo da tarefa. Indicam o comportamento — não o seu tipo.
Loop
Loop
Múlt. inst. ∥
Parallel MI
Múlt. inst. ≡
Sequential MI
Compensação
Compensation
Ad-hoc ~
Ad-hoc
Subprocesso +
Subprocess
Marcador
Significado
Exemplo
↻ Loop
A tarefa se repete enquanto a condição for verdadeira (uma instância, várias iterações)
Revisar o documento → enviar → se rejeitado, repetir
∥ Múlt. inst. em paralelo
São iniciadas N instâncias ao mesmo tempo — uma por item da coleção
Enviar a notificação a todos os aprovadores ao mesmo tempo
≡ Múlt. inst. sequencial
As mesmas N instâncias, mas uma após a outra
Entrevistar cada candidato em sequência
⏪ Compensação
Tarefa de reversão: executa apenas quando a compensação é acionada, para desfazer uma ação já concluída
«Cancelar reserva» após «Reservar» já ter sido executado
~ Ad-hoc
As tarefas dentro do subprocesso são executadas em qualquer ordem, podem se repetir ou ser puladas; eventos de início/fim não são permitidos dentro
Escolha livre de passos durante uma consultoria ao cliente
+ Subprocesso
Atividade composta com uma sequência interna oculta; os fluxos não atravessam sua borda
«Processamento do pedido» oculta 10 passos internos
Abrir no BP1 Modeler →Loop: uma tarefa se repete — «Negociar termos» roda de novo até que as duas partes concordemAbrir no BP1 Modeler →Múltiplas instâncias em paralelo (três barras): «Pedir orçamento» roda uma vez por fornecedor ao mesmo tempo; o processo segue quando todos os orçamentos chegamAbrir no BP1 Modeler →Compensação: «Cancelar reserva de hotel» só roda se a viagem for cancelada depois de o hotel ser reservado — ela é ligada por um evento de borda de compensação, não por um fluxo
Subprocesso
Atividade composta marcada com «+». Contém sua própria sequência de passos. Os fluxos não podem atravessar sua borda. Eventos intermediários são anexados à borda.
Abrir no BP1 Modeler →Um subprocesso encapsula seus próprios passos: expandido, «Pagar pedido» os mostra com início e fim próprios; recolhido, «Enviar pedido» os oculta atrás do marcador «+»
Atividade de chamada (Call Activity)
Borda grossa. Referencia um subprocesso global (p. ex. «Compras») reutilizado em diferentes processos.
Diferença para um subprocesso embutido: no embutido os dados ficam acessíveis diretamente (escopo compartilhado com o pai). Já uma Call Activity é um processo separado — entradas e saídas exigem mapeamento de dados explícito: o que se passa na chamada e o que se recolhe no retorno.
Abrir no BP1 Modeler →Call Activity (borda grossa): «Vendas» e «Leasing» chamam o mesmo processo global «Verificar crédito»
Subprocesso Ad-hoc
Marcador «~». As atividades internas podem ser executadas em qualquer ordem, repetir-se ou ser puladas. Eventos de início/fim não são permitidos dentro.
Abrir no BP1 Modeler →Subprocesso Ad-hoc (~): as tarefas não têm fluxos — são feitas em qualquer ordem, repetidas ou puladas
Subprocesso por eventos
Borda tracejada dentro de um processo. Disparado por um evento de início enquanto o pai está ativo. Interrompe — cancela o pai. Não interrompe — executa em paralelo.
Abrir no BP1 Modeler →Subprocesso por eventos (borda pontilhada): sem fluxo de entrada — a mensagem «Endereço alterado» o inicia enquanto o pedido está em andamento; o início tracejado não interrompe o fluxo principal
Gateways
Controlam ramificação e convergência. Um gateway não executa trabalho: apenas direciona o fluxo; a decisão é preparada pela tarefa anterior.
Exclusivo XOR
Ou um ou outro
Paralelo AND
E/E
Inclusivo OR
Um ou mais
Por eventos
Event-based
Complexo
Complex
Vazio
None
Gateway exclusivo (XOR)
O gateway mais comum. Ao dividir, ativa exatamente um caminho de saída — aquele cuja condição é satisfeita primeiro. Se nenhuma condição é atendida, o processo falha com erro (por isso é boa prática sempre definir uma ramificação «padrão»). Ao convergir, deixa cada token que chega passar imediatamente, sem esperar os demais.
Analogia: uma bifurcação na estrada onde você segue apenas em uma direção.
Recomendação: formule a pergunta antes do gateway e coloque as respostas nas setas de saída.
Abrir no BP1 Modeler →Gateway XOR: exatamente um ramo é seguido; o XOR de convergência passa o pedido adiante sem esperar
Gateway paralelo (AND)
Ao dividir, ativa todos os caminhos de saída simultaneamente, sem condições — sem verificações. Ao convergir, aguarda tokens em todos os caminhos de entrada e somente quando todos chegam é que passa um único token adiante.
Analogia: um gerente distribui tarefas a cinco funcionários e aguarda até que todos os cinco terminem.
Exemplos: envio do produto e emissão da fatura em paralelo; revisão simultânea de documentos por diferentes departamentos.
Antipadrão: não convirja com AND ramos que foram divididos por XOR ou que são percorridos apenas uma vez. O AND ficará esperando para sempre tokens em todas as entradas — o processo trava (deadlock). Após um XOR, convirja com um XOR (ou um losango vazio).
Abrir no BP1 Modeler →Gateway AND: envio e faturamento começam juntos; o AND de convergência espera pelos dois
Gateway inclusivo (OR)
Híbrido entre XOR e AND. Ao dividir, ativa um ou mais caminhos conforme as condições — cada condição é avaliada de forma independente. Ao convergir, aguarda tokens apenas nos caminhos que foram realmente ativados (não em todos, como o AND).
Analogia: um bufê — você pega um prato, dois ou todos, mas nunca zero.
Exemplos: o cliente escolheu entrega e/ou retirada e/ou embalagem para presente — execute as opções selecionadas e aguarde a conclusão de todas.
Atenção: Gateways OR são mais difíceis de analisar. Em diagramas ramificados as regras de sincronização podem não ser óbvias. Nem todos os motores os suportam corretamente.
Abrir no BP1 Modeler →Gateway OR: bens físicos, digitais ou ambos — um ou os dois ramos rodam, e o OR de convergência espera apenas pelos ramos ativados
Gateway baseado em eventos
É fundamentalmente diferente dos demais: roteia não pelos dados, mas pelo evento que ocorrer primeiro. Após o gateway são colocados eventos intermediários de espera (temporizador, mensagem, condição, sinal). Assim que um dispara, os demais são cancelados.
Analogia: você envia uma proposta a um candidato e espera: se ele responder, você segue; se passar uma semana sem resposta, passa ao próximo candidato.
Exemplos: aguardar o pagamento com um temporizador (não pago em 3 dias → cancelar o pedido); aguardar a resposta do cliente ou um prazo.
Abrir no BP1 Modeler →Gateway baseado em eventos: vence o que vier primeiro — o pagamento faz o pedido ser enviado, 3 dias sem ele o cancelam
Gateway complexo
Usado quando a lógica de ramificação não pode ser expressa pelos gateways padrão. A condição de convergência é definida por uma expressão (por exemplo, «continuar quando 3 de 5 ramos tiverem finalizado» ou «quando chegar a primeira resposta e tiverem se passado 10 minutos»).
Na prática: raramente usado e nem todos os motores BPM o suportam. Se uma combinação de XOR / AND / OR for suficiente, prefira-a.
Vazio (None / Exclusivo por padrão)
Um losango sem marcador. Semanticamente equivalente ao exclusivo (XOR) — o padrão BPMN permite omitir a cruz. Alguns metodologistas consideram má prática, pois prejudica a legibilidade: não fica claro se o autor esqueceu o marcador ou escolheu XOR de propósito.
Eventos (Events)
Conceitos-chave
Um evento é algo que ocorre (um fato), ao contrário de uma tarefa (ação ativa). Representados por círculos.
Início
Círculo fino
Intermediário
Círculo duplo
Fim
Círculo grosso
Catching (marcador sem preenchimento) — espera. Throwing (preenchido) — dispara. Eventos de borda: interrompem (sólido) e não interrompem (tracejado).
Tabela resumo de eventos
«—» = não definido pelo padrão.
Tipo
Início
Intermediário
Fim
Normal
Subpr. ev.
Não int.
Captura
Borda
Borda não int.
Dispara
Vazio (None)
—
—
—
—
—
✉ Mensagem
⏱ Temporizador
—
—
⚡ Erro
—
—
—
—
—
▲ Sinal
📋 Condicional
—
—
↗ Escalação
—
—
⬤ Terminar
—
—
—
—
—
—
—
⏪ Compensação
—
—
—
—
✖ Cancelar
—
—
—
—
—
—
➡ Link
—
—
—
—
—
—
⬠ Múltiplo
➕ Mult. paralelo
—
—
Mensagem (Message)
Troca com um destinatário específico: e-mail, chamada, HTTP, push. Disponível em todas as posições.
Abrir no BP1 Modeler →Mensagem: o evento de fim de mensagem da loja envia um pedido de coleta, e o evento de início de mensagem da transportadora inicia um novo processo
Temporizador (Timer)
Data/hora, intervalo, contagem regressiva (prazo). Apenas catching.
Abrir no BP1 Modeler →Temporizadores: um início programado, um lembrete não-interruptivo após 1 dia e um prazo interruptivo após 2 dias
Erro
Falha grave. Catching — apenas em borda. Throwing — apenas final.
Abrir no BP1 Modeler →Erro: se a cobrança no cartão falhar, o erro de borda interrompe a tarefa e o pedido segue para o cancelamento
Condicional (Conditional)
Espera de uma condição externa («o estoque fica abaixo do mínimo»). Apenas catching.
Abrir no BP1 Modeler →Condicional: após a confirmação, o processo espera até o item estar em estoque e então envia o pedido
Sinal (Signal)
Difusão (em oposição a uma mensagem endereçada). Qualquer assinante reage.
Abrir no BP1 Modeler →Sinal: a matriz difunde «Produto recolhido»; cada loja que escuta esse sinal inicia seu próprio processo — sem precisar de fluxo de mensagens
Terminar (Terminate)
Encerra imediatamente toda a instância do processo. Apenas final.
Abrir no BP1 Modeler →Sem Terminate: cada ramo paralelo chega ao seu próprio fim; a instância só termina depois do mais longo, aos 45 minutos
E se depois de a tarefa 3 terminar já não fizer sentido continuar a tarefa 2? Aplica-se então o padrão abaixo:
Abrir no BP1 Modeler →Com Terminate: se o ajuste rápido resolver o chamado, o fim Terminate encerra a instância inteira na hora, incluindo «Achar causa», ainda em execução
Link
«Teletransporte» do fluxo. Um par throw + catch substitui uma seta longa. Apenas intermediário.
Abrir no BP1 Modeler →Link: o link throwing «Envio» encerra uma linha e o catching continua na seguinte — em vez de uma seta longa atravessando o diagrama
Compensação (Compensation)
Reverte uma ação já executada. A tarefa compensatória é vinculada por uma associação.
Abrir no BP1 Modeler →Compensação: o evento de fim de compensação aciona o evento de borda de «Cobrar cartão», já concluída, e seu handler reembolsa o pagamento
Escalação (Escalation)
Vai do subprocesso para o pai, sem ser um erro. Pode ser não interruptora.
Abrir no BP1 Modeler →Escalação: o subprocesso de entrega lança «Entrega tardia»; a borda não-interruptiva a captura e avisa o cliente enquanto a entrega continua
Cancelar (Cancel)
Apenas no contexto de transações. Final — rollback. Borda — catch.
Dados, artefatos, fluxos
Objeto de dados
Data Object
Repositório
Data Store
Entrada de dados
Data Input
Saída de dados
Data Output
Anotação
Text Annotation
Grupo
Group
Fluxo
Sequence Flow
Fluxo de mens.
Message Flow
Condicional
Conditional Flow
Padrão
Default Flow
Transação
Transaction
Objeto de dados (Data Object)
«Folha de papel» com o canto dobrado. Representa informação que é criada, consumida ou transferida entre tarefas dentro de uma instância do processo. Só existe enquanto a instância estiver viva.
Exemplos: uma solicitação de cliente, um rascunho de contrato, um relatório montado ao longo do processo.
Repositório de dados (Data Store)
Um cilindro. Armazenamento persistente que sobrevive à instância do processo: banco de dados, registro, repositório de arquivos. As tarefas leem e escrevem nele.
Exemplos: CRM, ERP, base de dados de pedidos, arquivo de documentos.
Entrada / Saída de dados (Data Input / Output)
Parâmetros do processo ou subprocesso na sua borda. Entrada — o que é fornecido externamente; saída — o que é retornado. Seta com triângulo vazado/preenchido.
Exemplos: na entrada do subprocesso «Compras» — uma lista de itens; na saída — uma fatura.
Anotação de texto (Text Annotation)
Um comentário ligado a qualquer elemento por uma linha tracejada. Não afeta a execução — serve apenas para esclarecer o diagrama ao leitor.
Grupo (Group)
Retângulo tracejado de cantos arredondados. Agrupamento visual de elementos (por exemplo, «todas as tarefas de logística»). Não possui semântica de execução; os fluxos podem atravessar sua borda livremente.
Fluxo de sequência (Sequence Flow)
Seta sólida com ponta preenchida. Define a ordem de execução dentro de um mesmo pool. Não pode atravessar bordas de pool.
Fluxo condicional (com um pequeno losango na origem) — só dispara se a condição for verdadeira. Usado em setas de saída de uma tarefa sem gateway.
Fluxo padrão (com um traço na origem) — caminho de reserva de um gateway XOR/OR ou de uma bifurcação condicional, ativado quando nenhuma das condições é satisfeita.
Fluxo de mensagens (Message Flow)
Seta tracejada com ponta vazada. Conecta pools diferentes — uma mensagem trocada entre participantes independentes. Não é usado dentro de um mesmo pool.
Exemplos: o cliente envia o pedido para a loja online; o banco envia a confirmação de pagamento.
Transação (Transaction)
Subprocesso com borda dupla. Semântica ACID: ou todas as ações internas são confirmadas com sucesso, ou toda a transação é revertida via um evento Cancel (com compensações). Usada para manter consistência em operações distribuídas.
Exemplos: reservar um pacote «voo + hotel + carro» — se algo falhar, tudo é cancelado.
Pronto para colocar o BPMN em prática?
Fale com a nossa equipe: mapeamos o seu processo e mostramos o BP1.ai executando BPMN com os seus próprios dados.