Single Campaign Skills Based Dialling & Routing

Were moving agents off Genesys onto ViciDial (ViciBox 11) and I'm keen to replicate the Outbound Skills Based Routing functionality in Vici. I'm aware of the AGENT MULTI-CAMPAIGN DIALING option (thanks Matt), but the client does not want multiple campaigns & lists. I think that I can do it and am busy with the customization now, but I would really value your input if you have attempted this before and succeeded (or failed).
a) For Manual Preview campaigns, I'm planning on putting one or more agent skills into the agent Territory field and the lead skill (only one per lead supported) into the vicidial_list.owner field and then modifying the Owner Only (Territory) Dialling to match if the lead.owner matches any of the words in the user.territory. This should be quite straightforward. (With No Hopper Dialling of course.)
b) For Ratio (and possibly Hopper based Manual Dial Next) campaigns, here's my plan:
- Put skills in the same fields as a) above.
- We will Achieve Skills Based Routing by adding a Next Agent Call option "skills_longest_wait_time". This will call a stored proc to replace the "UPDATE vicidial_live_agents set status='QUEUE'..." part of agi-VDAD_ALL_outbound.agi. Here, I can chose an agent for the call based on my skills matching algorithm.
- We will Achieve Skills Based Dialling (to make sure that agents of all skills get calls) by 2 possible means:
Determine what calls are immediately required by looking at the skills mix of currently ringing calls and the skills mix of waiting agents. Then,
1) Change AST_VDauto_dial.pl to replace "UPDATE vicidial_hopper set status='QUEUE' ..." with a selection of leads in the hopper to match the immediately required skills. (I will add a skills column to vicidial_hopper.)
or 2) [possibly as an initial method] I could look at running a DB event that changes the hopper priority of the leads to make sure that the next leads dialled (by an un-modified AST_VDauto_dial) will be of the skills required for waiting agents.
- I will also look at whether we need to alter the hopper load logic to load the right mix of leads to match the skills required.
We will use this for campaigns where leads have multiple languages, but agents can only speak some, as well as other agent skill sets.
What do you think? Please let me have your ideas and feedback.
Thanks
Roger
a) For Manual Preview campaigns, I'm planning on putting one or more agent skills into the agent Territory field and the lead skill (only one per lead supported) into the vicidial_list.owner field and then modifying the Owner Only (Territory) Dialling to match if the lead.owner matches any of the words in the user.territory. This should be quite straightforward. (With No Hopper Dialling of course.)
b) For Ratio (and possibly Hopper based Manual Dial Next) campaigns, here's my plan:
- Put skills in the same fields as a) above.
- We will Achieve Skills Based Routing by adding a Next Agent Call option "skills_longest_wait_time". This will call a stored proc to replace the "UPDATE vicidial_live_agents set status='QUEUE'..." part of agi-VDAD_ALL_outbound.agi. Here, I can chose an agent for the call based on my skills matching algorithm.
- We will Achieve Skills Based Dialling (to make sure that agents of all skills get calls) by 2 possible means:
Determine what calls are immediately required by looking at the skills mix of currently ringing calls and the skills mix of waiting agents. Then,
1) Change AST_VDauto_dial.pl to replace "UPDATE vicidial_hopper set status='QUEUE' ..." with a selection of leads in the hopper to match the immediately required skills. (I will add a skills column to vicidial_hopper.)
or 2) [possibly as an initial method] I could look at running a DB event that changes the hopper priority of the leads to make sure that the next leads dialled (by an un-modified AST_VDauto_dial) will be of the skills required for waiting agents.
- I will also look at whether we need to alter the hopper load logic to load the right mix of leads to match the skills required.
We will use this for campaigns where leads have multiple languages, but agents can only speak some, as well as other agent skill sets.
What do you think? Please let me have your ideas and feedback.
Thanks
Roger