Un webhook es un mecanismo por el cual, cuando se produce un evento concreto en un servicio, se envía automáticamente una solicitud HTTP (normalmente POST) a una URL registrada previamente. Es como dejar un número de teléfono diciendo "avísame si pasa algo": permite la integración entre servicios basada en eventos.
El concepto opuesto al webhook es el polling. Con polling, el cliente pregunta periódicamente "¿hay novedades?", lo que genera tráfico incluso cuando no hay cambios. Con un webhook, la notificación solo se envía cuando ocurre un evento.
En los servicios de URL cortas que ofrecen webhooks, un ejemplo de uso es recibir una notificación cada vez que se hace clic en un enlace. Por ejemplo, se puede enviar un aviso a un canal de Slack cuando alguien hace clic en un enlace de campaña importante, o acumular automáticamente los datos de clics en una base de datos propia.
Hay varios aspectos a tener en cuenta al implementar webhooks. Primero, el endpoint receptor se expone mediante HTTPS. Stripe exige que los endpoints registrados sean URL HTTPS de acceso público (según su documentación a octubre de 2026). Segundo, es necesario contemplar la lógica de reintentos en caso de que el envío falle. El número y el plazo de los reintentos varían según el servicio, y los eventos que se produzcan mientras el receptor está caído pueden perderse. Tercero, se verifica el origen del webhook comprobando la firma (por ejemplo, HMAC-SHA256).
Entre los servicios que usan webhooks están GitHub (notificaciones de push), Stripe (confirmación de pagos) y Slack (publicación de mensajes).