Sistema de Balanceamento de Carga
Entenda como o Dialogy distribui automaticamente os atendimentos entre sua equipe para garantir eficiência e justiça na distribuição de trabalho.
Algoritmo "Least Recently Assigned" (LRA)
O Dialogy utiliza uma variação do algoritmo Least Recently Assigned. Isso significa que, ao transferir um chat para uma equipe, o sistema busca o agente que está há mais tempo sem receber um novo atendimento.
Como funciona a decisão?
Quando um atendimento é transferido para uma equipe (ex: "Suporte Nível 1"), o sistema executa a seguinte lógica de seleção em tempo real:
1. Filtro de Disponibilidade
O sistema identifica todos os membros da equipe de destino que estão atualmente ONLINE na plataforma.
2. Exclusão do Remetente
Se quem está transferindo também faz parte da equipe de destino, ele é excluído da seleção para evitar que o chat volte para ele mesmo.
3. Análise Temporal
Para cada agente disponível, o sistema verifica o timestamp da última vez que um chat foi atribuído a ele (assigned_at).
4. Ordenação e Seleção
Os agentes são ordenados de forma que quem recebeu um chat há mais tempo (ou nunca recebeu) fica no topo da lista. Em caso de empate exato, um sorteio randômico é feito.
Benefícios
- Evita sobrecarga de agentes específicos.
- Garante que novos agentes comecem a receber atendimentos imediatamente (pois seu "último atendimento" é nulo/antigo).
- Elimina a necessidade de um supervisor distribuir manualmente os tickets.
- Funciona em tempo real, adaptando-se instantaneamente a quem entra ou sai do turno (online/offline).
Nota Técnica
A verificação de presença é feita consultando a tabela user_workspace_presence, que é atualizada via WebSockets e Beacons. Isso garante que apenas agentes com a aba aberta e conexão ativa recebam novos chats.