• You have two Work Groups:
o UVZA ( Default)
o UVZB
• You added:
o 2 work queues from UVZA
o 1 work queue from UVZB
• The Operator is assigned to both Work Groups
• We’re toggling these two checkboxes:
o Get from work queues first
o Use all work queue assignments in user's team
What Each Option Means
Option Description
Get from work queues Tells Pega to look at work queues before personal worklist
first during Get Next Work
Tells Pega to consider all queues in the operator's current
Use all work queue
(default) Work Group, not just the default queue of that
assignments in user's team
group
Note: This option only affects the current (default) Work Group, not all Work Groups.
1. If you select only "Use all work queue assignments in user's team"
Not selecting “Get from work queues first”
What Happens:
• Pega will first check the operator's personal worklist
• If nothing is found, it will look into:
o All work queues in the default Work Group (UVZA)
o That means both queues from UVZA will be considered
• The work queue from UVZB (non-default Work Group) will NOT be considered
2. If you select only "Get from work queues first"
Not selecting “Use all work queue assignments in user's team”
What Happens:
• Pega will check work queues first, before the personal worklist
• BUT it will only consider the default queue of the default Work Group (UVZA)
o Only 1 queue (the default one in UVZA) will be evaluated
• Other queues in UVZA and the queue from UVZB will be ignored
3. If you select both options
"Get from work queues first"
"Use all work queue assignments in user's team"
What Happens:
• Pega will look at work queues before personal worklist
• It will evaluate all work queues under the default Work Group (UVZA)
o Both queues from UVZA will be checked
• Still, the queue from UVZB will NOT be considered, because that’s a different
Work Group and the “Use all...” setting only applies to the current Work Group
4. If you do NOT select either option
What Happens:
• Pega will first check the operator’s personal worklist
• If nothing is found, it will look into the default queue only of the default Work Group
(UVZA)
• Other queues (non-default in UVZA or anything in UVZB) will be ignored
Summary Table
Option Behavior Summary
Personal worklist → Only default queue in default
Neither selected
Work Group (UVZA)
Only “Use all work queue Personal worklist → All queues in default Work Group
assignments...” (UVZA)
Option Behavior Summary
Only “Get from work queues Default queue in default Work Group first, then
first” personal worklist
All queues in default Work Group first, then personal
Both selected
worklist
Still ignored: Queues from UVZB Unless you enable Merge Work Queues (see below)
Want to Include Queues from UVZB Too?
You'd need to enable:
"Merge Work Queues" in Operator ID
This makes Pega consider queues from all Work Groups the user is assigned to (like UVZB)
— but only when used with Get Next Work logic.
TL;DR
Setting Evaluates Which Queues? Priority Order
Only default queue of default
Both unchecked Worklist → Queue
Work Group
Use all work queue All queues in default Work Worklist → All queues
assignments Group (default WG)
Get from work queues Only default queue of default
Queue → Worklist
first WG
All queues (default WG) →
Both All queues in default WG
Worklist
Merge Work Queues
Queues from all Work Groups Depends on logic
(optional)
Worklist vs Workbasket – Questions & Answers
1. Route assignments to user or team
Q: How will you configure this in Pega?
A:
Use ToWorklist for routing to individual users (pyAssignedOperatorID) and
ToWorkBasket/ToWorkQueue for shared team routing. Use router activity or Decision shape to
determine routing dynamically.
2. Users not receiving assignments
Q: How to troubleshoot?
A:
Check:
• Operator ID status
• Access group and roles
• Assignment's pyAssignedOperatorID
• Use Tracer/Clipboard to verify routing logic
3. Role-based routing
Q: How do you route tasks based on roles?
A:
Use When rules or Decision tables to check user role.
Route:
• Regular tasks → analyst workbasket
• Escalated tasks → manager worklist
4. Wrong routing to worklist
Q: How do you fix it?
A:
Reassign using:
• Reassign Work utility
• @ReassignWork function
• Update assignment via activity or admin portal
5. Out-of-office routing
Q: How to route to fallback team?
A:
• Maintain out-of-office flag
• Use a router activity to check availability
• If unavailable, route to shared queue
6. Sequential user routing
Q: How to ensure step-by-step routing?
A:
Use Assignment shape after each step and route to the next user using router logic or predefined
roles. Can also use pxGetStepPage to access current step.
7. Display both worklist & workbasket
Q: How to configure dashboard?
A:
Customize User Portal using report definitions or Widgets. Display:
• Worklist: pyMyWorkList
• Workbasket: Assign-WorkBasket class reports
8. Workbasket overload
Q: How to resolve?
A:
• Introduce load balancing rules
• Set priority/urgency
• Use Get Next Work
• Assign SLAs to escalate old tasks
9. Routing by department/location
Q: How to dynamically route?
A:
Use Decision tables or Data Pages that reference user location/department. Apply router activity
that evaluates this data.
10. Audit workbasket pickup
Q: How to track who picked up a task?
A:
• Enable History tracking
• Use pxUpdateOperator field
• Capture details in audit notes or custom history class
SLA – Questions & Answers
1. 2-hour SLA, escalate at 1.5
A:
• Create SLA rule: Goal = 1.5 hrs, Deadline = 2 hrs
• Attach SLA to assignment or case
2. SLA timers not working
A:
• Ensure SLA agent is running
• Check flow assignment
• Validate datetime fields in SLA rule
• Use Tracer logs
3. SLA not triggered in Wait shape
A:
Yes, that is expected. SLAs pause in Wait unless you define a separate SLA for the Wait shape itself.
4. Escalation only during working hours
A:
• Define Calendar rule (e.g., 9 AM – 5 PM)
• Attach calendar in SLA rule
• SLA honors business hours only
5. Pause/resume SLA
A:
No direct support. Use a workaround:
• Cancel existing SLA
• Store elapsed time
• Recreate SLA using logic based on previous values
6. Case-level SLA
A:
Set an SLA at the case level or track assignment SLAs and calculate total manually using a utility
function or declare expression.
7. Auto-report on missed SLAs
A:
• Create a report definition filtering on missed SLAs
• Schedule a job scheduler or report subscription to send emails daily
8. Custom escalation behavior
A:
• Use escalation actions in SLA rule:
→ Run activity
→ Notify party
→ Update urgency
• Custom escalation: call APIs, update case status, etc.
9. Dynamic SLA assignment
A:
Use a Decision table or When rule to determine SLA dynamically and set it using Property-Set or
SetAssignmentSLA.
10. SLA agent running but no trigger
A:
• Confirm pxCreateDateTime is set
• Check for agent access group errors
• Review SLA logic and stage flow
• Look at Broken queue items
11. Urgency not affecting prioritization
A:
Urgency affects Get Next Work selection. If not working:
• Ensure pyUrgencyAssignWork is updated
• Review work queue prioritization rules
Work Parties – Questions & Answers
1. Model multiple parties
A:
• Configure Work Party roles in case type
• Use AddWorkObjectParty or Data transform
• Use .pyWorkParty(Approver).pyEmail in correspondences
2. Add party dynamically
A:
Call AddWorkObjectParty activity with:
• Party Role
• Party Identifier
• Party Type (Operator/External)
3. Notify external stakeholder
A:
Define a work party of type External. Set email and name, then use
.pyWorkParty(Customer).pyEmail in correspondences.
4. Correspondence template fails
A:
Check:
• Party role exists
• .pyWorkParty page is populated
• Property path in correspondence is correct
5. Difference: Participant vs Work Party
A:
• Participant: Interacts with the case
• Work Party: Has structured role (e.g., Requestor, Customer)
• A user can be both if assigned as operator and party
6. Notify dynamic third-party vendor
A:
• Fetch vendor info from Data Page
• Add as External work party
• Send notification using work party reference
7. Multiple parties of same role
A:
• Use page list structure
• Customize work party section to support repeating roles
• Avoid hardcoding .pyWorkParty(RoleName)
8. Restrict actions based on role
A:
• Use pxHasWorkParty or pyWorkParty(Role) checks in when rules
• Control visibility/actions using role validation
9. Role visible in email only
A:
• Do not add as work party
• Include them as contact property (Email only)
• Use non-work party reference in correspondence
10. Impact of work parties
A:
Work parties affect:
• Audit trail (who interacted)
• Correspondence templates
• Security/access control
• Routing and SLA notifications
1. Scenario: You need to assign a task to a user only if they are certified to handle financial
approvals.
Q: How would you ensure only users with the required skill can receive the task?
A:
Use the Required Skills option on the Assignment shape. Define a skill like "FinancialApproval" and
set a minimum skill level (e.g., 70).
Ensure users have that skill assigned in their Operator ID with an appropriate proficiency level.
2. Scenario: Two users are part of the same workbasket. One has high skill, and the other is new.
Tasks should go to the experienced user first.
Q: How do you prioritize routing based on skill level?
A:
Use Get Next Work with skill-based routing enabled.
Pega evaluates the skill match against the assignment’s required skill and chooses the best operator
based on highest skill level and availability.
3. Scenario: You want to dynamically determine which skill is required at runtime based on the
case type.
Q: How can you achieve this?
A:
Set the required skill dynamically using a Data Transform, Decision Table, or custom logic in the flow
before the Assignment.
Use .pyRequiredSkills() page to define skills programmatically.
4. Scenario: A user’s skill level improves after completing specific types of tasks. You want to
automatically increase their skill level.
Q: How would you implement this?
A:
After task completion, update the operator’s skill level by:
• Using an activity to update the OperatorID class
• Or trigger a custom utility that checks the task type and modifies the skill entry for the user
5. Scenario: A user is assigned a task, but later their skill level is downgraded. The task should be
reassigned.
Q: How do you handle such changes dynamically?
A:
Monitor skill changes through a background job (Job Scheduler or Declare Trigger on Operator class).
When a downgrade is detected:
• Fetch open assignments
• Check if skill requirement is still met
• Reassign if needed using the Reassign Work API or a utility
6. Scenario: Your application has multiple skill categories, like language, domain knowledge, and
tool expertise. Tasks may need a combination.
Q: How do you configure multi-skill requirements?
A:
On the Assignment shape, add multiple skills with levels under the “Skills” tab.
Pega will evaluate all skill requirements — the user must meet all to be considered for routing.
7. Scenario: A user meets skill criteria but still isn’t receiving work.
Q: What could be wrong and how would you troubleshoot?
A:
Check:
• If Get Next Work is properly configured
• If operator is in the correct work group/work queue
• Confirm their availability status
• Use Tracer and Clipboard to debug skill match evaluation
1. Scenario: An operator is getting team tasks even though their personal tasks are pending.
Q: What could be the reason?
A:
Check if “Get from work queues first” is enabled in the Operator ID.
If it's checked, Pega will pull work from the work queue first — even if personal (worklist) tasks are
waiting.
2. Scenario: Business wants to prioritize team backlog over personal tasks.
Q: How would you configure this in Pega?
A:
Enable “Get from work queues first” in the operator's profile.
This ensures team tasks are considered first when using Get Next Work.
3. Scenario: You’ve disabled “Get from work queues first”, but team tasks are still being assigned
before personal ones.
Q: What else would you check?
A:
• Review custom GetNextWork logic (if overridden via activities or decision tables).
• Check if worklist assignments have lower priority (urgency).
• Validate if operator has correct workgroup/workbasket association.
4. Scenario: A senior user only wants to work on escalated personal tasks, unless the team queue
has high-priority items.
Q: How can you fine-tune Get Next Work behavior?
A:
• Disable “Get from work queues first”.
• Customize the GetNextWork activity or use a Decision Table to prioritize escalated personal
tasks and then check the team queue only for high urgency items.
5. Scenario: You're implementing Get Next Work and want junior users to always pull from a
shared queue.
Q: How do you configure this?
A:
• Enable “Get from work queues first” for junior operators.
• Use skill-based or role-based filters in the work queue to route appropriate items.
• Set urgency/priority rules to control work selection.
6. Scenario: Two operators have the same role and workgroup, but one is getting personal tasks
first while the other is not.
Q: What could be causing the difference?
A:
One operator likely has “Get from work queues first” enabled, and the other does not.
Check the Operator ID → Work tab settings.
7. Scenario: A manager wants visibility into what’s in both the worklist and work queues.
Q: Will “Get from work queues first” affect reporting?
A:
No. It only affects which task is pulled next, not visibility.
For reporting, use report definitions on both Assign-Worklist and Assign-Workbasket.
8. Scenario: “Get Next Work” pulls low-priority items instead of high-priority ones.
Q: What could be wrong?
A:
Check:
• Whether “Get from work queues first” is causing workbasket items to be picked over high-
priority worklist items.
• That urgency is set correctly.
• That GetNextWork logic hasn’t been overridden or customized.
9. Scenario: You want users to pick tasks from their own list first but still help with team backlog
during idle time.
Q: What’s the best approach?
A:
• Leave “Get from work queues first” unchecked.
• Use idle time triggers, robotic automations, or dashboard widgets to encourage voluntary
team queue pickups.
10. Scenario: The application has custom logic to determine what work to assign next.
Q: How does “Get from work queues first” interact with this?
A:
If you're using custom GetNextWork activity, the setting might be bypassed.
You need to manually evaluate both worklist and work queue priorities based on your business
rules.
Get Next Work configuration in the Operator ID, this option tells Pega to:
Consider all work queues associated with the user’s team (Work Group) — not just the default work
queue in the Work Group record — when pulling work via Get Next Work.
Scenario-Based Questions on "Use all work queue assignments in user's team"
1. Scenario: You have multiple work queues tied to a single work group. A user is not getting tasks
from some queues.
Q: What could be the issue?
A:
Check if “Use all work queue assignments in user's team” is enabled in the operator’s ID.
If it’s not, the system only pulls work from the default work queue set in the Work Group record.
2. Scenario: You need users to assist across different queues dynamically, not just one.
Q: How do you enable this behavior?
A:
Enable “Use all work queue assignments in user’s team” on the Operator ID.
Ensure the Work Group has all relevant work queues listed under it.
3. Scenario: A user is part of a work group with 3 queues. Only one queue’s tasks show up during
Get Next Work.
Q: What are the possible root causes?
A:
• “Use all work queue assignments…” option not enabled
• The default queue is working fine, but the others are ignored
• Or the other queues may lack tasks or user may not have access
4. Scenario: You want to separate work queues by type (e.g., Billing, Tech Support) but still want
team members to assist in all types.
Q: What setup is required?
A:
• Create multiple queues under the same Work Group
• Assign users to that Work Group
• Enable “Use all work queue assignments…” in their Operator ID
• Ensure queue access is role-appropriate
5. Scenario: Two users in the same team have different results when using Get Next Work. One
sees all queues, the other only one.
Q: What do you check?
A:
Check if only one user has enabled “Use all work queue assignments in user's team” in their
Operator ID.
6. Scenario: Business wants only senior users to pull work from all queues, juniors should pull from
one.
Q: How can you support this?
A:
Use access roles or operator setup to:
• Enable the option only for senior users
• Limit junior users to default queue in the Work Group
7. Scenario: Get Next Work logic is customized but doesn’t return work from all queues.
Q: What would you suggest?
A:
• Ensure the setting “Use all work queue assignments…” is enabled
• In the custom GetNextWork logic, loop through all queues from
.pyWorkGroup.pyWorkQueues instead of just the default one