Webhooks

Recibe notificaciones HTTP POST en tiempo real cuando agentes de IA interactuan con tu sitio web. Integra eventos de dat2ai en tus flujos de trabajo existentes.

Que son los Webhooks?

Los webhooks son solicitudes HTTP POST automatizadas que dat2ai envia a tu servidor cuando ocurren eventos especificos en tu sitio. En lugar de consultar la API para nuevos eventos, tu servidor los recibe en tiempo real.

Por ejemplo, puedes recibir una notificacion instantanea en Slack cuando un agente de IA envia un formulario de contacto, o registrar la interaccion en tu sistema CRM automaticamente.

Configuracion

Crea un endpoint de webhook desde el dashboard de dat2ai para empezar a recibir notificaciones de eventos.

1

Navega a Webhooks

Ve a Dashboard > Cuenta > seccion Webhooks.

2

Introduce tu URL de endpoint

Proporciona la URL HTTPS de tu servidor que recibira las solicitudes POST del webhook. Por ejemplo: https://tu-servidor.com/webhook/dat2ai

3

Selecciona tipos de eventos

Elige que tipos de eventos deben activar el webhook. Puedes seleccionar todos los eventos o tipos especificos como solo invocaciones.

4

Copia tu secreto de webhook

Despues de crear el webhook, se genera un secreto unico. Copialo inmediatamente — solo se mostrara una vez. Usaras este secreto para verificar las firmas del webhook.

Formato del Payload

Cada entrega de webhook envia un payload JSON que contiene un array de eventos y metadatos:

{
  "events": [
    {
      "event_id": "evt_abc123",
      "site_id": "site_xyz",
      "tool_name": "contact-form",
      "event_type": "invocation",
      "agent_type": "browser_agent",
      "consent_given": true,
      "timestamp": "2026-02-16T12:00:00Z"
    }
  ],
  "siteId": "site_xyz",
  "timestamp": "2026-02-16T12:00:00Z"
}

El array de eventos puede contener uno o mas eventos. Los eventos se agrupan por eficiencia — tu endpoint puede recibir multiples eventos en una sola solicitud.

Verificacion de Firma

Cada solicitud de webhook incluye una cabecera X-Webhook-Signature que contiene una firma HMAC-SHA256. Siempre verifica esta firma para asegurar que la solicitud proviene de dat2ai y no fue manipulada.

X-Webhook-Signature

Digest hex HMAC-SHA256 del cuerpo de la solicitud, firmado con tu secreto de webhook.

Aqui hay un ejemplo en Node.js para verificar la firma del webhook:

const crypto = require('crypto');

function verifyWebhookSignature(req, webhookSecret) {
  const signature = req.headers['x-webhook-signature'];
  const payload = JSON.stringify(req.body);

  const expected = crypto
    .createHmac('sha256', webhookSecret)
    .update(payload)
    .digest('hex');

  const valid = crypto.timingSafeEqual(
    Buffer.from(signature),
    Buffer.from(expected)
  );

  return valid;
}

// Express.js example
app.post('/webhook', (req, res) => {
  if (!verifyWebhookSignature(req, process.env.WEBHOOK_SECRET)) {
    return res.status(401).json({ error: 'Invalid signature' });
  }

  const { events } = req.body;
  for (const event of events) {
    console.log('Received:', event.event_type, event.tool_name);
  }

  res.status(200).json({ received: true });
});

Siempre usa crypto.timingSafeEqual para comparar firmas y prevenir ataques de timing. Nunca uses igualdad simple de strings (===).

Tipos de Eventos

Los siguientes tipos de eventos pueden activar entregas de webhook:

Tipo de EventoDescripcion
invocation

Un agente de IA invoco exitosamente un tool (envio un formulario)

cancel

Un agente de IA inicio pero cancelo una invocacion de tool antes de completarse

rate_limited

Un agente de IA fue bloqueado por reglas de rate limiting

consent_given

Un usuario acepto el aviso de consentimiento de IA

consent_denied

Un usuario rechazo el aviso de consentimiento de IA

Entrega

Como dat2ai entrega las notificaciones de webhook a tu endpoint:

POST

Todos los webhooks se entregan como solicitudes HTTP POST a tu URL de endpoint configurada.

10s

Timeout por intento de entrega. Si tu endpoint no responde en 10 segundos, la entrega se considera fallida.

Content-Type

application/json — todos los payloads estan codificados en JSON.

Reintentos

Actualmente fire-and-forget. Sin reintentos automaticos en caso de fallo. Recomendamos implementar handlers idempotentes y monitorizar tu endpoint para disponibilidad.

Casos de Uso

Notificaciones de Slack

Envia un mensaje a un canal de Slack cada vez que un agente de IA interactue con tus formularios. Ideal para visibilidad en tiempo real — tu equipo ve cada interaccion al momento.

Integracion CRM

Crea o actualiza automaticamente contactos en tu CRM (HubSpot, Salesforce, Pipedrive) cuando un agente de IA envia un formulario de leads en tu nombre.

Analiticas Personalizadas

Alimenta eventos en tu propio pipeline de analiticas (BigQuery, Mixpanel, Amplitude) para dashboards personalizados, analisis de cohortes e informes multiplataforma.

Alertas de Seguridad

Activa alertas en PagerDuty, Opsgenie o tu sistema de monitoreo cuando se alcancen rate limits o se detecte actividad inusual de agentes en tu sitio.