Resumo Diário GLPI - MVP
Workflow N8N inicial para gerar um resumo diário de chamados usando dados simulados.
Subir o N8N com Docker
- Copie
.env.examplepara.env. - Edite
.enve troqueN8N_BASIC_AUTH_PASSWORDeN8N_ENCRYPTION_KEY. - Suba o container:
docker compose up -d
- Acesse:
http://localhost:5678
- Para parar:
docker compose down
Arquivo
Resumo Diario GLPI - MVP.n8n.jsonResumo Diario GLPI - Real Slack.n8n.jsonResumo Diario GLPI - SQL Slack.n8n.jsonResumo Semanal GLPI - SQL Slack.n8n.jsonsql/indicadores_diario_glpi.sqlsql/indicadores_semana_glpi.sql
Workflow Recomendado
Use este workflow para o relatório automatico correto:
Resumo Diario GLPI - SQL Slack.n8n.json
Essa versão roda de segunda a sexta as 08:00 e escolhe o periodo automaticamente:
- terca-feira: envia o relatorio da segunda-feira
- quarta-feira: envia o relatorio da terca-feira
- quinta-feira: envia o relatorio da quarta-feira
- sexta-feira: envia o relatorio da quinta-feira
- segunda-feira: envia o relatorio da semana anterior inteira, de segunda a domingo
Essa versão usa a regra aprendida com a query semanal, aplicada ao periodo selecionado:
- chamados abertos no periodo:
glpi_tickets.dateentredata_inicioedata_fim - chamados fechados no periodo:
glpi_tickets.closedateentredata_inicioedata_fim - chamados fechados no periodo podem ter sido abertos em qualquer data anterior
- filtro
is_deleted = false - filtro de categorias pelas árvores
7,16,17e18usandoancestors_cache
Como configurar o SQL automatico
- Importe
Resumo Diario GLPI - SQL Slack.n8n.json. - Configure a credencial MySQL no node
MySQL - Indicadores diario GLPI. - Configure a credencial de IA/OpenAI no node
Z IA Chat Model. - Abra
Config - Diario SQLe preencha:
data_alvo: deixe vazio para o modo automatico ou use2026-07-03para teste manual de um dia especificoslack_webhook_urlopenai_model, padrãogpt-5.5
- Execute pelo
Manual Triggerpara testar. - Ative o workflow para usar o
Schedule Trigger - Dias uteis 08h.
Se o agente de IA falhar, o workflow envia o resumo fallback sem IA com os números SQL.
Agente de IA
O workflow usa os nodes nativos de IA do N8N:
AI Agent - Coordenador GLPI: melhora o texto do relatorio antes do SlackZ IA Chat Model: chat model conectado ao agente pela entradaChat Model
O agente recebe o resumo tecnico gerado pelo SQL e deve apenas melhorar a comunicacao. Ele foi instruido a nao inventar numeros.
Workflow SQL Recomendado
Para bater exatamente com os indicadores do GLPI, use:
Resumo Semanal GLPI - SQL Slack.n8n.json
Essa versão consulta diretamente o banco MySQL/MariaDB do GLPI e executa a mesma lógica da query de referência:
- abertos pela coluna
glpi_tickets.date - fechados pela coluna
glpi_tickets.closedate - filtro
is_deleted = false - filtro de categorias pelas árvores
7,16,17e18usandoancestors_cache
Isso é diferente da API REST, que pode não trazer todos os chamados necessários para reproduzir o indicador semanal, principalmente porque chamados fechados na semana podem ter sido abertos em semanas anteriores.
Como configurar
- Importe
Resumo Semanal GLPI - SQL Slack.n8n.json. - Configure a credencial MySQL no node
MySQL - Indicadores semana GLPI. - Abra
Config - Slack e OpenAIe preencha:
slack_webhook_urlopenai_api_keyopenai_model, padrãogpt-5.5
- Execute pelo
Manual Trigger.
Se a OpenAI falhar, o workflow envia um resumo fallback sem IA com os números da query.
Como usar
- No N8N, vá em
Workflows. - Clique em
Import from File. - Selecione
Resumo Diario GLPI - MVP.n8n.json. - Abra o node
OpenAI - Gerar resumo. - Selecione sua credencial da OpenAI.
- Execute o workflow pelo
Manual Trigger.
Fluxo
Manual Trigger
↓
Set - Dados simulados
↓
Code - Calcular indicadores
↓
OpenAI - Gerar resumo
Próxima etapa
Depois que o MVP estiver gerando o texto corretamente, substitua o node Set - Dados simulados pelos nodes HTTP Request do GLPI.
Workflow Real com GLPI e Slack
Importe o arquivo:
Resumo Diario GLPI - Real Slack.n8n.json
Depois da importação, abra o node Config - GLPI e Slack e preencha:
glpi_url: URL base do GLPI, exemplohttps://glpi.suaempresa.com.brglpi_app_token: App Token do GLPIglpi_user_token: User Token do usuário de integraçãoslack_webhook_url: URL do Incoming Webhook do Slackrange_tickets: quantidade buscada na API, exemplo0-999page_size: tamanho de cada pagina buscada no GLPI, padrao1000page_count: quantidade de paginas por ordenacao, padrao2data_alvo: data do relatório. Deixe vazio para usar o dia atual, ou informe uma data como2026-07-03ou03/07/26openai_api_key: chave da OpenAI usada pelo nodeOpenAI - Gerar resumoopenai_model: modelo usado na OpenAI, padrãogpt-5.5
O node OpenAI - Gerar resumo usa HTTP Request direto para https://api.openai.com/v1/chat/completions.
O workflow busca tickets em paginas e combina duas ordenacoes:
id DESC, para capturar chamados abertos recentementedate_mod DESC, para capturar chamados antigos que foram modificados, solucionados ou fechados recentemente
Depois ele remove duplicados por id e filtra no N8N pela data_alvo. O cálculo separa:
- chamados abertos na data, usando
date_creation,dateoudata_abertura - chamados fechados na data, usando
solvedate,closedateoudata_fechamento - pendentes, usando o status atual do ticket filtrado
Na base atual, o GLPI informou 1216 tickets. Por isso o padrão recomendado é page_size=1000 e page_count=2, cobrindo 0-1999 por ordenação sem estourar o total. Se aumentar page_count, o GLPI pode retornar ERROR_RANGE_EXCEED_TOTAL para páginas acima do total existente.
Execute pelo Manual Trigger primeiro. Depois que validar, troque por Schedule Trigger.
Para gerar o relatório da sexta-feira 03/07/2026, use no campo data_alvo:
2026-07-03
Criar Webhook no Slack
- Acesse
https://api.slack.com/apps. - Crie ou abra um app do Slack.
- Ative
Incoming Webhooks. - Crie um webhook para o canal desejado.
- Copie a URL para o campo
slack_webhook_url.
Fluxo Real
Manual Trigger
↓
Config - GLPI e Slack
↓
HTTP - GLPI initSession
↓
HTTP - GLPI buscar tickets
↓
Code - Filtrar chamados de hoje
↓
Code - Calcular indicadores
↓
OpenAI - Gerar resumo
↓
HTTP - Slack enviar mensagem
↓
HTTP - GLPI killSession
Observação
Os campos retornados pelo GLPI podem variar conforme versão e configuração. Se o node Code - Filtrar chamados de hoje retornar categoria ou cliente como ID em vez de nome, ajuste o mapeamento depois de ver o retorno real da API.
Erro Slack 400 - no_text
Se o node HTTP - Slack enviar mensagem retornar 400 - no_text, o corpo da requisição foi enviado sem o campo text.
No node HTTP - Slack enviar mensagem, configure:
Method:POSTSend Body: ativoBody Content Type:JSONSpecify Body:Using JSONJSON Body:
{
"text": "{{ $json.text }}"
}
Erro OpenAI too many requests
Se o node OpenAI - Gerar resumo retornar The service is receiving too many requests from you, a OpenAI respondeu com limite de uso/rate limit.
Verifique:
- Se a chave
openai_api_keyestá correta - Se a conta OpenAI tem crédito/billing ativo
- Se houve muitas execuções seguidas em pouco tempo
- Se o modelo
gpt-4o-miniestá disponível para a chave usada
O workflow importável já está configurado com retry:
- 3 tentativas
- 30 segundos entre tentativas
- limite de resposta de 700 tokens
Se a OpenAI continuar falhando, o workflow continua a execução e envia ao Slack um resumo técnico gerado pelo node Code - Preparar mensagem Slack, sem IA.