Jump to Menu

How to Draw BPMN Conversation Diagram?

A conversation diagram shows the messages that exchange between participants (pools). In this tutorial, we will create a simple conversation diagram for a logistics system.

Compatible edition(s): Enterprise, Professional, Standard, Modeler

  • March 9, 2016
  • Views: 53,091
  • PDF

What is a BPMN Conversation Diagram?

First of all, what is a conversation diagram?

BPMN (Business Process Model and Notation) Conversation Diagram is a graphical representation of the interactions and messages exchanged between two or more participants in a business process. It is a type of flowchart that illustrates the sequence of activities and the flow of information or data between different participants, processes, and external entities in a business process.

In a BPMN Conversation diagram, each participant is represented by a swimlane or a column, and the activities or messages exchanged between the participants are represented by conversation nodes. Conversation nodes can be of two types - sending and receiving. A sending conversation node is represented by an open circle, and a receiving conversation node is represented by a closed circle.

The conversation nodes are connected by sequence flows or message flows, which represent the order of activities and the flow of information or data between the participants. Sequence flows are represented by solid lines with arrows, while message flows are represented by dotted lines with arrows.

BPMN Conversation diagrams are useful for modeling complex business processes that involve multiple participants, processes, and external entities, as they provide a clear and concise overview of the interactions and messages exchanged between the participants. They can also be used to identify potential bottlenecks, inefficiencies, and errors in the process, and to optimize and streamline the process for better performance and outcomes.

Drawing BPMN conversation diagram

  1. Create a new project by selecting Project > New from the application toolbar. In the New Project window, enter Logistic System as project name and click Create Blank Project.
  2. Create a conversation diagram by selecting Diagram > New from the application toolbar. In the New Diagram window, select Conversation Diagram and click Next.
    New conversation diagram
  3. Leave the diagram name unchanged and then click OK to create the diagram.
  4. Let's start by creating a participant. Select Participant from the diagram toolbar.
    Select participant
  5. Click on the diagram to create a participant. Enter Retailer as name and press Enter to confirm.
    Retailer participant created
  6. Move the mouse pointer over the participant Retailer
    Mouse over participant
  7. Press on the Resource Catalog resource at the top right of shape and drag it out.
    Using Resource Catalog
  8. Release the mouse button on the empty space. Select Sub-Conversation Link -> Participant from Resource Catalog to create a new participant.
    Create connected participant
  9. Enter Supplier as the name of the participant and press Enter to confirm. Then, enter Delivery Negotiations as the name of the sub-conversation (i.e. the purple shape in the middle). Again, press Enter to confirm.
    Participant created
  10. Select Participant in diagram toolbar. Click below sub-conversation link Delivery Negotiations to create a participant. Name it as Consignee.
    Participant created
  11. Move the mouse pointer over Consignee. Press on the Resource Catalog resource and drag to the participant Retailer to create a link.
    Create link with Resource Catalog
  12. Select Conversation Link in Resource Catalog.
    Select conversation link
  13. Enter Delivery/Dispatch Plan as the name of the conversation link and then press Enter to confirm. If the created shape is overlapped with others, tidy up by dragging the conversation link.
    Conversation created
  14. Repeat the previous steps to make Consignee converse with Supplier. Name the communication Shipment Schedule.
    Conversation created
  15. Resize the participants Retailer and Supplier to make them taller.
    Resize participants
  16. Make use of the Resource Catalog to create participant Shipper from Supplier, which conversation link in between. Then, create another participant Insurance from Shipper.
    Participants created
  17. Keep on drawing the conversation diagram to make it look like the one below. You should be able to finish this step with the techniques described. Note that you can add a line break when naming a shape by pressing Alt + Enter.
    Updated conversation diagram
  18. Move the mouse pointer over the participant Consignee. Press on the Resource Catalog button and drag it to the empty space below the participant.
    Use Resource Catalog
  19. Release the mouse button and select Conversation Link -> Communication from the Resource Catalog.
    Create communication
  20. Connect the created communication, the participant Consolidator and Shipper with conversation link, with the use of Resource Catalog.
    Link created
  21. Move the mouse pointer over the participant Carrier (Land, Sea, Rail, or Air). Click on the Resource Catalog button. Make sure you are clicking on it this time, instead of dragging it.
    Click on Resource Catalog
  22. Select Self Conversation Link -> Participant from Resource Catalog.
    Create self conversation
  23. Enter Arrival / Pickup Confirmation as the name of the communication and press Enter to confirm.
    Conversation link created
  24. Nearly done. Right-click on the participant Carrier (Land, Sea, Rail, or Air) and select Open Specification... from the popup menu.
  25. Press on the drop down menu of Participant and select Create Participant... from the drop down menu.
    Create participant
  26. In the Participant Specification, select Participant Multiplicity as Multiplicity and click OK to confirm.
    Participant multiplicity
  27. Click OK to close the Pool Specification and return to diagram. Finally, your diagram should look like this:
    Complete BPMN conversation diagram


Turn every software project into a successful one.

We use cookies to offer you a better experience. By visiting our website, you agree to the use of cookies as described in our Cookie Policy.

OK