Cisco Support Community
Showing results for 
Search instead for 
Did you mean: 

Welcome to Cisco Support Community. We would love to have your feedback.

For an introduction to the new site, click here. And see here for current known issues.

New Member

1 CSQ and Skills based routing


I have a quick question regarding 1 csq and skills based routing.  We have a customer that wants 10 different numbers pointing to 10 different scripts but would like to have only 1 CSQ since they only have 10 agents to do all of the work. 

This may not even be an issue but wanted t make sure before I started scripting.

The first  number gets called (lets say HP)  and routed to correct script. Call goes thru the script and to the CSQ...the agent has a skill 10 for HP and skill 5 for Cisco and will receive the call .  Second number  gets called (lets say Cisco) and routed to correct script and dumpted to the same CSQ...another agent has a skill 10 for Cisco and skill 5 for that agent will recieve the call (?) Can you have multiple skills within 1 CSQ without having any issue?   Will these affect the call routing to the agents?Does the script have any bearing on how the resource is selected or does it only send the caller to the CSQ and the skills are what  determines which agent is choosen?

I am trying to determine whether I should have ony 1 CSQ (for all 10 scripts) or have different CSQ's for each script.   Again they will have about 10 agents fielding all of these calls.

Any suggestions would be appreciated !!

Thank you.

VIP Super Bronze

Re: 1 CSQ and Skills based routing

Yes you can have multiple skills in a single CSQ; however, that will not work as you want it to here. Agents must be skilled in all skills assigned to a CSQ. Their competence of the CSQ is then summed (or weighted/ordered) from each of the skills.

In your scenario you need to create separate CSQs for the type of calls (e.g. HP, Cisco, Microsoft). Each CSQ would have one matching skill. You can assign agents to each of these skills. Assuming you are using Most Skilled as the selection criteria, then the agent with the highest competency for that CSQ will be offered the call first.

The only time the script can influence how an agent is chosen is if you increase the priority of a caller. When there are multiple callers waiting at the same priority, the one waiting the longest will always be offered to the contact first, even if they are less skilled in that skill/CSQ. You can override this behavior by increasing the priority of a caller (not a CSQ!). If you do that, the higher priority call will always be offered first. Use this with caution as you can starve lower priority callers from being answered if there is always a higher priority caller waiting.

Please remember to rate helpful responses and identify helpful or
New Member

Re: 1 CSQ and Skills based routing

Thank you for your response. I apoloigize for not paying attention and responding incorrectly.

If I were to use 1 CSQ and have all of my agents have all of the skills (ex. Cisco,HP,MS) with 3 call in numbers and 3 scripts all referencing 1 CSQ, how would the call know to route to the correct agent with the correct skill? Or is this even possible?

It looks like separate CSQ's is my only solution..the reason I am hesitant to do this is because there are very few agents in the organization and with separate CSQ's I can't control how the calls are distributed to the agents, right?

New Member

Re: 1 CSQ and Skills based routing

Hope I got this right.

So setup one Resource group and one team all agents in those.

One CSQ for each script  Cisco_CSQ MS_CSQ ... so on

Create a skill for each CSQ on

Make Agent one a Skill 10 for Cisco skill 5 for MS and skill 3 for HP

They will answer Cisco first MS second and HP 3rd

I have done this for three CSQ

VIP Super Bronze

Re: 1 CSQ and Skills based routing

No problem. I asked you to respond on here so that others may benefit from the responses if they find it in a search.

In your scenario the correct solution is in fact separate CSQs. In the majority of environments you will have a one-to-one relationship between a skill and CSQ. As I stated before, multiple skills assigned to a CSQ behave differently than most expect and are intended for specific use cases.

In your example you can create three skills and CSQs:

CISCO_SKL > CISCO_CSQ > Most Skilled

HP_SKL > CISCO_CSQ > Most Skilled


Place all of your agents in all three skills. Adjust the Competency Level for each agent in each skill such that the "more preferred" agents have a higher rating than the others.

Example: Jane, John, and Jeff are all in CISCO_SKL. You want Jane to be offered all Cisco calls first if she is available. John and Jeff are equally competent and can act as backups for Jane. You would set Jane to a level six, john to level five, and jeff to level five. The numbers are arbitrary as long as they are above the minimum you specified on the CSQ skill assignment.

What you cannot do here is specify that Jane should always take a Cisco call first even if an HP call has been waiting longer. Competency levels only apply when there are more resources (agents) available than there are contacts (callers). If you have multiple contacts waiting and there is only one resource that becomes available, the longest waiting contact will be offered to that resource.

The exception to this is if you increase the priority of contact (not a CSQ, a contact!) in the script. For example, if a caller specifies that they "have a network down emergency", you can increase their priority above other callers. This will cause that contact to be offered first, even if another contact at a lower priority has been waiting longer.

Please remember to rate helpful responses and identify helpful or
New Member

Re: 1 CSQ and Skills based routing

Thanks Jonathan for your always informative post.

I have a question. If we have a call flow such as

CSQ_Cisco-->Skills_Cisco-->Agent1 (10), Agent2 (7), Agent3 (5)

CSQ_HP...>Skills_HP---->Agent3 (10), Agent2 (6), Agent1 (4)

CSQ_MS--->Skills_MS--->Agent2 (10), Agent1 (8), Agent3 (6)

Now in script we take the input from the caller and based on CED we queue the call (1 for Cisco, 2 for HP and 3 for MS). Is it possible to ensure the following?

agent 1 alwasy gets the Cisco call first,

agent 2 always gets the HP calls first,

agent 3 always gets the MS calls first,

even if there are some calls available in other Queues.


VIP Super Bronze

Re: 1 CSQ and Skills based routing

Not really. If a contact at the same priority has been waiting longer in another queue, that other contact will be offered to the agent first. Remember that skill competency levels only apply when there are more resources (agents) available than there are contacts (callers). The RmCm subsystem uses the competency level assignments to determine which of the multiple available resources to choose.

You - I think - are asking the inverse: When I have multiple contacts waiting and a single agent becomes available. In that scenario, the contact waiting the longest across all CSQs that resource is skilled in will be offered first. The RmCm subsystem does not consider competency levels in that scenario, only whether the resource is skilled at all in that CSQ.

If I were the consulting engineer, I would ask questions such as this to stear the conversation.

You have two or more customers waiting. Are both the same priority to the company?

    • Yes: Why do you want to penalize one customer who has been waiting longer because the person who is capable of helping them isn't the ideal person?
      • If the employee is not capable of helping them, then they should not be skilled in the CSQ.
      • If they are capable of helping them, then help whomever has been waiting the longest. Likewise with the second call when another resource eventually becomes available. It may not be the other person's primary skill either; but, if they are in the CSQ, they should be able to help.
      • In the rare scenario that both calls were really that difficult that both "secondary" people couldn't handle it, let the agents swap the calls manually or call the customer back. If the group is only three or four people, this should be pretty easy by standing up and talking over the cubical wall; or, using IM.
      • Relax a little and let the ACD subsystem figure out how to find a live body. If you're busy, it isn't as important which live body it is, is it?
    • No: How can we identify this during IVR? (E.G. "If this is a network down emergency, press one.)
      • If we can identify a delta in priority of contacts - regardless of CSQ - during IVR, we can then increase their priority to ensure they are answered in a timely fashion.
Please remember to rate helpful responses and identify helpful or