Saltar al contenido

Webhooks

Webhooks management screen showing configured webhooks with event types and URLs

¿Que son los webhooks?

Los webhooks permiten que Hedy envie datos a otras aplicaciones y servicios en tiempo real. Cuando ocurre un evento, como el final de una sesion o la creacion de un punto destacado, Hedy envia los datos a una URL que usted especifique. Esto le permite construir automatizaciones poderosas sin necesidad de programar.

Por ejemplo, podria automaticamente:

  • Guardar transcripciones de reuniones en Google Docs o Notion

  • Publicar resumenes de sesiones en un canal de Slack

  • Crear tareas en Asana o Todoist a partir de elementos de accion

  • Registrar datos de sesiones en una hoja de calculo

Requisitos

  • Suscripcion Hedy Pro — Los webhooks son una funcionalidad Pro

  • Cloud Sync habilitado — Requerido para que Hedy pueda procesar eventos de webhook a traves de la nube

Puede ver sus webhooks sin Cloud Sync, pero necesita tenerlo habilitado para crear, editar o activarlos.

Configurar un webhook

  1. Abra Hedy y vaya a Settings

  2. Desplacese hasta la seccion API Access

  3. Toque Manage Webhooks

  4. Toque el boton + para agregar un nuevo webhook

  5. Ingrese un nombre (opcional) — una etiqueta para ayudarle a recordar para que sirve este webhook (por ejemplo, “Zapier — Meeting Notes”)

  6. Pegue la URL del webhook de su servicio externo — debe ser una URL HTTPS

  7. Seleccione los eventos a los que desea suscribirse (vea a continuacion)

  8. Toque Create

  9. Hedy muestra la clave de firma inmediatamente despues de la creacion. Esta es la unica vez que se muestra — copiela y guardela en un lugar seguro antes de cerrar el dialogo.

Puede crear hasta 10 webhooks.

Eventos disponibles

Elija que eventos activan su webhook:

Session Created — Se activa cuando inicia una nueva grabacion. Envia el titulo de la sesion y la hora de inicio.

Session Ended — Se activa cuando finaliza una grabacion. Envia los datos completos de la sesion incluyendo transcripcion, resumen, actas de reunion, puntos destacados e informacion del tema. Este es el evento mas completo.

Session Exported — Se activa cuando exporta manualmente una sesion a sus webhooks. Envia datos similares a Session Ended (transcripcion, resumen, puntos destacados, etc.).

Highlight Created — Se activa cada vez que se captura un punto destacado durante una sesion. Envia el texto del punto destacado, la perspectiva de IA y la marca de tiempo.

Todo Exported — Se activa cuando exporta un elemento de accion. Envia el texto del elemento pendiente, la fecha de vencimiento y la sesion asociada.

Exportar una sesion manualmente

Ademas de los eventos automaticos, puede enviar manualmente cualquier sesion a sus webhooks:

  1. Abra una sesion completada

  2. Toque Export to Webhook

  3. Si tiene multiples webhooks suscritos al evento Session Exported, seleccione a cuales enviar

  4. Confirme la exportacion

Probar su webhook

Antes de depender de un webhook, puede verificar que funciona:

  1. Vaya a Settings > API Access > Manage Webhooks

  2. Toque el boton test en cualquier webhook

  3. Hedy envia un payload de prueba a su URL y muestra si tuvo exito, junto con el codigo de estado de la respuesta

Si la prueba falla, verifique que la URL sea correcta y que su servicio externo este listo para recibir solicitudes.

Inspeccionar el payload con webhook.site

Si desea ver exactamente lo que Hedy envia — cada header, el cuerpo JSON completo, la firma — antes de conectar Zapier, Make o su propio servidor, webhook.site es la forma mas rapida:

  1. Abra webhook.site — se genera una URL unica al instante, sin necesidad de registrarse

  2. Copie la URL y peguela en su webhook de Hedy

  3. Toque test en Hedy (o active un evento real)

  4. Vuelva a webhook.site — cada solicitud aparece en tiempo real, con todos los headers, query string y cuerpo

Use esto para descubrir los nombres exactos de los campos y la estructura de los payloads de Hedy, y luego construya su automatizacion real en torno a esa estructura. El nivel gratuito acepta hasta 100 solicitudes por URL, mas que suficiente para depurar.

¿Que datos se envian?

Cada solicitud de webhook es un HTTP POST con un cuerpo JSON. Los datos dependen del tipo de evento, pero un evento Session Ended incluye:

  • Detalles de la sesion — Titulo, hora de inicio, hora de finalizacion, duracion

  • Transcripcion — El texto completo de su sesion

  • Conversaciones — Dialogo estructurado participante por participante

  • Actas de reunion — Puntos clave de discusion

  • Resumen — Resumen generado por IA

  • Puntos destacados — Cada punto destacado con su perspectiva de IA, cita y marca de tiempo

  • Tema — El nombre del tema y las perspectivas, si la sesion esta asignada a un tema

Seguridad y verificacion

Cada solicitud de webhook incluye una firma para que pueda verificar que genuinamente proviene de Hedy:

  • X-Hedy-Signature header — Un hash HMAC-SHA256 en bruto, codificado en hexadecimal, del cuerpo de la solicitud, firmado con la clave de firma unica de su webhook (sin prefijo sha256=). La clave se muestra una sola vez, cuando crea el webhook.

  • X-Hedy-Event header — El tipo de evento (por ejemplo, session.ended)

Todas las URLs de webhook deben usar HTTPS para garantizar que sus datos esten cifrados en transito. Hedy no enviara datos a endpoints HTTP.

Verificar la firma

Si esta construyendo su propio endpoint, verifique cada solicitud antes de confiar en ella. Calcule el HMAC-SHA256 del cuerpo de la solicitud en bruto con su clave de firma y comparelo con el header X-Hedy-Signature usando una comparacion en tiempo constante (un == normal es vulnerable a ataques de temporalizacion).

Node.js:

const crypto = require('crypto');

function verifyHedy(rawBody, signature, secret) {
  const expected = crypto.createHmac('sha256', secret).update(rawBody).digest('hex');
  const a = Buffer.from(expected, 'hex');
  const b = Buffer.from(signature, 'hex');
  return a.length === b.length && crypto.timingSafeEqual(a, b);
}

Python:

import hmac, hashlib

def verify_hedy(raw_body: bytes, signature: str, secret: str) -> bool:
    expected = hmac.new(secret.encode(), raw_body, hashlib.sha256).hexdigest()
    return hmac.compare_digest(expected, signature)

Importante: Use los bytes del cuerpo de la solicitud en bruto, exactamente como se recibieron. Volver a serializar el JSON analizado cambiara los espacios en blanco o el orden de las claves y la firma no coincidira.

Usar webhooks con plataformas populares

Zapier — Cree un Zap con “Webhooks by Zapier” como trigger. Elija “Catch Hook”, copie la URL del webhook y peguela en Hedy.

Make (anteriormente Integromat) — Agregue un modulo “Custom Webhook” como trigger de su escenario. Copie la URL generada y peguela en Hedy.

n8n — Agregue un nodo trigger “Webhook” a su flujo de trabajo. Copie la URL de produccion y peguela en Hedy.

Entrega y reintentos

Hedy reintenta automaticamente las entregas fallidas:

  • Errores del servidor (5xx) — Reintentado hasta 2 veces con demoras crecientes

  • Limite de tasa (429) — Reintentado una vez, respetando el tiempo de reintento del servicio

  • Errores del cliente (4xx) — No reintentado, ya que estos tipicamente indican un problema de configuracion

Lo que debe devolver su endpoint: Responda con cualquier estado 2xx (200 OK esta bien) dentro de los 30 segundos. El cuerpo de la respuesta se ignora. Si tiene trabajo intenso por hacer — guardar en una base de datos, llamar a otra API, generar un documento — devuelva 200 inmediatamente y procese el payload de forma asincrona; de lo contrario, Hedy agotara el tiempo de espera y marcara la entrega como fallida.

Solucion de problemas

Problemas en Hedy

Mensaje “Webhooks require Pro” — Actualice a Hedy Pro en Settings > Subscription para acceder a los webhooks.

Mensaje “Cloud Sync required” — Habilite Cloud Sync en Settings > Cloud Sync, o toque el boton Enable en el banner de advertencia que se muestra en la parte superior de la pantalla de Webhooks.

No recibe eventos — Verifique que Cloud Sync este habilitado, que el webhook este suscrito al evento correcto y que su suscripcion Pro este activa.

Problemas de entrega

Cuando la prueba falla o los eventos no llegan, la forma mas rapida de aislar el problema es apuntar el webhook a webhook.site y volver a probar. Si la solicitud aparece ahi, Hedy esta enviando correctamente y el problema esta en el lado receptor.

La prueba falla con un tiempo de espera agotado — Su endpoint debe responder en 30 segundos. Si esta realizando trabajo intenso (guardar en una base de datos, llamar a otra API, generar PDFs) antes de responder, devuelva 200 OK inmediatamente y procese el payload de forma asincrona.

Error de SSL o certificado — El certificado HTTPS de su endpoint ha caducado, es autofirmado o le faltan certificados intermedios. Pruebe con SSL Labs y renueve o corrija la cadena.

Conexion rechazada o 404 — La URL es incorrecta, la ruta no existe o el servidor no esta en ejecucion. Confirme la URL exacta activando una prueba contra webhook.site primero y luego comparando.

Zap o escenario de Make “404 not found” — El flujo de trabajo esta pausado, en modo borrador o apuntando a una URL de prueba en lugar de la URL de produccion. En Zapier, el Zap debe estar activado (On). En Make, el escenario debe estar activo (Active). En n8n, use la URL de Production, no la URL de Test.

Las solicitudes se descartan silenciosamente — Un firewall, WAF o plugin de seguridad (Wordfence, Sucuri, la proteccion de bots de Cloudflare) esta bloqueando los POST entrantes. Revise los registros de acceso de su servidor — si la solicitud de Hedy nunca aparece, agregue Hedy o el User-Agent que envia a la lista de permitidos.

La firma no coincide — Esta verificando contra JSON analizado/vuelto a serializar en lugar de los bytes del cuerpo de la solicitud en bruto, o ha antepuesto sha256= a la comparacion (Hedy no incluye ese prefijo). Consulte “Verificar la firma” mas arriba.

Consejo profesional: Comience suscribiendose al evento Session Ended — incluye los datos mas completos y es el mas util para construir automatizaciones en torno a sus notas de reuniones.