Modeling for execution

<< Click to Display Table of Contents >>

Navigation:  Bizagi Studio > Process wizard > Model Process >

Modeling for execution

To make sure accurate diagrams, it is important to familiarize yourself with BPMN process modeling standard.

The following is a brief explanation of the BPMN Shapes.


BPMN Standard Shapes

The graphical aspects of BPMN is organized into specific categories.



Activities represent work or tasks carried out by members of the organization. They stand for manual or automatic tasks (performed by an external system or user). Activities can be atomic or non-atomic (compound) and they are classified into tasks and Sub-Processes.




A task is an atomic Activity and used when the work in progress cannot be broken down to a finer level of detail. It is performed by a person and/or application.






Is an atomic Activity within a Process flow. It is used when the work in the Process cannot be broken down to a finer level of detail.


Service Task

Is a Task that uses some sort of service that could be a Web service or an automated application.

Service task

Receive Task

Is a Task designed to wait for a message to arrive from an external participant (relative to the Process).

Receive task

Send Task

Is a Task designed to send a message to an external participant (relative to the Process).

Send task

Script Task

Is a Task that is executed by a Business Process Engine. The modeler defines a script in a language that the engine can interpret.

Script task

Manual Task

Is a Task that is expected to be performed without the aid of any business process execution or any application.

Manual task

Conditional Task

These tasks are enabled or disabled during the course of a case instance depending upon a business condition.

In Runtime, allocated end users will be able to see the task in their pending lists when the condition is met. If the condition is not met, the task disappears from the Inbox, like it never existed.

For more information refer to Conditional activities

Conditional task



A Sub-Process is a compound Activity that is included within a Process. Compound means that it can be broken down into lower levels, that is, it contains a set of Activities and a logic sequence (Process) within it.





Embedded Sub-Process

Is an Activity which internal details have been modeled using Activities, Gateways, Events, and Sequence Flows. The shape has a thin border.

Sub process

Reusable Sub-Process

Identifies a point in the Process where a predefined Process is used. A Reusable Sub-Process is called a Call Activity in BPMN.  The shape has a thick border.

Reusable sub process



Is a Sub-Process whose behavior is controlled through a transaction protocol. It includes the three basic outcomes of a transaction: Successful Completion, Failed Completion and Cancel Intermediate Event.


Multiple Sub-Process

Sub-Processes may be repeated sequentially, behaving like a loop.

The Multiple Sub-Process iterates a predetermined number of times.  The iterations occur sequentially or in parallel (simultaneously).

Multi Instance loop sub-process

Multi Instance parallel loop sub-process




Gateways are used to control the divergence and convergence of sequence flows. They determine ramifications, bifurcations, combinations and merges in the Process. The term “Gateway” implies that there is a gating mechanism that either allows or disallows passage through the Gateway.





Exclusive Gateway

As Divergence: It is used to create alternative paths within the Process, but only one is chosen.


As Convergence: It is used to merge alternative paths.

Exclusive gateway

Event Based Gateway

Represents a branching point in the Process where the alternative paths that follow the Gateway are based on Events that occur.


When the first Event is triggered, the path that follows that Event will  be used. All the remaining paths will no longer be valid.

Event based gateway

Parallel Gateway

As Divergence: is used to create alternative paths without checking any conditions.


As Convergence: is used to merge alternative paths, the gateways waits for all incoming flows before it continues.

Parallel gateway

Complex Gateway

As Divergence: is used to control complex decision points in the Process. It creates alternative paths within the Process using expressions.


As Convergence:  Allows continuation to the next point of the Process when a business condition becomes true.

Complex gateway

Inclusive Gateway

As Divergence: represents a branching point where alternatives are based on conditional expressions. The TRUE evaluation of one condition does not exclude the evaluation of the other conditions. All evaluations of a TRUE condition will be traversed by a token.


As Convergence: is used to merge a combination of alternative and parallel paths.


Inclusive gateway





A token represents a unit of work that is received by a Process and transferred between different Activities in the Process flow



An Event is something that happens during the course of the Process, affecting the Process flow and normally has a trigger or result.

To make an Event a throw or a catch Event, right-click it and select Is Throw. This option will enable or disable its behavior (applies for certain Events described below) .


Start Events





Start Event

Indicates where a specific Process starts. It does not have any particular behavior.

Start event

Message Start Event

Is used when a message arrives from a participant and triggers the start of the Process.

Message start event

Timer Start Event

Is used when the start of a Process occurs on a specific date or cycle time (e.g., every Friday)

Timer start

Signal Start Event

The start of the Process is triggered by the arrival of a signal that has been broadcast from another Process.


Note that the signal is not a message; messages have specific targets, signals do not.

Signal start event


Intermediate Events





Intermediate Event

Indicates where something happens somewhere between the start and end of a Process. It will affect the flow of the Process, but will not start or (directly) terminate the Process.

Intermediate event

Message Event

Indicates that a message can be sent or received.

If a Process is waiting for a message and it is caught the Process will continue its flow.

A catch Message Event waits for a message to arrive and once the message has been received, the Process will continue. The Event marker in this instance will be unfilled.


A throw Message Event sends a message to an external participant. The filled Event marker is allocated to the throw message.

Message intermediate event

Timer Event

Indicates a delay within the Process. This type of Event can be used within the sequential flow indicating a waiting time between Activities.

Timer intermediate

Link Event

This Event is used to connect two sections of the Process.

Link Events can be used to create looping situations or to avoid long Sequence Flow lines.


If there are two link Events on a Process (one catch and one throw) the Modeler will understand they are linked together. If there is one catch and two throw, the Modeler will understand both throws are received by the catch. If there are several catch and throw Events the name of the 'pairs' must match for the Modeler to understand which throw belongs to which catch.

Link intermediate

Signal Event

These Events are used to send or receive signals within or across the Process. A signal is similar to a signal flare that is shot into the sky for anyone who might be interested to notice and then react.

If the Event is used to throw the signal, the signal Event marker will be filled.  Alternatively, the unfilled Event marker is allocated to the catch message.

Signal intermediate

Conditional Event

These are enabled as soon as a token arrives but will wait until a condition is met to move on to the next step in the process flow. They do not have a user interface and are not disabled, unlike Conditional tasks. For more information refer to Conditional events.



Intermediate Events Attached to an Activity Boundary





Compensation Event

When attached to the boundaries of an activity, this event is used to capture the compensation. When this occurs, the compensation activity will be executed.

Compensate intermediate

Timer Event

If a Timer Event is attached to the boundary of an Activity, it will change the normal flow into an exception flow when a cycle time is completed or a specific time-date is reached.

Attached Timer intermediate

Error Event

A catch Intermediate Error Event can only be attached to the boundary of an Activity.


It reacts to (catches) a named Error, or to any Error if a name is not specified.

Error Intermediate

Cancel Event

This Event is used within a Transaction Sub-Process and must be attached to the boundary of one.


It shall be triggered if a Cancel End Event is reached within the Transaction Sub-Process. It also shall be triggered if a Transaction Protocol Cancel Message has been received while the transaction is being performed.

Cancel Intermediate


End Events





End Event

Indicates when the Process ends.  

End event

Message End

Indicates that a message is sent when the flow has ended.

Message end

Error End

Indicates that a named Error should be generated. All currently active threads of the Process are terminated. The Error will be caught by a Catch Error Intermediate Event.

Error end

Cancel End

Is used within a Transaction Sub-Process. It indicates that the Transaction should be canceled and an alternative flow can be performed.

Cancel end

Signal End

Indicates that a signal is sent when the flow has ended.

Signal end

Terminate End

Ends the Process and all its Activities immediately.  

Terminate end









Is an Artifact that provides a visual mechanism to group elements of a diagram informally.



Is a mechanism for a modeler to provide additional information for the reader of a BPMN Diagram.


Data Objects

Provides information about how documents, data and other objects are used and updated during the Process.

Data object


Swim lanes






A Pool is a container of a single Process (contains the sequence flows between Activities).


A Process is fully contained within the Pool. There is always at least one Pool.



Is a sub-partition within the Process. Lanes are used to differentiate elements as internal roles, position, department, etc. They represent functional areas that may be responsible for tasks.



Is a sub-partition within the Process. It can indicate different stages during the Process.








Sequence Flow

A Sequence Flow is used to show the order that Activities will be performed in the Process.

Sequence flow


Its used to associate information and Artifacts with Flow Objects. It also shows the Activities used to compensate for an Activity.


Message Flow

Is used to show the flow of messages between two entities that are prepared to send and receive them.

Message flow



You can find more information about modeling for automation in our Bizagi Modeler Help

Download our BPMN 2.0 Poster