Posted: 15 Feb 2018 16:31 EST Last activity: 23 Jun 2020 14:53 EDT
how to run a Standard agent with different access group than the user who created the queue record
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?
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.
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'
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?
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 .
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.
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.