Tasks
Overview
Tasks represent work that users are expected to perform, often in relation to one or more system entities. They can be any of a set of types. Tasks can be used in a wide variety of situations, such as:
An underwriter that needs to verify that a property inspection has been done satisfactorily
A customer service representative that needs to contact an insured about a past-due invoice or pending lapse
An agent coordinator that needs to ensure agents’ and brokers’ training and qualification process is complete
Note
Tasks differ from User Associations in that they represent a discrete activity that is no longer active once the task is completed. User associations typically represent longer-term associations where a user has an ongoing responsibility with regard to a particular entity.
Configuration
Each task type needs to be configured. In configuration, we might have:
{
"tasks": {
"customerService": {
"customerInquiry": {
"defaultDeadlineDays": 1.5
}
},
"underwriting": {
"inspectionReview": {
"defaultDeadlineDays": 2.25,
"underwritingBlock": true
}
}
}
}
requiredblocksUnderwriting booleandefaultDeadlineDays numberoptionalnumberingPlan string?numberingString string?
Here we have two task types defined: customerInquiry
has category customerService
, and inspectionReview
has category underwriting
.
Deadlines
Tasks have an optional deadlineTime
, which represents the time by which the user is expected to complete the task.
If the deadlineTime
for an incomplete task is changed, the task’s state would also change as needed. For example, if changing from the past to the future, the state would change from pastDeadline
to active
.
Note
Future releases will enable automated task reassignment and/or escalation of tasks to supervisors or alternative users for tasks that are incomplete at their deadline time. An alternative escalationTime
will allow escalation at a different time if desired.
Creation of Tasks
Tasks are created via integration or manual user action by discrete calls to the Socotra API.
The following changes can be made via the API to an existing task:
Changing or removing the assigned user
Completing it
Cancelling it
Changing the
deadlineTime
Adding or removing references
Adding underwriting flag associations (to any type of flag, not just block)
Removing underwriting flag associations
Tasks can be marked as completed, be reassigned to other users, have their deadlines changed, etc. using the API.
Underwriting Blocks
When tasks are created and have types that are configured with blocksUnderwriting: true
, then an underwriting flag will be created on the task’s reference entities of type Quote or Policy Transaction. Likewise, if a quote or policy transaction is later added to the task, a flag will be created. Flags created this way are always of type block
.
Underwriting flags have an optional taskLocator
property to track this association. When there is a link between a task and an underwriting flag, completing or cancelling the task will clear the flag (but not vice versa: clearing a flag manually doesn’t complete the task.)
You can update tasks to add underwriting flags that already exist. These too will clear when the tasks are completed or cancelled.
Task Diaries
Like other entities, Tasks are able to have associated Diaries, so that feature will need to have tasks added to its list of enabled reference types.