Navegar na documentação

Integração com n8n

O pacote n8n-nodes-flowbix traz dois nós para o n8n: o Sentrya Trigger, que dispara um fluxo quando surge um incidente novo, e o Sentrya, que lista, reconhece, dispensa e envia alertas. Os dois usam um service account, sem credencial de usuário.

Instalação

No seu n8n, abra Settings → Community Nodes e instale o pacote n8n-nodes-flowbix. Os nós aparecem na busca como Sentrya e Sentrya Trigger.

Credencial "Flowbix API"

Os dois nós usam a credencial Flowbix API, com dois campos:

CampoValor
Base URLhttps://app.flowbix.com (já vem preenchido).
Service Account TokenO token svc_… criado em app.flowbix.com/admin → Integrações (ver Service accounts).

O botão de testar a credencial faz GET /api/v1/svc/incidents/summary: 200 significa token válido; 401, token inválido ou desativado; 403, empresa indisponível. A empresa vem do token: nenhum nó pede org_id.

Um token só para o n8n. O campo Último uso da aba Integrações passa a mostrar se os fluxos estão rodando, e você pode desativar o n8n sem afetar outras integrações.

Nó Sentrya Trigger

Dispara o fluxo quando entra um incidente novo. É um gatilho de polling: no intervalo que você configurar no n8n, ele chama GET /api/v1/svc/incidents com sort=newest&limit=100 e emite só os incidentes cujo id é maior que o último já entregue. Esse marco fica salvo no próprio fluxo, então reiniciar o n8n não reprocessa nada.

ParâmetroOpçõesPadrão
StatusSomente Ativos · Ativos E ResolvidosSomente Ativos
Severidade MínimaTodas · Info (1) · Warning (2) · Average (3) · High (4) · Disaster (5)Todas

Cada item emitido é um incidente no formato da API (id, title, host, severity, severity_label, origin_name… ver Consultar incidentes pela API), em ordem crescente de id.

Duas regras do gatilho. (1) A primeira execução só semeia o marco e não dispara nada, para não inundar o fluxo com o histórico. (2) O marco avança pelo maior id visto, filtrado ou não: um incidente abaixo da Severidade Mínima é descartado de vez, não fica pendente.
Não é um receptor de webhook. O Sentrya não envia chamadas ao n8n; é o nó que consulta a API. Se um pico gerar mais de 100 incidentes novos entre dois polls, os excedentes não são entregues. Para volumes assim, encurte o intervalo.

Nó Sentrya

Nó de ação com dois recursos. Todo erro da API chega ao n8n com a mensagem original do servidor (ver Autenticação, erros e limites).

Recurso Incidente

OperaçãoRota usadaCampos
ListarGET /svc/incidentsRetornar Todos (pagina de 100 em 100 até o fim) ou Limite (1–100, padrão 50). Filtros: Fonte, Host (Contém), ID Do Servidor Zabbix, ID Do Webhook (Environment), Incluir Resolvidos Recentes (Segundos), Ordenação, Severidades, Status.
ResumoGET /svc/incidents/summaryFiltros: Fonte, ID Do Servidor Zabbix, ID Do Webhook (Environment).
Atividade (24h)GET /svc/incidents/activityMesmos filtros do Resumo.
Reconhecer (ACK)POST /svc/incidents/ackIDs Dos Incidentes (CSV ou array por expressão, até 500). Opções De ACK: Reconhecer (ligado por padrão), Mensagem, Fechar, Mudar Severidade, Nova Severidade.
Reconhecer Por EventoPOST /svc/incidents/ack-externalExternal ID, ID Do Servidor Zabbix, Mensagem.
DispensarPOST /svc/incidents-dismissIDs Dos Incidentes de webhook (até 500). Ids de Zabbix ou já resolvidos são ignorados.

O nó valida antes de chamar a API: ACK sem operação marcada e id não numérico são recusados com mensagem própria no n8n. Detalhes em Reconhecer e dispensar pela API.

Recurso Webhook

OperaçãoO que faz
ListarGET /svc/webhooks: devolve as fontes de dados da empresa com id, nome e token de ingestão.
Enviar AlertaAbre um problema ou sinaliza resolução em uma fonte. O dropdown Webhook Name or ID é carregado pelo service account, e o nó usa o ingest_token da fonte escolhida para fazer POST /api/v1/alerts. Você não copia o whk_.

Campos de Enviar Alerta:

CampoRegra
Tipo Do EventoProblema ou Resolvido.
TítuloObrigatório para Problema; até 512 caracteres. É o nome do incidente no card.
Key (Identidade Do Problema)Opcional para Problema, obrigatória para Resolvido. A mesma key agrupa ocorrências, conta recorrência e permite abrir → resolver → reabrir. Sem key, cada disparo é um alerta solto. Até 255 caracteres.
Campos AdicionaisHost (até 255), Severidade (0–5, padrão Warning), Mensagem (até 20000), Comentário (até 2048; ignorado em resolução).

O contrato completo do payload está em Referência do payload; o papel da key, em Ciclo de vida do alerta e a key.

Receita 1: abrir um incidente a partir de qualquer evento

Qualquer evento que o n8n observe (job que falhou, resposta HTTP inesperada, e-mail) pode virar incidente no Sentrya e tocar no celular do plantão.

  1. Crie a fonte em Fontes de Dados, por exemplo "Automações n8n" (ver Criar uma fonte de dados).
  2. Comece pelo gatilho do evento que você já usa no n8n (agendamento, HTTP, e-mail).
  3. Adicione o nó Sentrya com Recurso Webhook, Operação Enviar Alerta, escolha a fonte no dropdown, Tipo Do Evento Problema. Preencha Título, Host e Severidade com expressões do item anterior e dê uma Key estável, como backup-{{ $json.servidor }}.
  4. Feche o ciclo com um segundo nó Sentrya, Tipo Do Evento Resolvido e a mesma Key, no ramo em que o evento volta ao normal. Sem esse passo o alerta fica preso até alguém descartar.
  5. Crie um ouvinte para essa fonte (ver Criar um ouvinte de webhook) para o alerta chegar como notificação.

Receita 2: avisar no Slack ou Telegram quando surgir um Desastre

  1. Sentrya Trigger com Status Somente Ativos e Severidade Mínima Disaster (5). Defina o intervalo de polling no próprio nó (30 a 60 segundos é um bom começo).
  2. Nó do Slack ou do Telegram configurado com a credencial e o canal ou chat de destino da sua equipe.
  3. Monte o texto com expressões do incidente, por exemplo {{ $json.severity_label }} em {{ $json.host }}: {{ $json.title }} ({{ $json.origin_name }}). O campo id permite reconhecer o incidente depois por outro fluxo.
  4. Ative o fluxo e lembre que o primeiro poll só semeia o marco. O aviso começa no incidente seguinte.
Complementa o app, não o substitui. O plantão continua sendo notificado pelo Modo Ouvinte; o fluxo dá visibilidade a quem acompanha pelo chat da equipe.

Receita 3: auto-ACK de incidentes de um host de teste

  1. Sentrya Trigger com Status Somente Ativos e Severidade Mínima Todas.
  2. Nó de condição que deixa passar só os itens cujo {{ $json.host }} é o host de teste (ou começa com o prefixo do laboratório).
  3. Nó Sentrya com Recurso Incidente, Operação Reconhecer (ACK), IDs Dos Incidentes {{ $json.id }}, Reconhecer ligado e Mensagem "ACK automático: host de teste".

Se o host for do Zabbix, o reconhecimento vai ao servidor com a credencial da empresa e aparece no Histórico de ACKs sem autor pessoal; a Mensagem é o que identifica a automação. Não marque Fechar se o gatilho também puder trazer incidentes de webhook: o lote seria recusado. Para esses, use a operação Dispensar.

Veja também