How to Create an Agent Group in Pure Cloud Architect?

Dear Genesys Pure Cloud Community,

I opened this topic share how I created an Agent Group in Architect. Many users who have used Pure Engage/On-Premise environment might already be missing lack of "Agent Group" functionality in Architect for Routing purpose. It is to be understood that the existing Agent Group/Work Teams functionality in Pure Cloud does not render us any routing functionality.

Let's dive straight into our topic:

Requirements:
a) A data table with a reference key of your choice. I created a data table with Queue name as reference key. The agent names will be populated against the Reference Key as shown below:
Data_Table

b) A queue with "Preferred Agent Routing" configured. All the agents populated as "PriorityAgents" should be associated with Queue name you will be defining in "Transfer To ACD" block you will use later in this procedure.

Architect flow:

With these configurations in place, build agent groups as described below:

a) Place "Data Table lookup", read the comma separated agent list from the Data Table we discussed above. Save the contents of the Data Table to a "String" type variable, then save it to a "String Collection" type variable as shown below (Architect won't let you save the contents of Data Table directly to "String Collection" type variable):

b) with reference to above screenshot, use split function to process the data further so that each agent entities from the data table will have an Index number assigned. Furthermore, this steps enables us to get the agent count which will be used in the loop action we are about to perform.

c) Configure a "Loop" Action block like shown below where "Agent count" is received from above step. LoopIndex will hold current number of loop in progress.

Loop

d)Use Find user block without which Transfer To CD block will not recognize any of the agents passed as target. So, this step is mandatory. Expression used shown below (We don;t use variable Flow.FindUserResult anywhere in the flow, it is a dummy):

FindUser

e) For every "Found" agent, build an "Agent Score Pair collection" as shown below:

AgentScore_Collection

f) The entire Loop Structure will appear like the one shown below:
Loop_Structure

d) Then Pass variable "Flow.PriorityAgentScorePairCollection" (Variable Type>>> Agent Score Pair Collection) in Transfer To ACD block's "Preferred Agents" field.

Hope this helps.

1 Like

Thanks for sharing that idea. If I were to make one suggestion it would be to ditch the data table and instead make a Genesys Cloud Data Action request to retrieve the members of a Genesys Cloud Agent Group. Once you have the array of agent email addresses from the group you can then apply the same logic as if you had retrieved them from the Data Table. This allows you to use the standard Group functionality without having to maintain a pseudo agent group in a Data Table.

For example you could first call https://developer.genesys.cloud/devapps/api-explorer#get-api-v2-groups to get a list of groups, looking for a specific group name to get the group id.

Once you have the group id you can then call https://developer.genesys.cloud/devapps/api-explorer#get-api-v2-groups--groupId--members to get the members of a group. Spin through the list to pull out the "username" property of each member and place it in an array.

Now you have your array of target agents to create your PriorityAgentCollection and away you go.

1 Like

Thanks for the suggest @crespino . Will try it in upcoming enhancements.

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.