Retain Familiar

This pattern stipulates that you want a specific task to be executed by the same resource that executed a previous task in the same process instance.

For example, the resource that handles the initial customer contact is the same one that handles the follow-up call. Consider the following process:

In this example, all three tasks are assigned to the same organization unit. The Take Details task is allocated to a resource from the organization unit. Because the Followup task is in the same Retain Familiar group as the Take Details task, they will be allocated to the same resource as well.

Note: This pattern specifies that you would ideally like tasks to be executed by the same resource. However, this is not always possible in the runtime environment. For example, it may be that by the time the later tasks in a retain familiar group are reached, the original participant is unavailable or not in the participant set. In such cases, the work item is delivered as normal according to the distribution strategy.

If you delete a resource, then Retain Familiar will not work as the resource is no longer available, but the work item will remain offered to the participant(s) defined, and you will receive an error message. If you remove a resource from a position or group, Retain Familiar will still work as the task will be delivered to the resource even though they are no longer a member of the original position or group.

Where there are parallel threads it is possible for the second task to become active before the other has completed in which case it would be impossible to retain familiar. This situation is disallowed through validation within Business Studio such that the two activities can be guaranteed to be sequential.

If the pattern is broken for any reason the ’familiar’ resource becomes the most recent resource used. For example, resource A performs the first step in a process, but is not available when the second task is allocated, so the task is allocated to resource B. When the third task is allocated, it will be allocated to resource B, who has now become the ’familiar’ resource.

There are several ways to specify this pattern:

  • On the right-click menu in the Process Editor
  • On the Resources tab in the Properties view for the task
  • On the Task Groups tab in the Properties view for the process