We are trying to overcome the limitation of ‘Last agent routing logic’ if enabled where call always goes to the last agent they spoke to regardless of the fact if that agent has the ‘requested’ skill or not. We have been able to capture the team name of the ‘last agent’ and thinking to map it with the requested service to make sure that team has the service access; no luck so far.
Any thoughts?
Cheers
Jugal
@Jovi - I took a real attempt at this using the Real-time Statistics API, however I do not see a way to tie back a list of team_ids to a service_id.
No success in this route.
Another approach i looked at was with the Configuration API. There isn’t a method that supports checking a service for what teams are assigned, nor a way to check a team for what services are assigned. No success on this route.
All is not lost though. You could combine these to get what you need.
Step 1 is to identify and log/store the original agents team to a variable. You’ve already completed this step.
Step 2 is to use the Real-time Stats API to return a list of logged in agents from that team in step 1. You can limit the count to just 1 since thats all we need. Store this username as a variable.
Step 3 is to use the config API to get user data for the username stored in the variable in step 2. Within the result set is a list of skills and the skill numeric value. Store the result set to a variable. A service name will show up in this list as a skill when the team is assigned to it.
Step 4 is to use an IF object block to evaluate if the variable in step 3 (user data) contains $(service.name). If true, allow route to your new path to different person in that team.
It might sound a little complicated, but is certainly doable.
One additional edit here.
For step 3 you do not need to use the config api. You can use the “Get User Configuartion” scenario block.
Skill – The name of user’s skill from the specified group; this parameter can be used for group-based routing; see the description of option Specific skill from variable of the Find Agent block for more information
Hello Derek, Thanks for taking time to respond. Yes, I am using the get user configuration block (because it is required as part of last agent routing) and capturing the team name and the ‘skill’ name you are referring to. The problem with this is:
Skill name returned is string like this: 01C59097-6180-4CDF-8F66-6E65280B6AEE which doesn’t make sense and not related to any services in the system.
Problem still remains the same: How to make sure that the last agent has the skill of the incoming call.
I can solve this using APIs as you have mentioned but it is not worth the efforts doing so much customization and its management going forward and that too with a call volume of 5000/day.
If you have any luck doing it without APIs, do share…
Cheers, Jugal
If you navigate to Services within the Tenant Admin and select a service, look at the full URL path in your browser tab. There will be an ID that looks like that same format for each Service that you select. That is the Service unique ID.
The Stats API can handle the volume of traffic you are talking about. It’s the same API that drives the real-time metrics views and Wallboards today.
Without using the Stats API to do the translations for you, you could just use an IF block to evaluate for the Service IDs, then translate it back to human readable.
Since you don’t want to use API’s, I would recommend that you open a platform enhancement request with Bright Pattern to add a specific feature that would enable you to solve for your situation.
Thanks @Derek , I overlooked it and yes, I can see the service IDs in the service panel. There is one more challenge this pose: the skill returned by get user configuration block is random based on the allocation to users ‘team’ and only returns one value (not multiple skill names). I still do not see how can I use that and relate it to the skill/service of an incoming call. I think the best way is to do using APIs only.
I would very much like to have a service and team matching option inside the get configuration or IF block to map it against a variable or something simplistic which establishes the relationship between agent, team and allocated services.
Will keep looking and appraise you all here.
cheers
Jugal
Hi, i use a variable that is not exist in the doc, it’s service.id, and i put in the scenario block: skill from variable. Its works!!! And in that point scenario knows the team that is assigned to the service @greg.luttbrightpatte please can you confirm me that its ok?