webhooks n8n
Cómo usar webhooks en n8n: guía para principiantes

Cómo usar webhooks en n8n: guía para principiantes

Si llevas un tiempo usando n8n, en algún momento habrás visto la palabra “webhook” y habrás pasado de largo. Es uno de esos términos que suena más complicado de lo que es. Una vez que lo entiendes, te das cuenta de que los webhooks son una de las herramientas más potentes de toda la automatización — y que sin ellos, muchos flujos de trabajo simplemente no son posibles.

Esta guía está pensada para quien nunca ha configurado un webhook antes. Sin tecnicismos innecesarios, con ejemplos reales.


Qué es un webhook (explicado sin tecnicismos)

Un webhook es una forma de que una aplicación avise a otra en tiempo real cuando ocurre algo.

Imagina que tienes un empleado cuya única función es esperar junto al teléfono. Cuando alguien llama, él coge el teléfono, anota el mensaje y lo pasa al departamento correspondiente. Eso es exactamente lo que hace un webhook en n8n: espera, recibe el mensaje y lo procesa.

La diferencia con otras formas de conectar aplicaciones es el tiempo real. En lugar de que n8n pregunte cada X minutos “¿ha pasado algo?”, la aplicación externa le avisa directamente en el momento en que ocurre el evento. Es mucho más eficiente.

Ejemplos de cuándo se usa un webhook:


Cómo funciona un webhook en n8n

Cuando añades el nodo Webhook a un workflow en n8n, este genera automáticamente una URL única. Esa URL es la “dirección” a la que las aplicaciones externas enviarán sus datos.

El flujo es siempre el mismo:

Aplicación externa → envía datos a la URL del webhook → n8n los recibe → ejecuta el workflow

Cada webhook tiene una URL de prueba (para desarrollo) y una URL de producción (para uso real). Es importante no confundirlas.


Paso a paso: configurar tu primer webhook en n8n

Paso 1 — Crea un workflow nuevo

Abre n8n, haz clic en “Nuevo workflow” y dale un nombre descriptivo.

Paso 2 — Añade el nodo Webhook

Haz clic en el + para añadir un nodo y busca “Webhook”. Selecciónalo y aparecerá en el canvas.

Paso 3 — Configura el nodo

Al abrir el nodo verás estas opciones principales:

Paso 4 — Copia la URL de prueba

Con el nodo configurado, haz clic en “Listen for test event”. n8n se queda esperando recibir datos. Copia la URL de prueba que aparece — la necesitarás en el siguiente paso.

Paso 5 — Envía datos de prueba

Ve a la aplicación que quieres conectar (Typeform, tu web, Postman, etc.) y configúrala para que envíe datos a esa URL. También puedes usar Postman o cualquier herramienta de prueba de APIs para simular el envío.

Una forma sencilla de probar sin ninguna app externa: abre una nueva pestaña en el navegador y escribe la URL del webhook con ?nombre=Juan&email=juan@ejemplo.com al final. Si el método es GET, n8n recibirá esos datos.

Paso 6 — Verifica que llegan los datos

Cuando n8n recibe los datos, los muestra en el nodo Webhook. Verás exactamente qué información llegó y en qué formato. Eso te permite saber cómo referenciarlos en los nodos siguientes.

Paso 7 — Construye el resto del workflow

A partir del nodo Webhook, añade los nodos que necesites para procesar esos datos: guardarlos en Google Sheets, enviar un email, crear una tarea en Notion, etc.

Paso 8 — Activa el workflow y usa la URL de producción

Cuando el workflow esté listo, actívalo con el toggle de arriba a la derecha. Ahora usa la URL de producción (no la de prueba) en tu aplicación externa. La de prueba solo funciona cuando n8n está en modo “escucha activa”.


Ejemplo real: formulario web → Google Sheets

Vamos a construir un caso concreto: cada vez que alguien rellena un formulario de contacto, los datos se guardan automáticamente en Google Sheets.

Estructura del workflow:

Webhook → Google Sheets (Append Row)

Configuración:

  1. Nodo Webhook: método POST, path contacto
  2. En tu formulario web (HTML, Typeform, Tally…) configura la acción para enviar los datos a la URL del webhook
  3. Nodo Google Sheets: operación “Append Row”, selecciona tu hoja y mapea los campos:
    • Nombre → {{ $json.nombre }}
    • Email → {{ $json.email }}
    • Mensaje → {{ $json.mensaje }}

Cuando alguien rellena el formulario, los datos aparecen en Google Sheets en segundos. Si quieres ver este caso de uso más en detalle, aquí tienes la guía completa: automatizar Google Sheets con n8n.


Ejemplo real: recibir pagos y automatizar el onboarding

Otro caso muy común: cuando alguien completa un pago en Stripe o PayPal, n8n recibe el webhook, crea el usuario en tu plataforma, envía el email de bienvenida y notifica a tu equipo en Slack.

Estructura:

Webhook (Stripe) → Crear usuario → Email bienvenida → Notificación Slack

Stripe, como la mayoría de pasarelas de pago, tiene una sección en su panel para configurar webhooks. Solo tienes que pegar la URL de producción de tu nodo Webhook en n8n y seleccionar qué eventos quieres recibir (payment.completed, por ejemplo).


Diferencia entre webhook y polling

Hay dos formas de que n8n detecte que algo ha ocurrido en una aplicación externa:

WebhookPolling
Cómo funcionaLa app avisa a n8n en tiempo realn8n pregunta a la app cada X tiempo
VelocidadInstantáneoDepende del intervalo
EficienciaAlta (solo actúa cuando hay algo)Baja (consulta aunque no haya nada)
RequiereQue la app soporte webhooksSolo acceso a la API
EjemploFormulario → webhookRevisar nuevos emails cada 5 min

Siempre que la aplicación soporte webhooks, úsalos. Son más rápidos y consumen menos recursos.


Errores frecuentes al configurar webhooks

Usar la URL de prueba en producción La URL de prueba solo funciona cuando n8n está activamente escuchando (en modo desarrollo). Si la usas en producción, los datos llegarán y se perderán. Siempre usa la URL de producción en aplicaciones reales.

Workflow no activado Si el workflow no está activado (toggle en off), el webhook de producción no responde. Asegúrate de activarlo antes de probarlo en producción.

Método HTTP incorrecto Si tu aplicación envía datos con POST pero el nodo Webhook está configurado para GET, no funcionará. Verifica que el método coincide en ambos lados.

Datos en formato incorrecto Algunas aplicaciones envían los datos como application/x-www-form-urlencoded y otras como application/json. n8n gestiona ambos, pero si los datos no llegan como esperas, revisa el formato que usa la aplicación.


Proteger tu webhook con autenticación

Si tu webhook va a recibir datos sensibles o no quieres que cualquiera pueda enviarle datos, activa la autenticación:

En el nodo Webhook → Authentication → selecciona Header Auth o Basic Auth.

Con Header Auth, la aplicación externa tiene que incluir una cabecera específica con un token secreto que tú defines. Si no lo incluye, n8n rechaza la petición.


Preguntas frecuentes

¿Todos los servicios tienen webhooks? No, pero la mayoría de servicios modernos sí. Typeform, Stripe, Shopify, GitHub, Slack, Notion, Airtable, WhatsApp Business… todos tienen webhooks. Si un servicio no tiene webhook, puedes usar el nodo de polling en n8n como alternativa.

¿Puedo tener varios webhooks en el mismo workflow? Técnicamente sí, pero no es habitual. Lo normal es tener un webhook por workflow. Si necesitas recibir eventos de varias fuentes, crea un workflow por cada una.

¿Qué pasa si n8n está caído cuando llega un webhook? Si n8n no está disponible cuando llega el webhook, el dato se pierde. La mayoría de aplicaciones tienen un mecanismo de reintento (envían el webhook varias veces si no obtienen respuesta), pero no todas. Para sistemas críticos, configura n8n en un servidor estable con monitorización.

¿Los webhooks funcionan en n8n local (PC)? En n8n local, el webhook solo es accesible desde tu red local. Para recibir webhooks de servicios externos como Stripe o Typeform, necesitas que tu n8n sea accesible desde internet, lo que requiere un VPS o un túnel como ngrok para pruebas.

¿Cuántos webhooks puedo tener en n8n? En la versión self-hosted no hay límite. Puedes tener tantos workflows con webhooks como necesites.


¿Quieres ver los webhooks en acción en un caso real? Aquí tienes la guía de captación de leads con n8n: automatizar captación de leads con n8n y tu CRM.