Question

how to run a Standard agent with different access group than the user who created the queue record

Hi,

When pushing queue records to Standard agent using Queue-For-Agent method, i know Pega takes current logged in user access group and puts it into Queue record and uses as the context when running the Standard agent activity.

However is there any way that we can pass a different access group when pushing records to standard agent?

My Usecase:

I have multiple applications A,B,C and i have advanced agent in Framework (F) which pushes queue records into a standard agent. Currently the standard runs under the framework application context but i wanted to run the Standard agent to run under A, B , C context based on what i set.

Thanks in Advance.

Correct Answer
February 19, 2018 - 7:06am

It can be achieved and you can set the access group dynamically for a standard agent . 

1)Page New -Create a new page(XYZ) System-Queue-DefaultEntry , define it in the pages and classes . 

2)Property Set(On XYZ page)- Set the value for .pyAccessGroup dynamically from a parameter or a decision table .

3)Queue-For-Agent(On XYZ page)- Queue for the agent on XYZ page . it checks the value of pyAccessGroup property on the step page , if the value is there then it takes the access group from there otherwise from the requestor's  access group .

Comments

Keep up to date on this post and subscribe to comments

Pega
February 19, 2018 - 12:39am

Hi, 

We can't specify access group group for standard agents. It will be ignored even we we specify that in security tab of agent rule.

The help article states:

' Agents with the Standard queue mode do not need access groups. For standard agents, each queue item is processed in the authorization context of the user whose actions or processing (work item, assignment, and so on) generated the queue item'

February 19, 2018 - 1:13am
Response to Adithya1

Hi Aditya,

I am aware that the access group in Security tab will be ignored for standard agents. Even i don't want set the access group in Security tab. 

I am checking the possibility to set the access group of a standard agent dynamically when creating the queue record using Queue-For-Agent method/activity. 

In my example, the main Advanced agent is in Framework application access group, so when we push the queue records to standard agent from the Advanced agent which is in Framework application rule set(the access group would be Framework access group) then the context for the standard agent will be Framework access group only. Here i want the ability to set the access group dynamically?

Pega
February 19, 2018 - 4:09am

We may not achieve this directly using configurations but we can try a work around.

After doing queue for agent in the activity, Get the queue item id and do an obj-open and set the pyAccessGroup to desired value and do an obj-save of the queue entry item.

By this you can change the access group of the queue item. This is a work around, check your functionality thoroughly after making this change.

February 19, 2018 - 7:06am

It can be achieved and you can set the access group dynamically for a standard agent . 

1)Page New -Create a new page(XYZ) System-Queue-DefaultEntry , define it in the pages and classes . 

2)Property Set(On XYZ page)- Set the value for .pyAccessGroup dynamically from a parameter or a decision table .

3)Queue-For-Agent(On XYZ page)- Queue for the agent on XYZ page . it checks the value of pyAccessGroup property on the step page , if the value is there then it takes the access group from there otherwise from the requestor's  access group .

April 16, 2018 - 2:45am
Response to nikhilk7251

Hi Nikhil,

As suggested by you, I have followed the steps but its taking user access group who are queueing the items instead of default access group. Can you please suggest .

April 18, 2018 - 8:16am
Response to ramay209

What is the version of pega ?Are u setting the value on the page on which you are queuing for the agent .  Open the instance of the queued item , probably instance of System-Queue-DefaultEntry and check for the property pyAccessGroup and also trace for the value while you queue for the agent.

August 20, 2018 - 2:35am
Response to nikhilk7251

Hi Nikhilk,

I have tried the way you have suggested. But the agent will always use the default access group instead of the specificed access group.

I have traced the pyAccessGroup property and turned out to be the activity step "Queue-For-Agent" will always set the access group to default access group whether you specify an access group or not.

My Pega version is 7.3 and the pyAccessGroup was set on the page on which I was queuing for the agent.

Any suggestions? Cheers

April 3, 2019 - 8:24pm
Response to KevinS32

To always run a standard agent in a given security context, you need to switch the queued Access Group by overriding the System-Default-EstablishContext activity and invoke the setActiveAccessGroup() java method within that activity.