How to Use the K2 Destination Plan per Slot No Destinations rule


In this article we will learn how to use one of the K2 blackpearl destination rule – Plan per slot (no destinations).

The K2 blackpearl Plan per slot (no destinations) Destination Rule can be used for activity with server events. K2 User Destinations cannot be configured when plan per slot is used and the server creates one instance per slot. Each instance will have its own activity data fields.

1 - Simple K2 blackparl Workflow process

1 – Simple K2 blackparl Workflow process

By using Plan per slot and SmartObject event we will update all inactive users as active and send a notification. In the below image we can see there are 3 inactive users in table.

2 - K2 Destination Users

2 – K2 Destination Users

Select Destination Rule for activity and run in advanced mode, select plan per slot (no destinations) and destination rule has two options:
1) Can select number of slots to be created (static)

3 - Plan per slot

3 – Plan per slot

2) Number of slots will be created based on the number of records returned by the Smartobject List Method (Dynamic)

4 - Use SmartObject to determine number of slots

4 – Use SmartObject to determine number of slots

In our case, we have selected the EmployeeInfo.List.ID list field on the Destination Rule Options page and mapped Active property value as false.
This will create a slot for each inactive users

5 - K2 SmartObject loading destination users

5 – K2 SmartObject loading destination users

In Smartobject Update method Map value for ID as ActivityInstanceDestInstanceData and Active as true.

6 - K2 ActivityInstanceDestinationData

6 – K2 ActivityInstanceDestinationData

7 - Employee Id from ActivityInstanceDestinationData

7 – Employee Id from ActivityInstanceDestinationData

This will update all the Inactive users as active and notify the users.

8 - Notify Active Users Only

8 – Notify Active Users Only

9 - K2 Notifications

9 – K2 Notifications

We can set a Succeeding Rule for activity to check whether all slots of the Activity Instance “Active Datafield” is set to True. Once all the instances complete, the succeeding rule executes and thus process moves to completed state.

10 - K2 succeeding rule

10 – K2 succeeding rule


HOW TO: Send escalation email to only those destination users who have not completed a task

Let’s say you have a client event assigned to a role containing N people.  The succeeding rule is such that everyone must complete their task before the activity completes.  You want to send a reminder email to only those members of the role who have not completed their task after some amount of time but not bother those who have already completed.
You can do this easily!  Follow these simple steps:

  • Configure your client event as usual
  • On the activity, go into advanced mode for the destination rule and make the following changes:
    • Plan per destination | All at once
    • Create a slot for each destination
    • Resolve all roles and groups to users
  • Right-click on your event and set up your email escalation
  • On the Email Settings page, click Specify next to Recipient
  • Open the context browser for the To field, go to the Workflow Context Tab, and drill down into Activity Destination Instance and select the user email

That’s it!  Now only those members of the role who have not completed their task by the escalation time will receive an email.  A key thing to remember here is to use the Activity Destination Instance user and do not just click theDestination box for the To field.  If you click the destination option, an email will be sent to every member of the role, even if they have completed their task.
Keep in mind, the plan all at once option uses more server resources than plan just once, so if the number of slots is large then you probably should not use this technique.

Extracting workflow task serial number

The serial number for a particular worklist item is the x_y where x is the Process Instance ID for your process instance and y is the Activity Instance Destination ID for your activity.  For example, 123_78 would be the serial number for activity instance 78 in process instance 123.  Both of these fields are available in the Workflow Context browser (see attached).

Do keep in mind that a serial # is only valid while the activity has not been completed.  Once an activity has been completed, it cannot be accessed again.