Você vai modificar esse script que você tem de checar se existe algum atendente ativo para filtrar a partir do time, pra isso adicione a variavel que guarda qual time o usuário deve ir como variável de entrada do script, em seguida modificar onde valida o status
como online para checar se teams
possui o time que o usuário está destinado a ir.
Você pode usar esse script aqui para fazer isso:
const run = (result, team) => {
result = JSON.parse(result);
return result.resource &&
result.resource.total > 0 &&
result.resource.items.some(
(attendant) =>
attendant.teams.includes(team) &&
attendant.status === 'Online'
);
}
Assumindo que a variavel extra do contato de nome team
armazena qual fila o usuário deve ir, sua ação vai ficar parecida com isso aqui:
Com isso vc vai validar se existe um atendente na fila desejada, agora para transbordar para a fila geral caso não haja nenhum atendente disponivel você pode salvar o valor do team
em uma outra variavel e remover ele dos extras (assim ele vai transbordar para a fila Geral) e depois que sair do atendimento basta colocar de volta o valor que dá proxima vez que esse usuário transbordar a mesma validação será feita.
Ah, para remover uma variavel dos extras basta setar um novo valor pra ela, basta esse valor não bater com nenhuma das regras de atendimento definidas que o usuário vai cair na fila principal.