GetNextWork functionality in pega

What is GetNextWork in pega?

Pega provided functionality to get the most urgent assignment(task) for users to work on. This is configured on user portals with a button or a link. When a user clicks on it, 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 the 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 the Actions tab of a button or link as shown below.
getnextwork functionality in pega

GetNextWork functionality in pega

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

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

GNW algorithm
Fetching an assignment from a worklist 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 in order to fetch an assignment. If no assignment found in the top work basket (default@TP) then pega will look into the second work basket ( 

Urgency Threshold (pyUrgencyThreshold):

If we specify the urgency threshold for each work basket by specifying the values (integer values), pega will consider those assignments with urgency value is above the value specified here.
For example: from the above screenshot we have two work baskets specified and pega first looks into default@TP workbasket assignments.
default@TP workbasket has 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
 S-140 70
When pega generates 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 the second work basket "" with a value greater than or equal to the 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 a comma-separated list.
Merge work queues
merge wb

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

Use all work queue assignments in the user's team:

When this option selected system will include all workbaskets belongs to the same workgroup as the user.
Use all work queue assignments in user's team
When the above two options are selected, pega will query the assignments from the workbasket. Workbasket is mentioned in the workgroup and the workgroup is there on the 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 the user's worklist and opens the assignment.
If no assignment is found in the work basket(s) then the system will look into the user's worklist to get the urgent assignment. In this situation, pega executes the Work-.findAssignmentInWorklist activity to fetch assignments from operators' worklist (from Work-.getNextWorkObject activity step-4).

We will see the rules execution order by pega:

When a user clicks on the 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 worklist
6. Activity Assign-OpenAndLockWork - Opens the assignment from the user worklist 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