Webhooks
Receber no n8n
Dispare workflows do n8n quando um roteiro mudar, com verificação de assinatura e deduplicação.
O LiveTP oferece um template de workflow pronto para importar. Ele verifica a assinatura, responde ao teste, persiste o evento sem duplicar e só então confirma o recebimento. Funciona com Raw Body e credenciais Header Auth, sem depender de módulos de criptografia no Code node.
Configuração
Crie a credencial do receptor
Gere um token aleatório exclusivo para este receptor e crie no n8n uma credencial Header Auth:
| Campo | Valor |
|---|---|
| Name | Authorization |
| Value | Bearer SEU_TOKEN |
Não use uma chave de API ou MCP do LiveTP como token do receptor.
Importe o template
Importe o template e selecione a credencial nos nós Webhook e Verificar assinatura LiveTP. O segredo fica nas credenciais e não aparece no JSON do workflow.
Em Settings do workflow, confirme Do not save para execuções com sucesso, com falha, manuais e progresso dos nós. O nó Webhook inclui o cabeçalho Authorization na saída; por isso, salvar os dados da execução também salva o token. O template desativa essa retenção, mas uma importação ou duplicação pode herdar os padrões da instância. A Data Table e o histórico do LiveTP continuam registrando os eventos.
Na credencial Header Auth, restrinja Allowed HTTP Request Domains ao domínio LiveTP usado pelo verificador, como staging.livetp.app em staging.
Crie a tabela de eventos
Crie uma Data Table com as colunas event_id, environment, event_type e script_id (texto) e revision (número). Selecione-a no nó Persistir evento sem duplicar.
Cadastre o destino no LiveTP
Publique o workflow e copie a Production URL do nó Webhook. Em Integrações → Webhooks, cadastre essa URL e preencha Token Bearer do destino com o mesmo token do passo 1.
Configure a verificação
No destino cadastrado, clique em Copiar URL de verificação e cole no nó HTTP Request do template. Esse nó chama o endpoint Verificar entrega.
Teste e ative
Clique em Enviar teste. Depois da confirmação, clique em Ativar.
Test URL e Production URL
A Test URL do n8n só funciona enquanto o listener está aberto no editor. Cadastre no LiveTP a Production URL do workflow publicado. Uma Production URL pode receber eventos do LiveTP staging; os ambientes dos dois produtos são independentes.
Exemplo: quando virar Pronto
- Assine
script.status_changedcom o filtro de status Pronto. - O template valida e persiste o evento e responde ao LiveTP.
- Um nó HTTP Request busca o roteiro com uma chave de API de leitura:
GET https://livetp.app/api/v1/scripts/{{ $json.data.script.id }}. - Confira se
statusainda éreadye se arevisioné igual ou maior que a do evento. - Execute a automação, por exemplo criar uma tarefa de gravação.
Para editar o roteiro de volta, use outra credencial com escrita e envie expectedRevision. Filtre eventos e registre IDs para evitar ciclos: uma edição feita pelo fluxo também gera eventos.
Idempotência
A Data Table impede duplicatas sequenciais, mas não garante uma transação entre serviços. Para efeitos externos, use event.id como chave de idempotência no serviço que executa a ação.