Skip to main content
Introduction to Call Subprocess

Process development

R
Written by Riku Virtanen
Updated over 7 months ago

Call Subprocess

Call Subprocess is used to call a separate Subprocess. A Subprocess is a special kind of Process that can be executed from other Processes. Subprocesses are useful when some functionality needs to be encapsulated to a reusable component or remotely executing some functionality from another Environment altogether.

Before using the Subprocess in a Frends Process, the Subprocess needs to be defined with its possible parameters and functionality. The parameters given to Call Subprocess corresponds to the Manual Trigger parameters defined in the Subprocess. When the Subprocess exists, it can be utilized in a Process by selecting Create Call Subprocess in the Toolbar.

The return type of a Call Subprocess is dynamic and is defined by the Subprocess. Values and objects returned from a Subprocess to the calling Process are first serialized, and then deserialized in the caller. Therefore, if you return an object from a Subprocess you can access it by using dot notation without additional conversions.

Remote Subprocesses

A Subprocess call can be configured to be a remote call by enabling "Remote call" under "Show advanced settings".

To configure a remote Subprocess call, the destination Agent Group needs to be defined for each Environment.

Remote Subprocesses are executed over a Service Bus connection, there is a separate message sent as a request and another message as the result response. This may cause latency to the execution either due to congestion or network latency. This may make it unsuitable for use with HTTP or API Triggers due to the delay. The execution may even fail due to a Service Bus error which cannot be handled with the built-in retries.

Did this answer your question?