Free cookie consent management tool by TermsFeed

Configure Tasks

This content applies solely to Connected Underwriting, which must be purchased separately from the Appian base platform.

Introduction

Tasks can be created for a submission to assign (and remind) users specific work items needed to advance a submission forward in the underwriting workflow, such as uploading a document or confirmation of information. While some task types ship with the solution by default, Connected Underwriting P&C allows you to configure new task types to extend the solution to meet your specific business requirements.

This page explains how to add a new task type to the current Connected Underwriting P&C infrastructure and customize the solution to meet your needs.

Note:  The modifications and extensions listed here are non-exhaustive and more complex kinds of changes can be made to these features, if desired.

Adding a new task type

To add a new task type, you need to walk through several configuration steps including, creating a translation set string key and constant to control the task type name display, interfaces for creating and resolving task types, and expression rules to control the update of task properties.

Follow the steps in this section to create a new task type.

Step 1: Create a translation set string key and constant

  1. Create a translation set string key and corresponding text value for the front end display of the task type.
  2. Create a constant for the code name of the new task type. Use the naming convention ISU_ENUM_TASK_TYPE_CODE_<TASK_TYPE_NAME>. This should hold the text value of the Task Type code to be stored in the database for Tasks of this type.

Step 2: Create interfaces

  1. Create an interface to be used when creating a new task of this type. This interface should hold the information that needs to be captured when a user is first creating a task and should also provide a read only format to be used when a user is completing a task of this type. Use the naming convention ISU_createTaskDynamicInterface<TaskTypeName>.
    • Add the following rule inputs to this interface:
      • task (type: ISU_Record_Task)
      • i18nData (type: Any Type)
      • readOnly (type: Boolean)
    • This rule should instantiate a local variable for dynamic task properties, which should be a map and defaulted to the current dynamic task properties for the inputted task.
    • Any components that are saving user-inputted data in this interface should save into a key of the map on the local variable for dynamic task properties. It should then save this local variable cast to JSON into the dynamicTaskProperties field on the Task rule input.
    • Follow similar structure in ISU_createTaskDynamicInterfaceUploadDocument for additional guidance on setting this interface up.
  2. Create an interface to be used when resolving a task of this type. This interface will be used to capture any additional information from a user when they are completing the task. Use the naming convention ISU_resolveTaskDynamicInterface<TaskTypeName>.
    • Add the following as rule inputs to this interface:
      • task (type: ISU_Record_Task)
      • processParameters (type: Map)
      • i18nData (type: Any Type)
    • Extract any information that was captured upon creation of a task that is needed by casting the dynamicProperties field of the rule-inputted Task record to a map.
    • Add any components that might need to be filled out by a user upon completion of a task to the interface. If any user interaction changes or creates additional records that need to be written, save associated records into the recordToWrite field of the processParameters rule input. This will allow these records to be updated and written appropriately in the Resolve Task process model.
    • Follow similar structure in ISU_resolveTaskDynamicInterfaceUploadDocument for additional guidance on setting this interface up.

Step 3: Create expression rules

  1. Create an expression rule to update tasks of this type upon taking the Resolve Task action. This rule is used to update the dynamicProperties field of the Task record after a user has resolved the task; ultimately this rule should result in an update statement to the Task record’s dynamicProperties field. Use the naming convention ISU_updateTaskOnResolveDynamicFields<TaskTypeName>.
    • Add the following as rule inputs to this expression:
      • task (type: ISU_Record_Task)
      • processParameters (type: Map)
    • This rule should result in an updated Task record with any appropriate values set in the dynamicProperties field of the task record. Values from associated records that were created or written as part of resolving this task can be accessed through the rule input processParameters.
    • Follow similar structure in ISU_updateTaskOnResolveDynamicFieldsUploadDocument for additional guidance on setting this expression up.
  2. If any additional records are being updated or written as part of the resolution of tasks of this type, then create an expression rule to update these records before being written in the Resolve Task process model. Use the naming convention ISU_updateTaskRecordToWriteOnResolveDynamicFields<TaskTypeName>.
    • Add the following as rule inputs to this expression:
      • processParameters (type: Map)
    • This rule should update the recordToWrite field of the rule inputted processParameters map with any updates that need to be made prior to the record being written.
    • Follow similar structure in ISU_updateTaskRecordToWriteOnResolveDynamicFieldsUploadDocument for additional guidance on setting this expression up.

Step 4: Update the task type reference expression rule

  1. Lastly, update ISU_CONF_taskTypeReference by adding a new map with the following key-value pairings:
    • label: the translation set string key for the task type
    • code: the constant pointing to the code for the task type
    • createInterface: the reference to the interface for creating a new task of this type
    • resolveInterface: the reference to the interface for resolving a task of this type
    • resolveUpdateRule: the reference to the expression rule that should be called to update the Task record upon completion of a task of this type
    • resolveRecordToWriteUpdateRule: the reference to the expression rule that should be called to update additional records upon completion of a task of this type.

Feedback