Wouldn't be brilliant but you could use Overflow, put the Secondary agents in a second group the "kicks in" after the overflow timer ? Then if Primary agents are free they get the call first, if not the seconadry agents get included after the Overflow timer? You can overflow up to 3 times to groups? It always looks back too, so if the overflow timer kicks i and it starts looking for free agents in secondary, and a primary agent becomes free it'll take it back to that primary agent?
Just a thought