Journey Manager (JM) The transaction engine for the platform. | System Manager / DevOps | 23.10This feature was updated in 23.10
An Action can have a set of properties, such as the Job Task Assign service properties, which are associated with:
The Task Type action properties specify either the Anonymous, Form or Review task. Form and Review tasks are both require a user to be an authenticated user, a user Task Assign User or group(s) Task Assign Group or Task Assign Groups must be specified.
Anonymous tasks don't require a user authentication, but an email address, such as Task Assign Email, and a portal, such as Task Assign Portal. When specifying the form XML and Attachments for a Review task reference has to be given to a previous submission. The Task creation process will automatically copy the XML and Attachments for you from the previous submission. However, for Form and Anonymous tasks, we don't know about previous tasks, so the XML and attachments needs to be explicitly specified.
The XML requires either the Task Form XML Data or Task Input XML Prefill to be configured.
The attachments can be copied from a previous submission using the Task Attachments Previous step or the Task Attachments Submission step
The following table summarizers the action property required by a task type. Where a single letter is repeated in two cells, only one of the action properties should be used.
Action Property Name | Form | Review | Anonymous |
---|---|---|---|
Task Form XML Data | A | B | |
Task Input XML Prefill | A | B | |
Task Review Previous Step | C | ||
Task Review Submission Step | C | ||
Task Attachments Previous Step | D | D | |
Task Attachments Submission Step | D | D | |
Task Assign User | E* | F* | |
Task Assign Group | E | F | |
Task Assign Groups | E | F | |
Task Assign Email | G | ||
Task Assign Portal | Optional | Optional | H |
Note: * A user can be assigned at the same time as a claimable group. This is the same as a user claiming the Task. The user must belong to one of the assigned groups.
A Form Task job definition is shown below.
{
"jobDetails": {
"name": "1 Step Review - Form Task with Attach",
"version": "4.2.0"
},
"steps": [
{
"name": "Application Start",
"type": "start",
"actions": [
{
"name": "Accept Quote",
"type": "Job Form Start"
}
],
"routes": [
{ "name": "Default", "nextStep": "Application Review" }
]
},
{
"name": "Application Review",
"type": "",
"actions": [
{
"name": "Assign Review",
"type": "Job Task Assign",
"properties": [
{ "name": "Task Assign User", "value": "roger" },
{ "name": "Task Form Code", "value": "$func.startFormCode()" },
{ "name": "Task Message", "value": "blah" },
{ "name": "Task Attachments Previous Step", "value": "true" },
{ "name": "Task Form XML Data", "value": "$func.stepOrStartSubmissionXml()" },
{ "name": "Task Review Previous Step", "value": "true" },
{ "name": "Task Send Email", "value": false },
{ "name": "Task Subject", "value": "Review this" },
{ "name": "Task Type", "value": "Form" }
]
},
{
"name": "Review Wait",
"type": "Job Task Wait"
}
],
"routes": [
{ "name": "Approve", "nextStep": "Application Completed" },
{ "name": "Reject", "nextStep": "Application Rejected" }
]
},
{
"name": "Application Completed",
"type": "endpoint"
},
{
"name": "Application Rejected",
"type": "endpoint"
}
]
}
An Anonymous Task job definition is shown below.
{
"jobDetails": {
"name": "1 Step Review - Form Task with Attach",
"version": "4.2.0"
},
"steps": [
{
"name": "Application Start",
"type": "start",
"actions": [
{
"name": "Accept Quote",
"type": "Job Form Start"
}
],
"routes": [
{ "name": "Default", "nextStep": "Application Review" }
]
},
{
"name": "Application Review",
"type": "",
"actions": [
{
"name": "Assign Review",
"type": "Job Task Assign",
"properties": [
{ "name": "Task Assign Email", "value": "${formDataMap.email}" },
{ "name": "Task Form Code", "value": "$func.startFormCode()" },
{ "name": "Task Message", "value": "Please review the ${submission.formName} by ${formDataMap.firstName} ${formDataMap.lastName}." },
{ "name": "Task Subject", "value": "Review ${submission.formName} by ${submission.contactEmailAddress}." },
{ "name": "Task Assign Portal", "value": "Maguire" },
{ "name": "Task Form XML Data", "value": "$func.stepOrStartSubmissionXml()" },
{ "name": "Task Attachments Submission Step", "value": "Application Start" },
{ "name": "Task Send Email", "value": "true" },
{ "name": "Task Email Message", "value": "$func.formProperty('Anonymous Task Email Message')" },
{ "name": "Task Email Subject", "value": "$func.formProperty('Anonymous Task Email Subject')" },
{ "name": "Task Type", "value": "Anonymous" }
]
},
{
"name": "Review Wait",
"type": "Job Task Wait"
}
],
"routes": [
{ "name": "Approve", "nextStep": "Application Delivery" },
{ "name": "Reject", "nextStep": "Application Rejected" }
]
} {
"name": "Application Completed",
"type": "endpoint"
},
{
"name": "Application Rejected",
"type": "endpoint"
}
]
}
You can use $func
as an Action Property value. For more information, see Job Functions Core API.
For example, if you need to fetch a submission property value within a collaboration job controller JSON definition, which to be injected into a job action property value, you should use the $func.startSubmission.getSubmissionPropertyValue('propertyName')
call.
Next, learn about job functions.