Calling A Subprocess

Learn how to call a subprocess using the invoke keyword.

Introduction

In Kognitos, one way a parent process can call a subprocess is by using the invoke keyword. When a subprocess is called this way, the parent process does not manage its execution. If multiple instances of a subprocess are invoked, they will execute sequentially, one after the other.

Parent Process
     │
Subprocess
     │
Subprocess
     │
Subprocess

👍

If you need to run subprocesses in parallel instead, see Starting Parallel Runs for details on using the start a run syntax.

How Can I Call A Subprocess?

This section explains how to call a process within another process as a subprocess using the invoke keyword.

Syntax

invoke {subprocess name} with
      {inputs}

Input Parameters

  1. subprocess name: The name of the subprocess.
  2. inputs: Any objects or variables the subprocess needs to run.

Example

In this example, the subprocess verify applicant qualifications is called with the resume as input.

invoke verify applicant qualifications with
      the resume

🚧

Remember to Publish Your Process

You need to promote your automation from the Playground to a Process in order to call a subprocess. This applies to both the main process and the subprocess.

Returning Data from an Invoked Subprocess

To pass a result from a subprocess called with invoke to the main process, you must add a line in both the parent process and the subprocess.

In the Subprocess

At the end of your subprocess, include one of the following lines:

  • For a single result: the result is {result}
  • For multiple results: the results are {result 1}, {result 2}, {result 3}, ...

If the results are not explicitly defined in this format, the parent process will not be able to access the subprocess output. By default, the parent process will only be able to retrieve the subprocess' status.

In the Parent Process

In the parent process, retrieve those results using get the answer or get the answers.


Example: Bakery Order Processing

Main Process

In this example, the main process process a bakery order calls the subprocess calculate the cost of a cake using the invoke keyword. It passes three inputs. In the last line, get the answer is used to retrieve the result from the subprocess and rename it to the total cake cost.

invoke calculate the cost of a cake with
      the cake quantity
      the cake type 
      the cake pricing

get the answer as the total cake cost

Subprocess

The subprocess calculate the cost of a cake will perform calculations for the cake cost and return it at the end using the result is the cake cost.

the cake cost is the cake price * the cake quantity

if the cake type is 'flan' then
	the result is the cake cost * 6
else
	the result is the cake cost * 2

the result is the cake cost

Video Walkthroughs

1. Invoke a Process

This video shows how to invoke a process as a subprocess.

2. Using A Subprocess

This video demonstrates how to incorporate subprocesses within larger workflows.