Featured post

GetNextWork functionality in pega

What is GetNextWork in pega? Pega provided a functionality to get the most urgent assignment(task) for user to work on. This is configured o...

GetNextWork functionality in pega

What is GetNextWork in pega?

Pega provided a functionality to get the most urgent assignment(task) for user to work on. This is configured on user portals with a button or a link. When user clicks on, pega will perform some criteria to get the most urgent work. This can improve user productivity, timelines to finish the work, ultimately customer satisfaction.
getnextwork pega

How to configure GetNextWork button/link in portals?.

We can configure GetNextWork functionality on a button or link in Case Manager or Case Worker Portal.This is available in actions tab of a button or link as shown below.
getnextwork functionality in pega

GetNextWork functionality in pega

First we need to understand operator profile and settings for work basket (queue) and work list and skills for the operator.
GNW  Operator Profile

What will happen when we click on GetNextWork button or link ?

GNW algorithm
Fetching an assignment from work list or work queue is based on the check box on the operator profile 
"Get from work queues first" and property pyWorkbasketFirst holds true for selection, false for non selection.
operator work baskets

Get from work queues first Selected

Get from work queues first

If we have more than one workbasket assigned in operators form, pega will process work baskets from top to bottom order to fetch an assignment. If no assignment found in top work basket (default@TP) then pega will look into second work basket (default@pega.com). 

Urgency Threshold (pyUrgencyThreshold):

If we specify urgency threshold for each work basket by specifying the values (integer values), pega will consider those assignments with urgency value is above from the value specified here.
For example: from above screen shot we have two work baskets specified and pega first looks into default@TP workbasket assignments.
default@TP workbasket have 3 assignments as below:

 Assignment     assignment urgency Workbasket
 S-100     5 default@TP
 S-120 20 default@TP
 S-122     25 default@TP
 S-125 40 default@pega.com
 S-140 70 default@pega.com
When pega generate a report (listview) on default@TP work basket, it forms SQL to include pyUrgencyThreshold > = 10 (specified in work basket) and will find two assignments S-120 and S-122.
If we don't have any assignments in default@TP workbasket or assignments have urgency value below the threshold value, then pega will generate a report in second work basket "default@pega.com" with value greater than or equal to threshold value (5 in this case).
Once all assignments are completed/emptied from workbaskets based on threshold value then lower urgency assignments are considered for the process.
sql query

Merge workbaskets:

If this check box is selected, pega adds all work baskets as comma separated list.
Merge work queues
merge wb

Pega treas all work baskets as single workbasket and forms below query.
merge wb query

Use all work queue assignments in user's team:

When this option selected system will include all workbaskets belongs to the same work group as  the user.
Use all work queue assignments in user's team
When above two options are selected, pega will query the assignments from workbasket. Workbasket is mentioned in work group and work group is there on operator's profile.
If an assignment is qualified and found for the user to work on, pega will check some criteria whether the assignment is ready to be worked on and if the user is previously worked on that assignment today. If previously worked today system skips that assignment. To check the criteria pega runs a decision tree Assign-.GetNextWorkCriteria.
If previously not worked on that assignment today, pega moves that to user's work list and opens the assignment.
If no assignment if found in work basket(s) then system will look into user's work list to get urgent assignment. In this situation pega executes Work-.findAssignmentInWorklist activity to fetch assignment from  operators work list (from Work-.getNextWorkObject activity step-4).

We will see the rules execution order by pega:

When user clicks on GetNextWork button/icon/link on the portal pega first calls UI action activity from @baseclass.doUIAction because we have specified On-click action as "GetNextWork" from Actions tab on button configuration. 
doUIAction activity pega

We will see the order of executing rules:
1. @baseclass.doUIAction - activity
2. Work-.GetNextWork - activity
3. Work-.getNextWorkObject - activity
  •     Activity Work-.findAssignmentInWorklist 
                ListView - Assign-Worklist.GetNextWork
                            - Uses default getContent activity to retrieve assignments.
  •     Activity Work-.findAssignmentInWorkbasket
                ListView - Assign-WorkBasket.GetNextWork
                           - Uses custom get content activity (getContentForGetNextWork) to retrieve assignments.
4. Decision Tree - AssignGetNextWorkCriteria
5. Activity Assign- MoveToWorklist  - moves assignment to user's work list
6. Activity Assign-OpenAndLockWork - Opens the assignment from user work list and lock it.
7. Harness Work- Perform harness which displays the assignment for the user to work on.

See here to know "how can we Customize get next work in pega "


  1. The best article for Get next work functionality. Thanks Ramesh ❤️

  2. Thanks vijay. Please share with friends on linkedin facebook

  3. Great Explanation