Evento Intermediário de Mensagem(Intermediate Message Event)
Um evento intermediário que pausa o fluxo até que uma mensagem específica chegue (captura) ou que envia uma mensagem ao seguir adiante (lançamento). Representa a comunicação entre participantes ao longo do processo.
O Evento Intermediário de Mensagem (Intermediate Message Event) modela a troca de mensagens durante a execução do processo — diferente do Evento de Início de Mensagem, que apenas dispara uma nova instância.
Ele tem duas variações:
- Captura (catch): o token aguarda no evento até que a mensagem correspondente seja recebida. O marcador de envelope aparece vazado (contorno).
- Lançamento (throw): ao ser alcançado, o evento envia uma mensagem e o token segue imediatamente. O marcador de envelope aparece preenchido (sólido).
A mensagem sempre cruza a fronteira de um Pool (chega de outro participante) e é normalmente ligada a um Fluxo de Mensagem (Message Flow).
Quando usar e evitar
Quando usar
Quando o processo precisa esperar por uma comunicação externa antes de continuar (ex.: aguardar a confirmação de pagamento de um cliente).
Para modelar handshakes assíncronos entre dois Pools (participantes distintos).
Quando o recebimento não deve iniciar uma nova instância, mas sim retomar uma já em andamento.
Quando NÃO usar
Para iniciar o processo a partir de uma mensagem — use o Evento de Início de Mensagem (Message Start Event).
Quando o recebimento é a primeira coisa que a atividade faz e você quer semântica de tarefa: prefira uma Tarefa de Recebimento (Receive Task), que pode ter marcadores de loop e anexos de borda.
Para comunicação dentro do mesmo Pool — mensagens representam troca entre participantes; dentro do mesmo processo use Fluxo de Sequência.
Exemplo de negócio
Aguardar confirmação de pagamento do cliente

Abra este exemplo no editor de processos da HEFLO e explore o diagrama por dentro.
Abrir no editor HEFLO →Passo a passo
O diagrama mostra o Pool do fornecedor processando um pedido.
- O processo inicia quando o pedido é registrado.
- A tarefa Emitir fatura gera a cobrança e a envia ao cliente.
- O Evento Intermediário de Captura de Mensagem (destacado) pausa o fluxo: o token fica parado aqui até que a mensagem de confirmação de pagamento chegue do cliente.
- Assim que a mensagem é recebida, o token avança para Liberar envio e o processo termina.
Observe que sem esse evento o fornecedor liberaria o envio antes de confirmar o pagamento — o evento de captura impõe o ponto de sincronização.
Diferenças
Diferença entre Evento Intermediário de Lançamento de Mensagem e Tarefa de Envio
Ambos enviam uma mensagem, mas a Tarefa de Envio (Send Task) é uma atividade: consome tempo de trabalho, pode ter marcadores de loop/multi-instância e aceita eventos de borda. O Evento de Lançamento de Mensagem é atômico e instantâneo — apenas dispara a mensagem e o token segue. Use a tarefa quando o envio é um trabalho modelável; use o evento quando é só uma notificação em trânsito.
Diferença entre Sinal e Mensagem
A Mensagem (Message) é direcionada a um destinatário específico (comunicação ponto a ponto entre dois participantes). O Sinal (Signal) é uma transmissão (broadcast): quem estiver ouvindo reage, sem destinatário definido. Prefira Mensagem para conversas 1-para-1 entre Pools; prefira Sinal para eventos de difusão como “promoção lançada”.
FAQ
Qual a diferença visual entre captura e lançamento de mensagem?
O evento de captura mostra o envelope apenas com o contorno (vazado); o de lançamento mostra o envelope preenchido (sólido). A borda do círculo é dupla e fina em ambos, pois são eventos intermediários.
Posso usar um evento intermediário de mensagem anexado à borda de uma tarefa?
Sim. Um evento de mensagem anexado à borda (Boundary Message Event) reage a uma mensagem enquanto a atividade está em execução. Se for interrompente, cancela a atividade; se não-interrompente, dispara um caminho paralelo sem interromper.