Workflow editor at a glance
The workflow editor interface consists of the following elements:
Task
A task is an activity executed by a script or a user.
Script task
A script task is used when you want the system to execute a server script. This could be used, for example, to process an input from the workflow context and store the output as a variable. In the component properties pane, you define the following properties for a server script:
- Name
-
Name of the script task.
- Description
-
Description of the script task.
- Server script
-
Server script that is stored in the system and that is executed during the workflow.
// Get Data from Workflow, object number/type, value, currency etc.
log.info(JSON.stringify(wfData));
// Set processing true/false - Use 'True' or 'False'. From 2.0.0 boolean values are supported
wfData.result = 'False';
complete();
Remember you can right-click → Code Snippets in the Script Editor to find more information around the code available to utilise within scripts, when the script is used in a Script Task:
User task
A user task is used when you want a user of your system to execute a certain activity. This could be used, for example, to approve an order or invoice.
- Name
-
Name of the user task.
- Description
-
Description of the user task.
- Max Processing time
-
This property is not implemented. - Inbox Application
-
Application where the user receives notifications to perform a task. Default is the
Universal Inboxwidget in the launchpad. - Approver Determination
-
Select the approver for the user task.
- Task Action
-
Selection of the task action for the user task.
- Custom Script Determination
-
It runs a script in the background that can be used to add approvers with custom logic. E.g.
The script will receive the following data.
wfData = {
id: runtime.id,
objectKey: runtime.objectKey,
objectType: runtime.objectType,
amount: runtime.amount,
currency: runtime.currency,
approvers: "Array of approvers from other determination"
}
// In the script you can dynamically add more approvers.
wfData.approvers.push("approverUsername");
// or by adding a role or group id.
wfData.approvers.push({orgId: 'role or group id'})
When the script has executed approvers added to the approvers array will be included in the workflow runtime.
- Enable Forward
-
Allow the approver to forward the task. See here for more information.
- Enable Query
-
Allow the approver to send a query. See here for more information.
- Enable Notification
-
If selected you must also select an email template. An email is sent to approvers when assigned a workflow/user task. You can pipe the following variables in the email template with {=variableName}
{
name: user.name,
title: wfDef.title,
subTitle: wfDef.subTitle,
taskName: task.title,
taskDescription: task.subTitle,
objectKey: wfRuntime.objectKey,
objectType: wfRuntime.objectType,
amount: wfRuntime.amount,
currency: wfRuntime.currency,
}
- Task Notification
-
Select the notification which need to be sent with the user task.
- Sender eMail
-
Email address from which the user task is sent.
User action
Actions for a user to perform during a script task or a user task.
- Approve
-
The user approves the task.
- Reject
-
The user rejects the task.
- Save
-
The user saves the state of the workflow.
| Within the Universal Workflow Inbox, only action buttons for the User Actions that are connected to the User Task will be visible for the user to press. EG: If only the Approve node is connected to the User Task, only the Approve button will be visible within the Workflow Inbox. |
Script action
Result for a server script during a script task.
- False
-
If the server script fails.
- True
-
If the server script succeeds.
Event
Events to mark the end of a workflow.
- Cancel
-
Event to cancel the workflow if it has failed.
- Complete
-
Event to complete and close the workflow if it has succeeded.