Skip to main content
O Triglit envia webhooks para seus endpoints quando eventos importantes ocorrem durante a execução de workflows, como conclusão, falhas ou pausas. Os webhooks são entregues através do Svix, uma plataforma confiável de entrega de webhooks.

O que são Webhooks?

Webhooks são notificações HTTP enviadas pelo Triglit para seus endpoints quando eventos ocorrem. Isso permite que você reaja a eventos em tempo real sem precisar fazer polling constante.

Eventos Disponíveis

O Triglit envia os seguintes eventos de execução de workflows:
  • run.started: Execução (run) iniciada
  • run.completed: Execução concluída com sucesso
  • run.failed: Execução falhou
  • run.cancelled: Execução cancelada
  • run.paused: Execução pausada (aguardando retomada)
  • run.resumed: Execução retomada após pausa

Configuração

1. Configurar Webhook no Frontend

A configuração de webhooks é feita através do painel do Triglit (frontend), não via API. No painel, você pode:
  1. Acessar as configurações de webhooks
  2. Adicionar um endpoint para receber notificações
  3. Selecionar quais eventos deseja receber
  4. Ver o secret para validação
A configuração de webhooks é feita apenas pelo frontend do Triglit. Não há endpoints de API para cadastro de webhooks.

2. Implementar Endpoint

Como os webhooks são entregues via Svix, você precisa validar a assinatura usando o SDK do Svix ou validar manualmente:

Estrutura do Evento

Os eventos enviados pelo Triglit seguem esta estrutura:
O campo subTenantId é opcional e estará presente apenas quando a execução ocorrer em um ambiente de sub-tenant. Se não houver sub-tenant associado, este campo não será incluído no payload.

Estrutura por Tipo de Evento

run.started:
run.completed:
run.failed:
run.cancelled:
run.paused:
run.resumed:

Validação de Assinatura

O Svix envia webhooks com assinaturas nos headers:
  • svix-id: ID único do evento
  • svix-timestamp: Timestamp do evento
  • svix-signature: Assinatura HMAC SHA256
Sempre valide a assinatura do webhook usando o SDK do Svix ou validação manual. Nunca processe webhooks sem validar a assinatura.

Exemplo Completo

Retries e Confiabilidade

O Svix gerencia automaticamente retries e entrega confiável de webhooks:
  • Retries automáticos: O Svix retenta automaticamente em caso de falha
  • Entrega garantida: Webhooks são entregues de forma confiável
  • Timeout: Configurável no Svix
  • Dead Letter Queue: Webhooks que falham persistentemente são armazenados
Sempre retorne 200 OK rapidamente após validar a assinatura:

Boas Práticas

Sempre valide assinaturas usando o SDK do Svix. Nunca processe webhooks sem validação.
Torne handlers idempotentes para lidar com retries do Svix. Use o svix-id para detectar duplicatas.
Retorne 200 OK rapidamente após validar a assinatura e processe eventos de forma assíncrona.
Logue todos os eventos recebidos usando o svix-id para rastreabilidade.
Use sempre HTTPS para webhooks em produção. O Svix requer HTTPS para endpoints de produção.
Configure webhooks através do painel do Triglit. Não é necessário usar a API para isso.

SDKs do Svix

O Svix oferece SDKs oficiais para várias linguagens:
  • JavaScript/TypeScript: npm install svix
  • Python: pip install svix
  • Go: go get github.com/svix/svix-libs/go
  • Ruby: gem install svix
  • Java: mvn install svix
  • C#: dotnet add package Svix

Documentação do Svix

Veja a documentação completa do Svix para mais detalhes sobre validação e configuração
Use o Svix CLI ou dashboard para testar webhooks localmente durante desenvolvimento. O Svix também oferece ferramentas para debugging.