cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
782
Views
1
Helpful
6
Replies

Return a list of agents assigned to a given Precision Queue

iquinn22
Level 1
Level 1

Hello,

I am looking to return a list of agents assigned to a given PQ. Due to access restraints, we are unable to access the database directly (like shown in the answer to a previous question: Report or query for all agents assigned to attribute or precision queue in UCCE - Cisco Community). Is there a way to generate this list using the UCCE APIs? I was looking at the Precision Queue API and Agent API, but there doesn't seem to be an efficient way to generate this list using either.

Thanks

6 Replies 6

Hi, if they won't give you direct database access, a much easier thing would be for you (or them if the system is really locked down) create the report definition and subsequent report in Cisco CUIC. This way you could run the report whenever you need.

Unfortunately, the list of agents assigned to a PQ is not needed for reporting purposes - it is only one step in our process. We will do some additional processing on this list and return this list to our internal systems, so we will need to be retrieved programmatically. The final results will not be used in reporting.

Please let me know if there are any other options.

Hi @iquinn22 , that's not what I am saying. You mentioned the other link (and others from this forum) that have SQL queries that let you see what attributes the agents have, etc. 
You can use that SQL query to create a report definition, and you use that report definition to create a report, that gives you the output that you need of agent A has #1 and #2 attributes, agent B has #2 and #3 attributes, etc.
So think of it as a way to run the SQL query you need but via the CUIC interface.
This way the tech team doesn't have to give you direct database access, if that's what they're concerned with.
You can then run the report when you need, schedule it if you need it on a certain interval, etc

Hi @bill.king1 , I may be a bit confused here. The list of agents will be used in dynamic call routing, so we need access to the list before an incoming call is routed to an agent (we will use the list of agents alongside some custom logic to route to a specific agent in the precision queue). I thought CUIC was a separate tool that was only used for reporting - is there a way to pull CUIC data from outside of CUIC? Users of CUIC will have no use for the list of agents, so having the data in CUIC alone won't help.

 

In my opinion you should stay with the APIs that you have mentioned but you should not pull this data on a call-by-call basis, especially if you have more than 100 users (if you use list option you are only allowed to pull 100 entries, at a single request - resultsPerPage: Specifies the number of items to retrieve. Minimum:1. Default: 25. Maximum: 100.).

I also remember that API limits the number of calls per minute so it may be a problem if you exceed the request limit.

So, you have at least 2 options:
1. Create a puller that will work as background worker and store the agent info in some kind of cache. This will be a source for your routing component.
2. Create middleware that will connect to DB and distribute the required information via an API. This way you may narrow the amount of data that you want to pull.

I personally would go with option 1

Marek https://gaman-gt.com
UCCE, PCCE, UCCX, WxCC, Cisco Finesse, Custom Gadget, CVP, CUIC, CUCM

You can use the agentAPi with attribute in the search parameters

https://developer.cisco.com/docs/packaged-contact-center/agent-call-api/#search-and-sort-values

attributes: (attr1 & attrt2 & attr3, ...) find all agents that have all the specified attributes. Up to ten attributes can be specified. The attribute names are fully matched.

 

https://<server>/unifiedconfig/config/agent?attributes=attr1

Please rate helpful posts and if applicable mark "Accept as a Solution".
Thanks, Thomas G. J.