Webhooks: cómo conectar dos herramientas cualquiera

Es la pieza que conecta cualquier cosa con cualquier cosa, y se entiende en cinco minutos. Qué es un webhook, cómo se monta y qué falla siempre.

Hay una palabra que aparece en todos los tutoriales de automatización y que hace que mucha gente cierre la pestaña: webhook.

Suena a cosa de programadores. No lo es. Es de los conceptos más sencillos que hay en todo esto, y entenderlo es lo que te desbloquea la capacidad de conectar prácticamente cualquier herramienta con cualquier otra.

Cinco minutos y lo tienes.

¿Cómo conecto dos herramientas que no se hablan?

Con un webhook: una dirección web que se queda esperando a que le manden algo, y que arranca lo que tú quieras cuando eso llega.

La analogía que mejor funciona es la del timbre de casa. Tu casa tiene un timbre. Cualquiera que sepa dónde vives puede pulsarlo. Cuando lo pulsan, tú te levantas y abres.

El webhook es tu timbre. La URL es tu dirección. Y lo que haces al abrir la puerta es tu automatización.

Lo único distinto es que quien llama no es una persona: es otra herramienta. Y no llega con las manos vacías: llega con un paquete de datos.

Por qué esto es mejor que estar preguntando

La alternativa al webhook es lo que se llama consultar cada cierto tiempo. Tu automatización pregunta cada cinco minutos: "¿ha llegado algo nuevo? ¿y ahora? ¿y ahora?".

Funciona, pero tiene dos problemas. Uno, gasta ejecuciones a lo tonto, y en las herramientas de automatización eso se paga. Dos, siempre llegas tarde: hasta cinco minutos tarde.

Con webhook no preguntas nada. Te avisan en el instante en que pasa. Cero espera y cero ejecuciones desperdiciadas.

Por eso, siempre que la herramienta de origen soporte webhooks, se usa webhook. Y si no los soporta, entonces sí, consultar cada X minutos.

Cómo se monta, en cuatro pasos reales

Paso 1: crea el webhook en el lado que recibe. En n8n añades un nodo de webhook como primer paso del flujo. Lo que te da es una URL. Esa URL es tu timbre.

Ojo aquí, que es el error número uno de todos los principiantes: te da dos URL. Una de prueba y una de producción. La de prueba solo escucha mientras tienes el flujo abierto y le has dado a escuchar. La de producción funciona siempre, pero solo si el flujo está activado.

Paso 2: pega esa URL en el lado que envía. En la otra herramienta buscas la sección de webhooks, integraciones o notificaciones. Pegas la URL y eliges qué eventos quieres que la disparen.

Paso 3: dispara una vez de verdad. Aquí está el paso que la gente se salta y que hace que todo lo demás sea fácil. Pon el webhook a escuchar y provoca el evento real: envía el formulario, crea el pedido de prueba, haz lo que sea.

Lo que llega es el paquete de datos con su estructura exacta. Ahora ya sabes que el nombre viene en un campo que se llama "name" y no "nombre", y que el correo viene dentro de otro nivel llamado "customer". Sin este paso estás adivinando.

Paso 4: construye el resto del flujo con esos datos delante. Y solo entonces. Guardar en la base, mandar el correo, avisarte, lo que toque.

Los datos que llegan y cómo se leen

Lo que te manda el webhook viene en un formato que se llama JSON. Da miedo la primera vez y luego es una lista de la compra.

Son parejas de nombre y valor: "nombre" es "María", "correo" es tal cosa, "importe" es 49. A veces hay cajas dentro de cajas: dentro de "cliente" está "dirección", y dentro de "dirección" está "ciudad".

Para cogerlo, se va bajando por niveles. Si el flujo te lo muestra visualmente, arrastras el campo y ya está. Si tienes que escribirlo, es cliente, punto, dirección, punto, ciudad.

No hace falta entender más. Con eso ya puedes trabajar con cualquier webhook del mundo. Si quieres la explicación larga del concepto, la tengo desmenuzada en qué es un webhook, explicado.

Cómo probar un webhook sin tener la otra herramienta lista

Esto te va a pasar el primer día: quieres montar el flujo pero todavía no tienes configurada la herramienta que va a llamarlo.

Hay dos formas de salir del paso.

La primera es usar un servicio de los que existen para esto: te dan una URL temporal que recoge lo que le mandes y te lo enseña por pantalla. Sirve para ver qué envía exactamente la herramienta de origen antes de tocar tu flujo.

La segunda, y la que más uso, es dispararlo tú a mano. En tu propio flujo hay una opción para ejecutarlo con datos de ejemplo: pegas un paquete inventado con la misma estructura y construyes todo lo demás encima. Cuando la herramienta real esté lista, cambias la fuente y lo demás ya funciona.

Esto es útil también para reproducir un error. Si un día llega un paquete raro y te rompe el flujo, guárdatelo. Con ese paquete puedes reproducir el fallo las veces que quieras sin esperar a que vuelva a pasar en real.

Lo que se te va a atascar

Has usado la URL de prueba en producción. El clásico de los clásicos. Funciona mientras pruebas, dejas de mirar, y a los tres días descubres que no ha entrado nada. Cuando termines de montar: cambia a la URL de producción y activa el flujo. Las dos cosas.

El webhook recibe pero el flujo falla. Mira siempre el registro de ejecuciones. Ahí ves el paquete que llegó y en qué paso se rompió. El noventa por ciento de las veces es un campo que venía vacío.

La otra herramienta no acepta tu URL. Algunas exigen que la dirección responda correctamente en el momento de guardarla. Si tu flujo no está activo, no responde y te la rechaza. Actívalo antes de pegarla.

Llegan dos veces. Pasa más de lo que crees: si tu flujo tarda en responder, la herramienta de origen reintenta. Por eso conviene que lo primero que haga tu flujo sea responder rápido, y el trabajo pesado después. Y por eso conviene comprobar si el registro ya existe antes de crearlo.

Cualquiera puede pulsar tu timbre. Esa URL es pública. Si alguien la descubre, puede dispararte el flujo con datos inventados. Para cosas sensibles, ponle autenticación al webhook: casi todas las herramientas te dejan exigir una clave en la cabecera.

No te enteras de que se ha roto. Un webhook que deja de funcionar no avisa. Configura una notificación de error en el flujo y, si es algo crítico, un aviso si no ha entrado nada en veinticuatro horas.

Y ahora qué

Monta uno hoy, aunque sea inútil. En serio: un flujo con un webhook que reciba algo y te mande un mensaje a ti. Diez minutos.

Provoca el evento, mira lo que llega, toca los datos. Cuando hayas visto una vez el paquete entrando en tiempo real, el concepto se te queda para siempre y ya no vuelves a bloquearte con esta palabra.

A partir de ahí, todo lo demás es combinarlo. Si quieres el primer flujo completo de principio a fin, lo tienes en tu primer workflow en n8n. Y el mapa entero de qué automatizar y qué dejar a mano está en la guía de automatización y agentes con IA.

Si no sabes por dónde empezar a meter automatización e IA en lo tuyo, hice un test corto que te sitúa y te dice qué toca primero.

Hacer el test

Relacionado

Sigue leyendo