Sample workflow: approval loop
This example displays a workflow that loops an Approval node.
In this workflow, the manager approval is set within the Loop node. The manager approval repeats five times before failing if an approved or rejected response is not received within the escalation Limit.
Conditions for the transition lines to the RETURN_APPROVED and RETURN_REJECTED script nodes must be defined to retrieve and evaluate the results of the Approval node. The loop node does not return a response from the Approval.

Node | Feature | Value |
---|---|---|
Start | Activity ID | Start |
Split Type | AND | |
JavaScript | N/A | |
Loop | Activity ID | Approval_Loop |
Loop Type | Until | |
Loop Condition | var flag = approvalFlag.get(); return (loopcount <= 5 && (flag != "APPROVED"
&& flag != "REJECTED")); |
|
Split Type | OR | |
Join Type | OR | |
Approval | Activity ID | Manager_Approval |
Participant | Manager | |
Escalation Limit | 1 day | |
Entity Type | Account | |
Postscript | if (activity.resultSummary == activity.APPROVED)
{ approvalFlag.set("APPROVED"); }
else if (activity.resultSummary == activity.REJECTED) { approvalFlag.set("REJECTED"); } |
|
Join Type | OR | |
Split Type | OR | |
RETURNED_APPROVED | Activity ID | RETURNED_APPROVED |
Join Type | OR | |
Split Type | OR | |
JavaScript |
|
|
RETURN_REJECTED | Activity ID | RETURN_REJECTED |
Join Type | OR | |
Split Type | OR | |
JavaScript |
|
|
End | Activity ID | End |
Join Type | OR | |
JavaScript | N/A | |
Transition LineStart > Approval
Loop |
JavaScript | [Custom]
|
Transition LineApproval Loop > RETURN_APPROVED |
JavaScript | [Custom]
|
Transition LineApproval Loop > RETURN_REJECTED |
JavaScript | [Custom]
|
Transition LineRETURN_APPROVED >
END |
JavaScript | [Custom]
|
Transition LineRETURN_REJECTED >
END |
JavaScript | [Custom]
|
Relevant DataapprovalFlag |
ID | approvalFlag |
Description | Data for storing the last approval result | |
Context | N/A | |
Type | String | |
Default Value | FALSE |