Los webhooks salientes permiten a tus sistemas reaccionar a eventos en Flowella casi en tiempo real, sin hacer polling a la API. Configuras una URL y una lista de tipos de evento, y Flowella envía un POST con un payload JSON firmado a esa URL cada vez que ocurre uno de esos eventos.Documentation Index
Fetch the complete documentation index at: https://knowledge.flowella.io/llms.txt
Use this file to discover all available pages before exploring further.
Configurar un webhook
Necesitas el rol Owner o Admin.Añade un webhook
Haz clic en Add webhook, pega la URL HTTPS pública de tu endpoint y elige los tipos de evento que quieres recibir.
Guarda el secreto de firma
Flowella genera un secreto de firma único para el webhook. Cópialo: lo usarás para verificar las solicitudes entrantes.
Tipos de evento
Puedes suscribirte a cualquiera de estos eventos del producto:| Evento | Cuándo se dispara |
|---|---|
message.received | Ha llegado un mensaje entrante de WhatsApp desde un contacto |
message.sent | Flowella ha aceptado tu mensaje saliente y lo ha enviado a Meta |
message.delivered | Meta confirmó que el mensaje se entregó al dispositivo del destinatario |
message.read | El destinatario abrió el mensaje |
message.failed | Meta devolvió un fallo para el mensaje |
conversation.opened | Una conversación ha pasado al estado abierta |
conversation.closed | Una conversación se ha cerrado |
optout.created | Un contacto se ha dado de baja en un canal específico |
template.status_updated | Meta ha cambiado el estado de una plantilla (approved, rejected, paused, disabled) |
webhook.test se envía solo cuando haces clic en Send test: no te suscribes a él de forma explícita.
Formato de la solicitud
Flowella envía un POST con un cuerpo JSON a tu URL con estas cabeceras:Verificar firmas
Cada solicitud incluye una cabeceraX-Flowella-Signature. El valor es el resumen hexadecimal HMAC-SHA256 del cuerpo bruto de la solicitud en UTF-8 firmado con el secreto de tu webhook.
Verifica antes de procesar:
Respuestas, reintentos y timeouts
- Timeout: Flowella espera hasta 10 segundos la respuesta de tu endpoint.
- Éxito: cualquier respuesta
2xxse trata como entrega correcta. - Reintentos: las entregas fallidas se reintentan hasta 3 veces con backoff.
- Desactivación automática: si un webhook acumula 10 fallos consecutivos, Flowella lo desactiva. Tendrás que volver a activarlo desde Settings → Webhooks después de arreglar tu endpoint.
Idempotencia
Los webhooks pueden reintentarse, así que el mismo evento lógico puede llegar más de una vez. Para procesarlos de forma segura:- Usa el
data.iddel evento (o una clave derivada comoevent + data.messageId) como clave de idempotencia. - Mantén una caché de corta duración de las claves procesadas (unas pocas horas bastan para los reintentos).
- Trata los duplicados como no-op.
Listar y gestionar entregas
Settings → Webhooks muestra los últimos intentos de entrega por webhook, incluyendo:- Marca de tiempo
- Tipo de evento
- Estado de la respuesta
- Un cuerpo de respuesta truncado (hasta ~1 KB) para depuración

