Action Properties

   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:

Status Updates and Email
This service can add a submission processing status messages to the specified Submission. These appear in the user's submission history. It can also send a status update via email.
Task Assignment
These properties are used to create and assign user and group tasks. Tasks can be categorized as:
  • Standard Tasks - are for an authenticated user or group.
  • Review Tasks - are the similar to the standard tasks with attachments copied from a previous submission.
  • Anonymous Save - when a submission record is saved but not assigned to a user in the Manager database. They are usually assigned to a email address, so the user is sent a notification email with a link. They click on a link and enter a challenge response before they have access to the task form.

Task Types

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  
Task Assign Groups  
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"
    }
  ]
}

Job Functions

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.