Skip to main content

Receive Task

Introduction

Receive Task

info

A Receive Task is a simple Task that is designed to wait for a Message to arrive from an external Participant (relative to the Process). Once the Message has been received, the Task is completed.

— BPMN 2.0.2 Standard, 10.3.3, Receive Task

tip

In case you are not planning to do a deep-code implementation, and you would like to retrieve an event through a message bus, please consider using the Receive Event Task instead. This allows you to use the Flowable Event Registry instead of manually programming.

In Flowable, Receive Tasks are used if you want to stop the execution flow until an external source sends a trigger to continue.

This can be useful if an external system needs a long time to process data, and you want to wait until the processing is done.

A similar result can be achieved if the flag Triggerable in a Service Task is activated.

Example

The following example shows a process where a user enters the name and address of a client. The information is then sent to an ERP system. Since the communication between the Java back end of our application and the external system is asynchronously, we do not know when the processing is done. For that reason, the ERP system has to acknowledge that the client was created, for instance by calling a REST endpoint defined in the application which triggers the continuation of the process.

Receive Task

Properties

:::palette-item com.flowable.design:flowable-core-palette com/flowable/palette/core.process.palette ReceiveTask