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:

CampoValor
NameAuthorization
ValueBearer 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

  1. Assine script.status_changed com o filtro de status Pronto.
  2. O template valida e persiste o evento e responde ao LiveTP.
  3. 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 }}.
  4. Confira se status ainda é ready e se a revision é igual ou maior que a do evento.
  5. 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.