Designing workflows

Learn how to create BPMN workflows with Cawemo

What is BPMN 2.0?

Every workflow you design using Cawemo is based on BPMN 2.0 (business process model and notation).

BPMN 2.0 is a globally standardized set of symbols used for creating business processes (workflows). It’s one of the most common ways of designing workflows and you’ve probably used some of these symbols before without even knowing about BPMN.

Five steps to get started designing workflows

The following five steps will walk you through designing a workflow using the most common symbols and concepts of BPMN. Once you’ve completed this guide you’ll be able to design simple or even more complicated workflows in the most effective way to improve your business goals.

Step 1: Designing a simple workflow

Let’s start off with designing a simple workflow in BPMN. Watch our video to get started.

After watching the video you should know how to create a simple workflow in BPMN.

Let’s take another look at the workflow from our video:

This diagram shows a simple workflow triggered by someone being hungry. The result is that someone must shop for groceries and prepare a meal. After that, someone will eat the meal and have his or her hunger satisfied.

Taking a closer look at this workflow we notice that we’ve just learned two different types of BPMN symbols, tasks and events (specifically a start and end event).

Tasks and events


Tasks are used whenever something needs to be done (an action needs to be taken). In our example we have used the tasks for different things (buy groceries, cook, and eat) we need to do in order to complete our workflow.

Start Event

Every workflow starts with a start event. A start event triggers the beginning of your workflow. Triggers could be things like:

  • New employee needed (Hiring workflow)
  • Invoice received (Invoice workflow)
  • Sales lead received (Sales workflow)

...or in our case Hunger noticed.

End Event

Every workflow ends with an end event. The end event is the goal of your workflow. When designing a workflow you should always start by thinking of the goal you want to accomplish. This could be things like:

  • New employee hired (Hiring workflow)
  • Invoice paid (Invoice workflow)
  • Sale made (Sales workflow)

Tasks are named in present tense

Did you notice how we’re naming our tasks in present tense? This is a best practise when it comes to naming tasks as readers of your workflow associate tasks being a representation of an action that still needs to be taken, even if they don’t know BPMN.

End events named in past tense

Did you notice how we’re naming our end events in the past tense? This is an important best practice when designing workflows. The readers of your workflow get a hint that events need to have happened in order to trigger some behaviour (starting or ending) even if they don’t know BPMN.

Step 2: Add an XOR gateway to our simple workflow

It’s time to learn about routing our process flow using the XOR gateway. Simply watch our video to get started with Step 2:

After watching the video you should know how to route the process flow in BPMN using the XOR gateway.

Let’s take another look at the workflow from our video:

Our simple example about food continues but this time we want to provide our workflow with a choice of different recipes. We can either cook pasta or cook a steak or prepare a salad.

The XOR Gateway

XOR Gateway

Tasks are used whenever something needs to be done (an action needs to be taken). In our example we have used the tasks for different things (buy groceries, cook, and eat) we need to do in order to complete our workflow.

Heads up! Bear in mind that a gateway is not a task, you have to determine facts and needs before reaching a gateway.

Working with XOR gateways

Did you notice that we asked a question (desired dish?) at the gateway and wrote the exclusive answers (pasta, steak, salad) on the different paths?

We always work with XOR gateways as follows:

  • Model the task that requires a decision for the XOR gateway.
  • Model the XOR gateway after that. Create a question with mutually exclusive answers
  • Model one outgoing path (or sequence flow) for each possible answer and label the path with the answer.

Great, now you already know how to design different paths in a workflow! In the following lesson you will learn about another type of gateway which can be used whenever different paths need to run at the same time.

Step 3: Run different tasks at the same time with a parallel gateway

The parallel gateway comes in handy whenever you want to design a workflow with at least two things happening at the same time.

Two things at the same time? Watch our third lesson to find out how: Watch video.

Let’s go ahead and take another close look at the diagram from our video:

This workflow gets triggered with the start event hunger noticed and continues with someone choosing a recipe and then preparing either (XOR Gateway) pasta or steak, based on what they chose in the previous task.

The Parallel Gateway

Parallel Gateway

No matter what, someone always prepares a salad while (Parallel Gateway) cooking the main dish.

The merging parallel gateway (after the tasks) makes sure that our workflow only continues once both parallel paths have completed and merged back into one path.

Parallel Gateways and Parallel Tasks

Running parallel tasks is a classic workflow optimization method when it comes to workflow design. When designing a workflow you should always ask yourself, whether it’s possible to run tasks at the same time. This can save you time and make your workflow more efficient.

Great! If you’ve been following this guide step by step you now already know the most common gateways - good job!

  • XOR Gateway (for exclusive workflow paths)
  • Parallel Gateway (for paths that happen at the same time)
And are able to model most workflows.

Step 4: Assign tasks with lanes

The following lesson introduces lanes as a way of assigning tasks. Watch our video to learn more.

We’ve talked a lot about what to do in our workflow, but we haven’t yet explained who is responsible for executing which tasks. In BPMN, you can address this question with lanes.

Let’s take another look at the workflow from our video:

The diagram shows us that the tasks were assigned to particular people.

We can derive the following workflow description from the assignments:
Darya chooses a certain recipe. Depending on what Darya chooses, she can either take care of it herself (cook pasta), or she can get her roommates on board. If she goes for the latter,, Madleine cooks steak and Carlo prepares salad. And in the end, Darya eats. The three lanes (Darya, Madleine, Carlo) are united in one pool designated "flat-sharing community" as seen in the image above.

Using lanes

In practice, lanes are often used to assign:

  • Positions in the primary organization, for example accounting clerk.
  • Roles in the secondary organization, for example data protection officer.
  • General roles, for example customer.
  • Departments, for example sales.
  • IT applications, for example CRM system.

You now not only know how to model most workflows, you also know how to assign tasks in your workflows! In our next lesson, we’ll dive a bit deeper into events and learn a new and very useful type of event.

Step 5: Using message events to communicate

Remember the start and end event from the beginning of our guide? Earlier, we defined events as things that happen within a process, rather than tasks which require action. Watch our final video to learn more.

Did you notice that we introduced two different ways events can behave?

Catch and throw events

Catching Events

Catching events are events with a defined trigger. We consider that they take place once the trigger has been activated or fired. As an intellectual construct, that is relatively intricate, so we simplify this by calling them catching events. The point is that these events influence the course of the workflow and therefore must be modeled.

Catching events may result in:

  • The workflow starting
  • The workflow or a path continuing
  • The task currently processed or the sub-process being canceled
  • Another workflow path being used while a task or a sub-process is being executed

In our video, we’ve used a catching event to tell our workflow to move on once the ‘pizza is received.’

Throwing Events

Throwing events are assumed by BPMN to trigger themselves instead of reacting to a trigger. You could say that they’re active compared to passive catching events. We call them throwing events for short because the workflow triggers them.

Throwing events can be:

  • Triggered during the workflow
  • Triggered at the end of the workflow

Now that we’ve got the basics down - let’s take a closer look at our workflow from the video:

There are three different types of events in this workflow:

  • Start event
  • End event
  • Message intermediate (during a workflow) catch event (gets activated once the trigger fires: pizza is received)

About message events

Sooner or later most workflows require communication which can be represented in BPMN by means of the message event. You'll recognize it as the small envelope. The meaning of "message" in BPMN is not restricted to letters, emails, or calls. Any action that refers to a specific addressee and represents or contains information for the addressee is a message.

So there you have it! A quick and easy five step guide to get started designing your workflows in BPMN, now all that's left is for you to start designing your own workflows.

Start creating your workflow

Congrats! You’ve learned everything you need to know to get started with Cawemo.

Was this article helpful? Yes / No