Pega Constellation: Display a Local Action Only When Assignment is Open (Perform Mode) and Hide in Review Mode

Hi,

I have a requirement in a Pega Constellation application where I need to display a specific local action only when a user is actively working on an assignment (equivalent to a Perform harness scenario in Traditional UI). The action should not be visible when the assignment is being viewed in Review mode.

Since Constellation does not use the traditional concept of harnesses (Perform/Review), I’m looking for the recommended approach to implement this behaviour.

Approaches Attempted

1. Visibility Control Using pzHasLock / Custom When Rule

  • We created a custom visibility condition based on case lock status (pzHasLock or similar logic).
  • The action visibility is configured on a case-wide action.
  • Initially, visibility behaves as expected:
    • Action is shown when the user has the lock.
    • Action is hidden otherwise.
  • However, after executing any case-wide action within an open assignment:
    • The local action menu refreshes.
    • The action list appears to be rebuilt using a context equivalent to “review mode”.
    • The action becomes visible/invisible inconsistently, despite the assignment still being open and the case remaining locked.
  • We’re trying to understand why the action list refresh behaves differently after a case-wide action is executed.

2. Analysis of pyTransferAssignment Flow Action

  • We investigated the out-of-the-box pyTransferAssignment action.
  • This action correctly appears only when an assignment is open and is hidden in review scenarios.
  • We observed that its Security tab uses the when rule:
    • pxIsNotInternalAssignment
  • We attempted to apply the same when rule to our custom case-wide action.
  • Unfortunately, the behaviour does not match the OOTB action, and our action is still not consistently controlled between perform and review contexts.

Any guidance would be greatly appreciated. Thank you.

Why Transfer action is coming only when assignment is being performed?

Because, look at pzSetAssignmentsList, step 4 and 5.

Generally, if step 4 is not commented, then this should work if you associate your flow action’s relevant record with the category “ASSIGNMENTLA” like showed in below screenshot.

Now, even adding it does not work. Because, due to some reason, they disabled that step and added step 5 to show the action based on flow action names only.

The only way left now is to add our flow action name to these conditions. That is also not possible as this is a FINAL rule. You can raise a ticket to understand if there is any fix for this or if they are going to provide any alternative.

@MarcCheong - Could you please share some thoughts on this? We have experienced the same issue earlier where Transfer Assignment Flow action is seen ONLY when the assignment is opened (not available while reviewing the assignment). This is a requirement for the most of the customers to transfer assignments while reviewing.

Center-out™ approach (Out of the Box)

This configuration is supported in the model.

I just put this together to answer this question. However, personally, I am not a fan of this UX, appearing/disappearing buttons could lead to some confusion.

DX Component

If you need to place actions, in the context of using the form, then you could use actionable button DX Component.

For this particular issue, I initially thought the solution would be to save the pyTransferAssignment flow action under a different name and add it as a case-wide action.

While this would successfully render it like other case-wide actions, the core issue is that it won’t actually transfer the assignment because it lacks the necessary context of what to transfer—especially since there can be more than one assignment active at a time.

To work around this, we would likely need to design custom logic that displays the available tasks, allows the user to select the ones they want to transfer, and then triggers a post-processing activity to loop over the selection and transfer them individually.

Here is our work-around :raising_hands: . I was so focused on figuring out why other actions weren’t behaving like the ‘Transfer’ action that I completely overlooked the option to configure local actions directly at the step level. But, I really hope in future, that option will be enabled where we can configure it directly on case wide local action, as configuring these actions on each step is again an additional task along with the UX discrepancy you already mentioned.