Action Properties

   Journey Manager (JM) Previously known as Transact Manager (TM).  |    System Manager / DevOps  |  v5.1 & Higher This feature is related to v5.1 and higher.

A Action can have a set of properties, such as the Job Task Assign service properties, which are associated with:

  1. 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
  2. Task Assignment: These properties are used to create and assign user and group tasks. Tasks can be categorized as:
    • Standard Tasks, which are for an authenticated user or group.
    • Review Tasks, which 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.

You can use the following job action properties with the Job Task Assign service.

Name Description Example
Task Type A type of task to create, which can be an Anonymous, Form, or Review. { "name": "Task Type", "value": "Review" }
Task Form XML Data A form XML data, such as a schema seed. { "name": "Task Form XML Data", "value": "$func.startSubmissionXml()" }
Task Input XML Prefill An input pre-fill data XML which is mapped into the form XML data using prefill input XPath mappings. This property value is ignored for the Anonymous task type. { "name": "Task Input XML Prefill", "value": "$func.invoke('Job Prefill Service', $job)" }
Task Form Code A form code to assign in this task. Review tasks don't need to specify a Task Form Code, in which case the form code and form version from the previous submission are used.If a form code is specified without a form version, then the current form version is used. { "name": "Task Form Code", "value": "ABC123" }{ "name": "Task Form Code", "value": "$func.startFormCode()" }
Task Form Version This explicitly sets the form version of the form assigned in Task Form Code. This requires the Task Form Code to be specified. { "name": "Task Form Version", "value": "1" }
Task Review Previous Step Specifies whether to review a form submission of the previous step [ true | false ]. If true this will override the value in Task Review Submission step. This property is only valid with the Review task type. { "name": "Task Review Previous Step", "value": "true" }
Task Review Submission Step Specifies the name of the form submission step to review. Ignored if Task Review Previous Step is set to true. This property is only valid with the Review task type. { "name": "Task Review Submission Step", "value": "Application Start" }
Task Attachments Previous Step Specifies whether to copy of attachments from the submission of the previous step [ true | false ]. If true, it overrides the value in the Task Attachments Submission step. This property is ignored for a Review task which automatically copies attachments form the reviewed submission. { "name": "Task Attachments Previous Step", "value": "true" }
Task Attachments Submission Step Specifies the name of the form submission step to copy the attachments from. It's ignored if the Task Attachments Previous step is set to true. This property is also ignored for a Review task which automatically copies attachments form the reviewed submission. { "name": "Task Attachments Submission Step", "value": "Application Start" }
Task Assign Group This property is only valid with the Form or Review task types. The assigned task group name. A function can also specify the assigned group. { "name": "Task Assign Group", "value": "Initial Review Group" }{ "name": "Task Assign Group", "value": "$func.formProperty('Manager Review Group')" }
Task Assign Groups This property is only valid with the Form or Review task types. The assigned task groups. A function can also specify the assigned groups. { "name": "Task Assign Groups", "value": "Blue-Reviewers, Red-Reviewers" }{ "name": "Task Assign Groups", "value": "$func.formProperty('Reviewer Groups')" }
Task Assign Group Create Enables form groups to be automatically created if they don't already exist, and create submission group association. { "name": "Task Assign Groups", "value": "$formDataMap.assignGroups" }{ "name": "Task Assign Group Create", "value": "true" } { "name": "Task Assign Repeating", "value": "true" }
Task Assign User This property is only valid with the Form or Review task types. The assigned task user's login name, who must be an active user in Manager. { "name": "Task Assign User", "value": "johnsmith" }{ "name": "Task Assign User", "value": "$func.startUser()" }{ "name": "Task Assign User", "value": "$formDataMap.managerLoginName" }{ "name": "Task Assign User", "value": "$func.userForEmail($formDataMap.managerEmail)" }{ "name": "Task Assign User", "value": "$func.formProperty('Manager Login')" }
Task Assign Email This property is only valid with the Anonymous task type. The assigned task email for anonymous user email assignment. { "name": "Task Assign Email", "value": "john.smith@drdaves.com" }{ "name": "Task Assign Email", "value": "$formDataMap.doctorEmailAddress" }
Task Assign Repeating This property specifies whether the Task Assignment is repeating, and a task assignments should be performed to each assignment member, either Email, Group or User. This example assigns separate tasks to the App QA and App Reviewers groups. { "name": "Task Assign Group", "value": "App QA|App Reviewers" }{ "name": "Task Assign Repeating", "value": "true" }
Task Assign Repeat Item This property specifies the Task Assign Repeat Item, and its value is made available during the evaluation of other properties, such as ${assignRepeatItem}, and is stored in the JobAction record. This value can be used to differentiate task assignments during a repeating assignment. This data is also populated into the XML form data element, such as //SystemProfile/Job/AssignRepeatItem. { "name": "Task Assign Group", "value": "App QA|App Reviewers" }{ "name": "Task Assign Repeating", "value": "true" }{ "name": "Task Assign Repeat Item", "value": "$formDataMap.divisionChoice" }
Task Enable Claiming Enables group tasks to be claimed or assigned to individual users belonging to the task's groups. { "name": "Task Enable Claiming", "value": "true" }
Task Save Challenge This property is only valid with the Anonymous task ype and is associated with the Anonymous save and the Task Assign Email properties. The save challenge question is configured in the form version. { "name": "Task Save Challenge", "value": "${formDataMap.email}" }
Task Assign Portal A form space name to be used for the task assignment, for anonymous user email assignment (mandatory) for users or group assignment (optional). If not specified, it uses the first form space assigned to the form. { "name": "Task Assign Portal", "value": "Maguire" }{ "name": "Task Assign Portal", "value": "$func.formProperty('Review Portal')" }
Task User Deletable Specifies whether the task can be deleted by the assignee [ true | false ]. If it is not set, the value is false. { "name": "Task User Deletable", "value": "true" }
Task Scheduled The task's scheduled time in the following format: yyyy-[m]m-[d]d. { "name": "Task Scheduled", "value": "2014-04-10" }
Task Expiry The task's expiry time in the following format: yyyy-[m]m-[d]d. { "name": "Task Expiry", "value": "2014-04-10" }
Task Menu Label The task menu label value for use in application bundle navigation menus. { "name": "Task Menu Label", "value": "Credit Card" }{ "name": "Task Menu Category", "value": "Products" }
Task Menu Category The task menu category for use in application bundle navigation menus to group related tasks into menus { "name": "Task Menu Label", "value": "Credit Card" }{ "name": "Task Menu Category", "value": "Products" }
Task Subject The task's subject and title. { "name": "Task Email Subject", "value": "Application Review Job" }{ "name": "Task Email Subject", "value": "$job.referenceNumber for $formDataMap.firstName $formDataMap.lastName" }
Task Message The task descriptive message. { "name": "Task Email Message", "value": "$job.referenceNumber for $formDataMap.firstName $formDataMap.lastName }
Task Sequence The sorted or ordered task's sequence number. { "name": "Task Sequence", "value": "1" }
Task Address The task location address. { "name": "Task Address", "value": "1a Rialto Lane, Manly, New South Wales" }
Task Latitude The task location latitude in decimal degrees. { "name": "Task Latitude", "value": "-33.79833" }
Task Longitude The task location longitude in decimal degrees. { "name": "Task Longitude", "value": "151.28723" }
Task Send Email Specifies whether a notification email should be sent to task assignees [ true | false ]. { "name": "Task Send Email", "value": "true" }
Task Email Message

The task email notification email message body template. The following model is used: submission (Submission): the previous submissionformDataMap: Map<String, String> the form data map for the submissiontask (Submission): the task submissionformat(EmailFormat): the email formatterportal (Portal): the Space (Portal), if the portal is specified or resolvedtaskUrl (String) the link to the newly created task, if portal specified or resolvedenvironmentName (String): the environment name deployment propertysupportEmail (String): the email for the default senderNote:Most of the time this property should be removed in which case it will use the "Email Task Notification Message" template property will be looked up in this order: form -> organization -> form space -> deployment property.

Adding large templates into the JobDefinition JSON can be problematic, so it's better to set an Email Task Notification Message property.

{ "name": "Task Email Message", "value": "$job.referenceNumber for $formDataMap.firstName $formDataMap.lastName" }{ "name": "Task Email Message", "value": '$job.referenceNumber for $formDataMap.firstName $formDataMap.lastNameclickhereto open your task' }{ "name": "Task Email Message", "value": "$func.formProperty('Assign review email message')" }
Task Email Subject

The task email notification subject template.The following model is used: submission (Submission): the previous submission formDataMap: Map<String, String> the form data map for the submission task (Submission): the task submission format(EmailFormat): the email formatter portal (Portal): the Space (Portal), if the portal is specified or resolvedtaskUrl (String) the link to the newly created task, if portal specified or resolvedenvironmentName (String): the environment name deployment propertysupportEmail (String): the email for the default senderNote:Most of the time this property should be removed in which case it will use the "Email Task Notification Subject" template property will be looked up in this order: form -> organization -> space (portal) -> deployment property.

Adding large templates into the JobDefinition JSON can be problematic. It may be better to set an Email Task Notification Subject property.

{ "name": "Task Email Subject", "value": "Application Review Job" } { "name": "Task Email Subject", "value": "$job.referenceNumber for $formDataMap.firstName $formDataMap.lastName" } { "name": "Task Email Subject", "value": "$func.formProperty('Assign review email subject')" }

For more information, see JobTaskAssignService core API.

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 JobFunctions Core API.

Next, learn about job functions.