Assigned Tasks

Summary

Assigned Tasks allow a Workflow Step to be assigned to a specific person, rather to a Role.

See also: External Contacts

Overview

LearningBuilder supports multiple ways of allowing people to perform the tasks that are expected of them.

The primary mechanism of doing this is by configuring a Workflow Step to be "completed by" a specific Role. This configuration creates a "queue" of Workflow Instances that anyone with that Role is able to work on. For instance, if there is a pool of Reviewers, and they are all capable to reviewing an arbitrary application, then assigning the Review step to the "Reviewer" role means that each Reviewer can pull pending applications from the queue when they need something to do.

It is also possible to configure a Workflow Step to be "completed by" a specific Member. This configuration creates assigned tasks that must be handled by that specific assignee, rather than a pool of people with a given Role.  This option is currently available for Activity Creation and Activity Completion workflow type only.  It is not supported on other workflow types at this time.

Business Case

The queue configuration supports a "pull" model where people pull items from a work queue according to their capacity. This is useful when all members of a given Role are equally qualified to work on a given task.

The assigned tasks configuration supports a "push" model where one person is responsible for playing "traffic cop" by assigning incoming work items to specific people. This could be useful, for example, in a complex scenario where different reviewers specialize in different things, and it's important to route reviews to a specific person best suited to perform it or so there is an intentional distribution of work.

Configuration Overview

  1. Grant the MyAccount → AccessMyTasks permission to the Role that will be assigned a Task. 

  2. Add an "Assignee" type Attribute to a Workflow Step (A full list of Attribute Data Types that can function as an "Assignee" selection is found in the Data Type List). To configure an Assigned Task, where the assignee is expected to be an existing LearningBuilder member, select a Member type attribute. Selecting an /wiki/spaces/DOCS/pages/558629042 attribute will, in most cases, configure an External Contact scenario.

  3. Edit a subsequent Step of that same Workflow, and select "Assignee" in the To Be Completed By setting. Select the Assignee attribute you created in Step 1. (Optionally, configure an email notification to be automatically sent to the Assignee whenever the workflow moves to this step.  Alternatively, you can explicitly configure a Send Email to Assignee behavior on the action that moves the workflow onto this step.)


  4. After the assignee attribute on the Workflow is populated by the end-user and the workflow moves onto an Assignee Step, the Assignee attribute will be further populated with a pointer to a specific, existing LearningBuilder member. When that specific user logs in, they will see a Task assigned to themselves and can act on it.


Technical Details: when using a Member Assignee attribute

When a Member attribute creates an assigned task, the following records are created:

TableColumnValue / Notes
WORKFLOW_INSTANCE_ASSIGNEEPERSON_IDThe Member Id of the assignee
EMAILThe primary email address of the assignee. (This is used only when sending the notification email, and is not used to determine whether a given user has any assigned tasks or not)
ITEM_ATTRIBUTE_VALUEVALUE

The value of the Member attribute holds the Member Id of the assignee if the attribute is of type Member or Supervisor. This value must be kept in sync with the PERSON_ID value of the assignee record or the user will not be able to actually access the assigned task.

Also the 

Technical Details: when using an Email Assignee attribute

When an /wiki/spaces/DOCS/pages/558629042 creates an assigned task, the system checks to see if that email address belongs to one and only one existing LearningBuilder member. If so, then the task is assigned to that Member.

If not, then the task is not assigned to any specific Member. In this case, the only way to access the task is through a specially formatted URL that contains the unique Access Code assigned to the task. This allows the owner of that email address to act on that task without requiring a LearningBuilder account.

Assigned Tasks using Email Address attributes are lost if the assigned user changes their LearningBuilder email address!

Using an Email Address attribute creates a "point in time" relationship between that email address and the task. If the email address matches a user in LearningBuilder when the task is created, and that member changes their primary email address at a later time, they will lose access to the task.

To avoid this, consider using a Member attribute instead. That will establish a relationship based on the user's ID which will not change.


TableColumnValue / Notes
WORKFLOW_INSTANCE_ASSIGNEEPERSON_ID
  • If the email address corresponds to one and only one existing Member, then their Member Id is recorded
  • In all other cases, this field is NULL
EMAILThe primary email address of the assignee
ITEM_ATTRIBUTE_VALUEVALUEThe value of the Email attribute holds the email address of the assignee. This value must be kept in sync with the EMAIL value of the assignee record or the user will not be able to actually access the assigned task.

Use Cases

  • A "push" model where Reviews are assigned to specific people that already exist in LearningBuilder

  • Collecting data from external people that do not exist in LearningBuilder, such as a previous supervisor 

  • Workforce Management scenarios where a Supervisor contributes to a subordinate's application

Limitations

Only Create Activity and Complete Activity Workflows support the assignment of a Step to a specific person. Other workflow types are limited to a "queue" model.

The Assignee occurs when the Workflow is Saved. This happens before any behaviors that might be applied to an action. In a particular case we came across, there was an attempt to save the workflow, send an email to the old Assignee, then send an email to the new Assignee and change the value of the attribute indicating who was assigned. This does not work because the behavior changing the value of the attribute happens AFTER the workflow_instance_assignee table is updated. 

Training Materials

The TRAINING database contains an Assigned Task already set up for the auditor@example.com account.