When to use send/receive tasks, message events or a message event attached to a task?


I´m trying to model a process where the participants have to get authorizations from their superiors. I dont really get when I should use a message task, message event or even a message event attached to a task.

My process is about a budget control where a manager checks his expenditures monthly and if he has to change anything in it, he'd have to ask for his superior permission, who also asks for his superior permission, in an hierarchy.

Thats how the process would look like:

The process starts with a subprocess where an employee updates monthly the budget x expenditures worksheet.

Then the Manager analyzes the monthly budget/expenditure control sheet -> If there is any expenditures wrong -> Manager requests authorization from Executive Manager -> Executive Manager receives authorization request -> Exec. Manager analyzes request -> If Exec. Manager accepts request -> Exec. Manager requests authorization from Director -> Director receives authorization request -> Director analyzes request -> Director returns analyzes/authorization to Exec. Manager, who returns the authorizaton to the requester.

So my doubts would be:

1- When to use send/receive tasks or events in THIS case, and whats the real difference between them?

2- Are the receiving tasks/events really necessary? Or could I go from Manager sends authorization request, flowing to Exec manager analyzes request, since its in the same process and its explicit that if the Manager sends a request and the next task is to the Exec Manager analyze it, he has receiven it? Is it wrong if I dont have a task/event to receive the request?

3 - Theres also another gateway in the process there a didnt detail above, where the actor can ask the requester for more information after analyzing the request and before approving it. If Id consider the authorization request/approval as a subprocess, how could I map it to ask for more information before ending the subprocess? What i mean is how can I exchange messages between subprocesses and their main process before I end my subprocess?

I´m a new BPMN/Bizagi user and i dont know much yet about choreography diagrams, but would it be also interesting to map this authorization sub/process?

My process is in portuguese and isnt finished yet because im stuck with these doubts but im gonna attach it to my post, so you guys can check it and try to understand it better if my explanation isnt clear enough.

Comments (1)


Dear Lucas,

If we understood your doubts, you are trying to use iteration between pools, That means that you require to send information from one pool to another. The idea of this forum is to help you to develop your diagram using our help site and e-learning courses, but not to analyse and solve your analysis doubts.

More than one pool in a diagram represents interaction between separated business entities or performers.

Many business processes require interaction between each other to be correctly performed and accomplished. In BPMN these interactions are defined as a sequence of activities that represent message exchange patterns between the entities involved. In BPMN this behavior is know as Collaboration.

For further information:

In addition, we can see that you have some problems in your BPMN diagram. The BPMN (Business Process Modeling Notation) standard provides organizations with the capability of understanding their internal business processes in a graphical notation and the ability to communicate their procedures in a standard manner. However, the use of the standard do not ensure that processes are modeled in a clear and effective way; the way modelers interpret business conditions, and how they define its structure, is crucial to ensuring they are understood correctly.

This article provides you some guidelines to build clear and effective models compliant with the BPMN standard:

Best regards