Atribuição automática de chamados no GLPI com Smart Assign

Atribuir chamados manualmente vira gargalo no service desk. O módulo Smart Assign do NexTool distribui automaticamente por categoria ou grupo, com balanceamento de carga ou rodízio sequencial, e registra cada decisão em log auditável. Veja como funciona, como ativar e quando as regras de negócio nativas do GLPI ainda são a melhor escolha.

Atribuir cada chamado ao técnico certo parece trivial, mas em service desks reais essa decisão manual vira gargalo: alguém precisa ler a fila, entender a categoria e despachar - e enquanto isso o relógio do SLA já está correndo. O módulo Smart Assign do NexTool automatiza essa etapa com regras por categoria ou grupo, aplicando balanceamento de carga ou rodízio sequencial no exato instante em que o ticket nasce.

O problema

Em uma operação sem atribuição automática existe sempre um ponto único de decisão: alguém abre a fila de chamados recém-criados, lê categoria e assunto e decide para quem encaminhar. Esse papel costuma cair no coordenador ou no analista mais experiente - e é justamente o profissional que você menos quer preso em triagem repetitiva.

O efeito prático aparece de duas formas. Na primeira, a fila cresce nos horários de pico porque ninguém pegou o chamado ainda; ele existe, está aberto, mas continua sem responsável enquanto o prazo corre. Na segunda, a distribuição fica desigual: um técnico acumula quinze chamados e outro fica com três, não por competência, mas por quem estava olhando a tela na hora. Os dois cenários corroem SLA e a percepção de qualidade do usuário.

O Smart Assign remove esse intermediário. Assim que o chamado é criado, o módulo avalia as regras configuradas e define o responsável antes mesmo de a fila ser aberta por um humano. A triagem deixa de depender de quem está de plantão na tela.

Como o Smart Assign funciona

O módulo atua nos hooks de criação e atualização de chamados do GLPI. A configuração é feita por categoria ou por grupo, com dois modos de distribuição que podem coexistir na mesma operação:

  • Atribuição por categoria - define qual técnico ou grupo recebe os chamados de uma categoria específica. Ideal para equipes especializadas, onde cada área (infraestrutura, ERP, redes) tem responsável fixo.
  • Atribuição por grupo - distribui os chamados entre os membros de um grupo, usando um dos dois modos abaixo.
  • Modo balanceamento (menos chamados) - o chamado vai para o técnico do grupo com o menor número de chamados abertos no momento. Equaliza a carga real, não a teórica.
  • Modo rodízio (sequencial) - os chamados são distribuídos em ordem, um técnico após o outro, independentemente da carga. Útil quando todos têm capacidade equivalente e o volume não é o critério.
  • Adaptação automática - quando alguém entra ou sai do grupo, o rodízio e o balanceamento se ajustam sozinhos, sem reconfiguração manual.
  • Log dedicado - cada decisão é registrada em plugin_nextool_smartassign.log, o que dá rastreabilidade para auditoria de processo e para investigar reclamações de "por que esse chamado veio parar comigo".

Smart Assign x regras de negócio nativas

O GLPI já resolve parte disso com as Regras de negócio para chamados (Configuração > Regras). Elas conseguem atribuir por critérios como categoria, mas de forma estática: apontam sempre para o mesmo destino. A tabela abaixo mostra onde cada abordagem termina:

RecursoRegras de negócio nativasSmart Assign
Atribuir por categoria ou grupoSim (destino fixo)Sim
Balanceamento por carga (menos chamados abertos)NãoSim
Rodízio sequencial (round-robin)NãoSim
Adapta a entrada/saída de técnico no grupoManualAutomático
Registro dedicado da decisão de atribuiçãoHistórico genéricoArquivo próprio auditável

Como ativar

  1. Instale o plugin NexTool no GLPI.
  2. Acesse Configuração > NexTool > Módulos.
  3. Ative o módulo Smart Assign.
  4. Abra a configuração do módulo e cadastre as regras: escolha atribuição por categoria e/ou por grupo e, para cada grupo, o modo de distribuição (balanceamento ou rodízio).
  5. Abra um chamado de teste na categoria configurada e confirme o técnico atribuído no próprio ticket e na linha correspondente do log.

O que aprendemos operando isto

Na sustentação de operações de clientes, o padrão que mais quebra não é falta de regra - é a "regra que aponta para uma pessoa". O cliente cria uma regra de negócio nativa mandando toda a categoria "Rede" para o técnico X. Funciona por meses, até o técnico X tirar férias: os chamados continuam sendo atribuídos a ele, ficam parados, e o SLA estoura em silêncio porque a fila "tinha responsável". O erro comum é confundir ter dono com ter atendimento. Por isso, para grupos com mais de três técnicos, migramos essas regras estáticas para o modo balanceamento do Smart Assign: em vez de um nome fixo, o chamado cai em quem tem menos carga naquele minuto, e quem está de férias simplesmente não recebe. Um detalhe que só aparece na operação: o balanceamento conta chamados abertos, não fechados no dia, então um técnico que resolve rápido volta a receber logo - é assim que se equaliza a carga real, e não a teórica.

A mesma contagem que o módulo usa para decidir o destino pode ser reproduzida no banco para auditar a distribuição. Esta consulta lista os chamados abertos por técnico atribuído, exatamente o número que o modo balanceamento minimiza:

SELECT u.name AS tecnico, COUNT(t.id) AS chamados_abertos
FROM glpi_tickets t
JOIN glpi_tickets_users tu ON tu.tickets_id = t.id AND tu.type = 2
JOIN glpi_users u ON u.id = tu.users_id
WHERE t.status IN (1,2,3,4)   -- novo, em atendimento, planejado, pendente
  AND t.is_deleted = 0
GROUP BY u.id
ORDER BY chamados_abertos DESC;

E cada decisão fica registrada em texto claro no log do módulo, o que encurta muito a investigação de "por que esse chamado veio para mim":

[2026-03-12 09:41:22] smartassign: chamado #10482 categoria "Infra/Rede" -> grupo "N2 Redes" modo=balanceamento tecnico=marina.souza (abertos=3)
[2026-03-12 09:43:05] smartassign: chamado #10483 grupo "Suporte N1" modo=rodizio tecnico=paulo.lima (proximo da fila)

Para quem é indicado (e quando não usar)

O Smart Assign entrega valor claro em:

  • Equipes com três ou mais técnicos, onde a distribuição desigual é recorrente.
  • Service desks com picos de volume, em que o coordenador vira gargalo de triagem.
  • Ambientes com categorias bem definidas e times especializados por área.
  • Operações que precisam comprovar, em auditoria, como os chamados foram distribuídos.

Quando não vale a pena: em times de um ou dois técnicos o ganho é marginal - o rateio manual não custa nada. E quando a atribuição depende de contexto sensível (cliente VIP, especialista específico para um sistema crítico), esse roteamento fino continua melhor nas regras de negócio nativas; nesse caso, use o Smart Assign para o volume comum e reserve as regras nativas para as exceções, em vez de empilhar as duas decisões sobre o mesmo chamado.

Compatibilidade

  • GLPI: 10.x e 11.x
  • Plano: FREE
  • Plugin: NexTool 3.x+
  • PHP: 8.1+

Próximo passo

O Smart Assign faz parte do NexTool, plugin modular para GLPI. Conheça os demais módulos ou fale com a equipe para uma demonstração no seu ambiente.


Este conteúdo foi produzido com auxílio de inteligência artificial e revisado pela equipe Nextool Solutions.

Perguntas Frequentes

O módulo Smart Assign do NexTool atribui cada chamado no momento da criação, por categoria ou grupo, usando balanceamento de carga (menos chamados abertos) ou rodízio sequencial. A decisão acontece antes de a fila ser aberta por um humano.

As regras de negócio nativas atribuem de forma estática, sempre para o mesmo destino. O Smart Assign acrescenta balanceamento por carga real e rodízio sequencial, além de se adaptar sozinho à entrada e saída de técnicos no grupo e registrar cada decisão em log próprio.

Sim. O modo balanceamento conta os chamados abertos (status novo, em atendimento, planejado e pendente) de cada técnico e envia o novo chamado para quem tem menos. Um técnico que resolve rápido volta a receber logo, equalizando a carga real.

Sim. O Smart Assign oferece o modo rodízio, que distribui os chamados em ordem sequencial entre os membros do grupo, independentemente da carga. É útil quando todos têm capacidade equivalente.

Sim, o módulo é FREE. Faz parte do plugin NexTool 3.x ou superior e é compatível com GLPI 10.x e 11.x, exigindo PHP 8.1 ou mais recente.

Precisa de ajuda?