Integração com n8n
Última atualização: Agosto de 2026
O Klyk não tem — e não vai ter por enquanto — um node próprio dentro do n8n. Não é limitação: um node customizado pede homologação na loja de integrações do n8n, e os dois nodes genéricos que qualquer conta já tem (Webhook e HTTP Request) já bastam. O trabalho desta atualização foi outro: achar e fechar os pedaços que faltavam para esse caminho funcionar de ponta a ponta.
1Cadastra a URL do n8n como webhook do Klyk
Em Integrações, ou pelo próprio n8n via
POST /v1/webhooks— é assim que ele se inscreve sozinho quando alguém liga a automação.- Escolhe quais eventos interessam: clique, marco de cliques, link parado, ou todos.
- O node do n8n para receber é o Webhook genérico — não existe (nem precisa existir) um node do Klyk.
2O evento chega — e a assinatura vem junto
Cada entrega traz um
X-Klyk-Signature, HMAC do timestamp mais o corpo. O node Webhook do n8n não confere isso sozinho — um node Code antes de processar faz essa checagem com a função pronta na documentação.- Sem conferir, qualquer um que descubra a URL do webhook pode mandar um evento falso.
- A verificação é sobre o corpo CRU, antes de qualquer JSON.parse.
3O workflow chama a API de volta, se precisar
Quer os detalhes do link, ou criar um novo com UTM pronta? O node HTTP Request, com autenticação
Bearer, chama os mesmos endpoints desta documentação.- Nenhum SDK, nenhuma biblioteca própria — é a mesma API que qualquer integração usa.
4Pausar sem perder a integração
PATCH /v1/webhooks/:idcomactive: falsedesliga sem apagar — o segredo continua o mesmo quando reativar, então o node Code de verificação não precisa mudar nada.- Antes disso, pausar exigia apagar e recriar — e recriar troca o segredo, quebrando a verificação do outro lado.
O que já existia
Webhook de saída com assinatura HMAC, fila durável com reentrega automática, e uma API v1 com chave de escopo — tudo isso já estava no ar. A base não mudou nesta atualização.
O que faltava, e entrou agora
- Editar uma inscrição de webhook pela API —
PATCH /v1/webhooks/:id. Antes só dava para criar e apagar; pausar ou trocar os eventos exigia recriar, o que troca o segredo e quebra a verificação de quem já integrou. - Dois eventos novos de webhook:
link.milestone_reached(o link passou de um marco de cliques) elink.stopped(parou de receber clique). Os dois já existiam como e-mail e aviso no sino — agora também chegam como webhook, prontos para virar um alerta no Slack ou uma linha numa planilha via n8n. - Uma seção própria na documentação, com o aviso que mais gera dúvida: o node Webhook do n8n não confere a assinatura HMAC sozinho — precisa de um node Code a mais, com a função pronta na página.
Um bug fechado no caminho
A tela de webhooks sempre disse Planos Pro e Business, mas o disparo de verdade nunca conferia isso — uma conta Free podia cadastrar um webhook e ele funcionava normalmente. Corrigido: quem perde o plano perde o disparo, não a configuração salva — a mesma regra que já valia para a Página de Transição e o roteamento por regras.
A configuração nunca é apagada por downgrade
Por que Webhook, e não polling
A API pública tem um limite de 100 requisições por hora, por chave. Um workflow que fica perguntando mudou alguma coisa? a cada minuto esbarra nisso rápido. Um workflow que espera o Klyk avisar não tem esse problema — é para isso que o webhook existe.