Controlling Flow from an External Application

You can control the flow of a process from an external application using incoming request events and tasks. You can trigger these events or tasks by an external application using the Process sendEvent REST API.

With Incoming request events and tasks, you can perform the following functions:

  • Pause a process flow until you receive the incoming request using an in-flow event or task.

  • Cancel a long running task such as a user task, or sub-process, that is in progress by attaching the incoming request event to a task boundary.

  • Start a parallel event handler flow in the process by creating an event sub-process with an incoming request start event.

The Process REST API triggers an incoming request event or task. With this API, the process instance ID or incoming business data can be used to identify the specific process instance on which you can trigger the incoming request.

Correlating Incoming Requests

You can trigger an incoming request event or task using the Process REST API. You can use the process instance ID or correlation data to identify the specific process instance on which you can trigger the request using your own business data. The incoming request is only triggered on a single process.

Note: The Business data method of correlation is currently not supported for Incoming Request Event-handlers and Event Sub-Processes.

To use business data for correlating incoming requests with individual process instances, the process must have one or more correlation data fields whose value uniquely identifies an individual process instance. This correlation data can then be associated with an incoming request event or task in its interface property configuration. By default, all correlation data is associated implicitly.

When you invoke the process REST API to trigger an incoming request without a process instance ID, the correlation data field values supplied in the request payload are matched to the correlation data values in an existing process instance. The incoming request is then triggered in that process instance.

You must ensure that the correlation data is set with the appropriate value in each process instance before the incoming request event or task is initialised.