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
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.
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.
This step type allows you to return specific values from within your process and access those values during later steps. 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.
In the example above, a parent process has a step called “Send for approval” that returns an approval decision using the Return values step type shown above. Once the return value is set, it is accessible within the parent process through the expression “[Send for approval].[ApprovalReason].”