Blog N8N
N8N

Tutorial: Como criar um sistema de Retry Automático com Notificação no n8n

Aprenda a construir um circuito de resiliência no n8n. Este tutorial passo a passo mostra como configurar uma lógica inteligente de reatentativas (retry) para requisições HTTP que falham, com alerta automático caso o erro persista.

✍️ Ita Digital 📅 18 de May de 2026 ⏱️ 7 min de leitura 👁️ 5 visualizações
Tutorial: Como criar um sistema de Retry Automático com Notificação no n8n

O Conceito: Circuit Breaker e Resiliência

Muitas vezes, uma API falha por apenas alguns segundos devido a uma instabilidade momentânea no servidor deles. Se o seu fluxo no n8n tenta enviar o dado exatamente nesse segundo, a automação falha.

A estratégia inteligente é criar um loop que:

  1. Tenta executar a chamada de API.
  2. Se falhar, aguarda alguns segundos e tenta novamente (até 3 vezes).
  3. Se mesmo assim falhar, desvia o caminho e envia um alerta (via WhatsApp, Slack ou E-mail) para a equipe técnica da Itadigital agir.

O Passo a Passo no Editor

Passo 1: Configurar a Tolerância a Erros no Nó HTTP

Por padrão, quando o nó HTTP Request dá erro, ele interrompe o workflow. Para mudar isso, clique na aba Settings (Configurações) do nó HTTP que você deseja monitorar e ative a opção On Error para Continue (Outputs Error Info). Isso fará com que o fluxo continue mesmo se a API falhar, enviando os detalhes do erro para o próximo nó.

Passo 2: O Nó de Decisão (Switch/If)

Logo após o nó HTTP, colocamos um nó If ou Switch para checar o código de status da resposta. Se o status for 200 (Sucesso), o fluxo segue o caminho normal. Se for diferente (como 500 ou 404), o fluxo é direcionado para a rota de erro.

Passo 3: O Contador de Tentativas

Para não criar um loop infinito, usamos um nó de Code (JavaScript) ou um gerenciador de contexto que verifica quantas vezes aquele item já passou por ali. Se o número for menor que 3, ele passa pelo nó Wait (espera 10 segundos) e volta para o nó HTTP. Se atingir 3 tentativas, ele quebra o loop e dispara o alerta.

🎁 Bônus: JSON do Workflow Pronto para Importar

Para facilitar sua vida, estruturei todo esse circuito de resiliência em um template pronto. Basta copiar o código abaixo, abrir o seu n8n, usar o atalho Ctrl+V (ou clicar em Import from JSON) e conectar as suas URLs de teste.

JSON

{
  "nodes": [
    {
      "parameters": {
        "options": {}
      },
      "type": "n8n-nodes-base.manualTrigger",
      "typeVersion": 1,
      "position": [0, 0],
      "id": "manual-trigger",
      "name": "Iniciar Teste"
    },
    {
      "parameters": {
        "url": "https://api.exemplo.com/endpoint-instavel",
        "options": {
          "redirect": {
            "redirect": {}
          }
        },
        "onError": "continueRegularOutput"
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [220, 0],
      "id": "http-request-api",
      "name": "Chamada de API Crítica"
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "type": "mix"
          },
          "conditions": [
            {
              "id": "check-success",
              "leftValue": "={{ $json.error }}",
              "rightValue": "",
              "operator": "isEmpty"
            }
          ],
          "combinator": "and"
        },
        "options": {}
      },
      "type": "n8n-nodes-base.if",
      "typeVersion": 2.2,
      "position": [480, 0],
      "id": "check-status",
      "name": "Deu Erro?"
    },
    {
      "parameters": {
        "jsCode": "// Incrementa o número de tentativas ou inicia em 1 se não existir\nconst count = ($node[\"Contador de Tentativas\"]?.json?.tentativas || 0) + 1;\nreturn { tentativas: count };"
      },
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [450, 240],
      "id": "counter-node",
      "name": "Contador de Tentativas"
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "type": "mix"
          },
          "conditions": [
            {
              "id": "check-max-retry",
              "leftValue": "={{ $json.tentativas }}",
              "rightValue": "3",
              "operator": "lt"
            }
          ],
          "combinator": "and"
        },
        "options": {}
      },
      "type": "n8n-nodes-base.if",
      "typeVersion": 2.2,
      "position": [680, 240],
      "id": "check-limit",
      "name": "Menor que 3 Tentativas?"
    },
    {
      "parameters": {
        "amount": 10
      },
      "type": "n8n-nodes-base.wait",
      "typeVersion": 1.1,
      "position": [900, 160],
      "id": "wait-node",
      "name": "Aguardar 10s"
    },
    {
      "parameters": {
        "notice": "Substitua este nó pelo seu sistema de alertas (WhatsApp, Slack, E-mail, etc.)"
      },
      "type": "n8n-nodes-base.noOp",
      "typeVersion": 1,
      "position": [900, 320],
      "id": "alert-node",
      "name": "Disparar Alerta de Falha"
    },
    {
      "parameters": {},
      "type": "n8n-nodes-base.noOp",
      "typeVersion": 1,
      "position": [720, -100],
      "id": "success-node",
      "name": "Sucesso Operacional"
    }
  ],
  "connections": {
    "manual-trigger": {
      "main": [
        [
          {
            "node": "http-request-api",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "http-request-api": {
      "main": [
        [
          {
            "node": "check-status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "check-status": {
      "main": [
        [
          {
            "node": "success-node",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "counter-node",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "counter-node": {
      "main": [
        [
          {
            "node": "check-limit",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "check-limit": {
      "main": [
        [
          {
            "node": "wait-node",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "alert-node",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "wait-node": {
      "main": [
        [
          {
            "node": "http-request-api",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Por que aplicar isso na sua estrutura?

Criar automações tolerantes a falhas blinda a saúde da sua operação. Em vez de receber reclamações de clientes porque um e-mail não chegou ou um pagamento não foi registrado, o próprio n8n gerencia a crise nos bastidores. Se a instabilidade persistir após os 10 segundos de intervalo entre as 3 tentativas, você é avisado com o log exato do erro pronto para ser corrigido.

Isso reduz o tempo de resposta do suporte técnico e garante que o fluxo principal da sua empresa continue rodando como um relógio.

Assine nossa Newsletter

Fique por dentro das novidades e atualizações

Compartilhar: WhatsApp LinkedIn
Mais artigos sobre N8N