FT008· v1.1.0Integrações
Como configurar webhooks de saída
Receber notificações em sistemas externos quando mensagens chegam/falham.
Atualizado em 26/09/2026
Permite Slack, Monday, sistema interno seu, etc., receberem eventos do Lefia em tempo real.
No detalhe da empresa (
- URL (HTTPS obrigatório)
- Eventos (toggle):
No momento da criação, o secret é mostrado uma única vez — copie e guarde. É usado pra você verificar autenticidade dos webhooks via header
Lista mostra: deliveries, falhas, taxa de erro, última entrega, último erro inline.
Na conexão de destino com protocolo Webhook (assistente, criação manual ou Editar), o campo Assinar o corpo define se o Lefia assina o que entrega. O padrão é Não assinar.
O Segredo da assinatura pode ser colado (o que o receptor forneceu) ou gerado com Gerar (
O Testar conexão manda um ping sem assinatura, de propósito (assinado, o receptor o aceitaria como documento). Com a assinatura ligada, uma resposta 401/403 do receptor conta como alcançável. Os Headers customizados da conexão são enviados em todo POST, mas não substituem os cabeçalhos da assinatura.
Configurar
No detalhe da empresa (
/admin/empresa/[id]), seção Webhooks:- + Novo webhook
- Preenche:
- URL (HTTPS obrigatório)
- Eventos (toggle):
message.received, message.sent, message.error, integration.test_success, integration.test_failure
- Clica Criar
Secret
No momento da criação, o secret é mostrado uma única vez — copie e guarde. É usado pra você verificar autenticidade dos webhooks via header
X-Lefia-Signature: sha256=<hmac> (o header legado X-Nexio-Signature segue sendo enviado em paralelo, com o mesmo valor, para integrações que ainda o verificam).Verificação HMAC (Node.js exemplo)
import { createHmac, timingSafeEqual } from "node:crypto";
function verify(secret, body, signatureHeader) {
const expected = createHmac("sha256", secret).update(body).digest("hex");
const got = signatureHeader.replace(/^sha256=/, "");
return timingSafeEqual(Buffer.from(expected), Buffer.from(got));
}
Painel
Lista mostra: deliveries, falhas, taxa de erro, última entrega, último erro inline.
Destino webhook: assinar o corpo (HMAC)
Na conexão de destino com protocolo Webhook (assistente, criação manual ou Editar), o campo Assinar o corpo define se o Lefia assina o que entrega. O padrão é Não assinar.
- Lefia v2 (recomendado): envia
X-Lefia-Timestamp(segundos Unix) eX-Lefia-Signature-V2=sha256=+ HMAC-SHA256 do textocarimbo.corpocom o segredo. O receptor deve recusar carimbo com mais de 5 minutos (proteção contra reenvio). É o que o webhook de entrada do próprio Lefia exige. - Legado: envia
X-Hub-Signature-256eX-Webhook-Signature=sha256=+ HMAC-SHA256 do corpo. Sem carimbo, pode ser reenviado: use só quando o parceiro pedir.
O Segredo da assinatura pode ser colado (o que o receptor forneceu) ou gerado com Gerar (
whsec_…, 32 bytes aleatórios). Copie antes de salvar: depois o segredo fica oculto e só pode ser substituído. Assinatura ligada sem segredo = o envio não sai (erro na mensagem).O Testar conexão manda um ping sem assinatura, de propósito (assinado, o receptor o aceitaria como documento). Com a assinatura ligada, uma resposta 401/403 do receptor conta como alcançável. Os Headers customizados da conexão são enviados em todo POST, mas não substituem os cabeçalhos da assinatura.
Histórico de versões
- v1.1.0
Webhooks UI traduzido (PT-BR/EN/ES) — todos os labels, placeholders, toasts, confirms.
27/04/2026 · updated
- v1.0.0
Release inicial documentada na Central de Ajuda.
26/04/2026 · new