A step is a basic element in a process that defines a task to be carried. A process can have several steps.

Steps can be of several types:

Run a task

Branch on a condition

Wait for a condition

Call a process

Return values

Run a task

This step type allows you to run one of the following task types - “Send an email”, “Send a notification”, “Send an SMS”, “Change data”, “Call a webhook” or “Create a new file”.

In our example, the step is “Send welcome email to employee.” The step runs a task (of type “Send an email”) against the data provided to the process on the input. In this case, the input is the new employee record.

Branch on a condition

This step type allows you to implement conditional logic in your process; for example, if <condition> - then <do some step> - else <do some other step>. The condition value can be any valid expression.

Wait for a condition

This step type allows the process to pause execution until the condition evaluates to true, at which point the process resumes execution.

Please note: Currently the condition checks work against data changes only. Wait conditions involving non-data changes such as time/date functions (eg: time > 9:00 AM) etc are not supported.

Call a process

This step type allows you to invoke another process within the same application. You can pass data to the process being invoked using literal values or expressions.

"Add or lookup process input" provides options to pass a specific row to the process being called.

Lookup

The row will be retrieved using the key. Any additional columns will be used to update the row. (Only non-composite keys are supported)

Add

A new row will be created using the data you supply. If another row exists with the same key, that row will be updated and used.

Return values

This step type allows you to return specific values from within your current process- typically its the last step in your process.

These return values are accessible to the process that calls your current process via the Call a process step (For example, you may want to have a parent process invoke a sub-process, and use the return value of the sub-process to determine the next steps to be performed.

Sub- process configuration:

Parent-process configuration:

In the example above, a child process has a step of type Return values that returns two values "ApprovalAmount" and "ApprovalReason". The parent process that calls this child process using the Call a process step (Step name: “Send for approval”) it can reference the "ApprovalReason" value from the child process using the expression “[Send for approval].[ApprovalReason].”

Did this answer your question?