top of page

Serie N8N (XIII): Recibir datos externos con Webhooks

  • hace 4 días
  • 19 Min. de lectura

1.Automatizaciones que reaccionan: recibir datos externos con Webhooks

Hasta ahora, en esta serie sobre N8N hemos trabajado principalmente con automatizaciones que se ejecutan de forma manual o programada. Hemos creado workflows que arrancan cuando pulsamos un botón o cuando llega una hora concreta mediante Schedule Trigger.


Ese enfoque es muy útil y cubre muchísimos casos reales: tareas diarias, informes periódicos, notificaciones programadas o sincronizaciones automáticas.


Pero existe otra forma todavía más potente de automatizar procesos: reaccionar en el momento exacto en que ocurre algo externo, y ahí es donde entran en juego los Webhooks.


Diagrama de flujos en n8n mostrando automatizaciones con webhooks, Google Sheets y Telegram en fondo azul con texto informativo.
Serie N8N (XIII): Recibir datos externos con Webhooks

Un webhook permite que otro sistema envíe información directamente a N8N cuando sucede un evento. En lugar de esperar a una hora determinada, el workflow se activa justo cuando alguien envía datos.

Eso cambia completamente la filosofía de trabajo:

  • ya no trabajamos solo por horarios

  • trabajamos por eventos reales

  • la automatización ocurre en tiempo real

  • N8N se convierte en un receptor inteligente de datos externos

Por ejemplo:

  • un usuario rellena un formulario web

  • entra un nuevo pedido en una tienda online

  • se registra un pago

  • un sistema detecta una alerta técnica

  • una aplicación externa quiere enviarnos datos


En todos esos casos, un webhook puede recibir la información y lanzar automáticamente un workflow.

En este capítulo vamos a construir una automatización muy representativa: N8N recibirá datos externos mediante un webhook, guardará la información en Google Sheets y nos avisará por Telegram.

El flujo que construiremos será este:

Webhook
   ↓
Edit Fields (Set)
   ↓
Google Sheets
   ↓
Telegram
   ↓
Respond to Webhook

Este tipo de workflow es mucho más importante de lo que parece, porque representa el paso de las automatizaciones internas a las integraciones reales entre sistemas.

Con este artículo comenzamos una nueva etapa dentro de la serie: N8N ya no solo ejecuta tareas… ahora también escucha lo que ocurre fuera y actúa en consecuencia.


2.Qué es un Webhook y por qué es tan importante

Para entender realmente el potencial de N8N, hay un concepto que conviene dominar cuanto antes: el Webhook. Aunque el nombre pueda sonar técnico, la idea es bastante sencilla.


Un webhook es una URL especial que queda preparada para recibir información desde otros sistemas. Cuando alguien envía datos a esa dirección, N8N los recibe y puede iniciar automáticamente un workflow.

Dicho de forma simple:

Un webhook es la forma que tiene internet de “llamar” a tu automatización.

Antes: automatizaciones que preguntan

Muchos sistemas tradicionales funcionan consultando periódicamente si ha ocurrido algo.

Por ejemplo:

  • revisar cada hora si hay nuevos pedidos

  • comprobar cada 10 minutos si llegó un email

  • consultar si hay nuevos registros en una base de datos

Eso funciona, pero tiene limitaciones:

  • consume más recursos

  • introduce retrasos

  • requiere comprobaciones constantes

Ahora: automatizaciones que reaccionan

Con un webhook ocurre lo contrario. En lugar de preguntar continuamente, otro sistema avisa directamente cuando sucede algo.

Ejemplo:

  • un formulario recibe una nueva respuesta

  • Stripe registra un pago

  • Shopify crea un pedido

  • WordPress recibe un lead

  • una app interna genera un evento

En ese mismo instante, se envían datos al webhook y N8N reacciona automáticamente.


Diagrama de webhook en N8N recibiendo datos de sistemas externos y activando automatizaciones
Webhook

Por qué esto es tan importante

Los webhooks son una pieza clave porque permiten pasar de automatizaciones básicas a integraciones reales entre plataformas. Gracias a ellos, N8N puede actuar como centro de conexión entre herramientas distintas.

Por ejemplo:

Formulario Web
      ↓
Webhook N8N
      ↓
Google Sheets + Telegram + Email

O también:

Pago confirmado
      ↓
Webhook N8N
      ↓
Factura + Aviso + CRM

Una forma muy útil de entenderlo es esta:

  • Triggers programados → N8N inicia acciones por tiempo

  • Webhooks → otros sistemas activan N8N desde fuera


Es decir, un webhook convierte a N8N en una especie de puerta de entrada inteligente. Si Schedule Trigger sirve para automatizar tareas periódicas, los Webhooks sirven para automatizar eventos en tiempo real.


3.Qué vamos a construir en este artículo

En este capítulo vamos a crear un workflow completo que nos permitirá ver de forma práctica cómo funcionan los webhooks dentro de N8N. El objetivo será sencillo, pero muy representativo de muchos escenarios reales: recibir datos desde un sistema externo, almacenarlos y lanzar acciones automáticas inmediatamente.


Para ello construiremos una automatización que hará lo siguiente:

  1. Recibirá datos enviados desde fuera mediante un webhook.

  2. Limpiará y organizará la información recibida.

  3. Guardará esos datos en Google Sheets.

  4. Enviará una notificación por Telegram.

  5. Devolverá una respuesta confirmando la recepción.


Qué datos recibiremos

Para mantener el ejemplo claro y útil, simularemos el envío de datos como si procedieran de un formulario de contacto o de captación de leads.

La información recibida será:

{  "nombre": "Ana",  "email": "ana@email.com",  "mensaje": "Quiero más información sobre automatización con N8N"}

Este tipo de estructura es muy habitual en formularios web, CRMs o integraciones comerciales.


Qué haremos con esos datos

Cuando N8N reciba esa información, se guardará una nueva fila en Google Sheets

Fecha

Nombre

Email

Mensaje

Y recibiremos una alerta en Telegram

📩 Nuevo dato recibido por webhook👤 Nombre: Ana📧 Email: ana@email.com📝 Mensaje: Quiero más información sobre automatización con N8N

Además, responderemos al sistema externo

{  "ok": true,  "message": "Datos recibidos correctamente"}

Aunque sea sencillo, este workflow enseña una arquitectura muy utilizada en automatización real:

entrada de datos → procesamiento → almacenamiento → notificación → respuesta

Es decir, ya no estamos automatizando tareas internas, sino construyendo una pequeña integración entre sistemas.


4.Casos reales donde se usan Webhooks

Una de las mejores formas de entender el valor de los webhooks es observar dónde se utilizan en el mundo real. Aunque el concepto parezca técnico, en realidad están presentes en muchísimas herramientas digitales que usamos cada día. Siempre que una plataforma necesita avisar automáticamente a otra de que algo ha ocurrido, es muy probable que detrás exista un webhook.


Formularios web y captación de leads

Uno de los usos más habituales es recibir datos desde formularios online.

Por ejemplo: formulario de contacto de una web, solicitud de presupuesto, inscripción a un evento o descarga de un recurso gratuito

Cuando el usuario pulsa Enviar, el sistema puede mandar los datos a un webhook de N8N.

A partir de ahí, el workflow podría guardar el lead en Google Sheets, avisar por Telegram al equipo comercial, enviar email automático de respuesta o crear una oportunidad en un CRM

Formulario Web
      ↓
Webhook N8N
      ↓
CRM + Telegram + Email

Tiendas online y ecommerce

Las plataformas de ecommerce utilizan webhooks constantemente.

Ejemplos: nuevo pedido realizado, pago confirmado, pedido cancelado, producto sin stock, cliente nuevo registrado

Cuando ocurre uno de esos eventos, la tienda puede avisar a N8N en tiempo real.

Shopify / WooCommerce
        ↓
Webhook
        ↓
Factura + ERP + Telegram

Pagos y facturación

Herramientas como Stripe, PayPal o pasarelas de pago usan webhooks para comunicar operaciones importantes.

Por ejemplo: pago recibido, suscripción renovada, tarjeta rechazada, devolución realizada

Esto permite automatizar: creación de factura, alta de cliente, aviso interno, actualización de base de datos


Alertas técnicas y sistemas internos

En entornos técnicos también son muy comunes.

Ejemplos: servidor caído, error crítico en una aplicación, backup finalizado, sensor IoT detecta evento, monitorización supera umbral

El sistema envía el aviso al webhook y N8N ejecuta acciones automáticas.

Sistema técnico
      ↓
Webhook
      ↓
Telegram + Email + Registro

Integraciones entre herramientas SaaS

Muchos equipos trabajan con varias plataformas distintas: CRM, ERP, herramientas de marketing, helpdesk, calendario, project management

Los webhooks permiten que una herramienta avise a otra sin intervención manual.

Ejemplo:

Nuevo ticket en Helpdesk
         ↓
Webhook
         ↓
Crear tarea en Asana / Monday / Trello

Diagrama de workflow en N8N con webhook, Google Sheets, Telegram y respuesta automática
N8N & Webhook

Qué tienen en común todos estos casos

En todos los ejemplos anteriores ocurre lo mismo:

  1. sucede un evento en una plataforma

  2. se envían datos al webhook

  3. N8N reacciona automáticamente

Es decir:

Los webhooks convierten eventos aislados en procesos automatizados.

5.Crear el workflow de automatización

Después de entender qué es un webhook y en qué situaciones se utiliza, ha llegado el momento de construir nuestro propio flujo dentro de N8N. En este artículo vamos a crear una automatización completa que reaccionará cuando reciba datos externos. En lugar de ejecutarse a una hora concreta, el workflow arrancará justo en el momento en que otro sistema le envíe información.


El flujo que construiremos será el siguiente:

Webhook
   ↓
Edit Fields (Set)
   ↓
Google Sheets
   ↓
Telegram
   ↓
Respond to Webhook

Cada nodo tendrá una función concreta:

  • Webhook → recibe datos externos

  • Edit Fields (Set) → limpia y organiza la información

  • Google Sheets → guarda el registro

  • Telegram → avisa de que ha llegado un nuevo dato

  • Respond to Webhook → devuelve confirmación al sistema externo


Crear un nuevo workflow

Dentro de N8N creamos un nuevo workflow desde el botón: "Create workflow" y le asignamos un nombre:

LK_n8n_wf_Webhook_Leads_Sheets_Telegram

Nombrar bien los workflows es una práctica recomendable cuando empezamos a tener varias automatizaciones activas.


6. Configurar el nodo Webhook

Ahora que ya tenemos creado el workflow, vamos a configurar el nodo más importante de este artículo: Webhook.

Este nodo será la puerta de entrada de nuestra automatización. Su función consiste en quedarse “escuchando” una URL concreta y activar el workflow cuando reciba datos desde un sistema externo.

Dicho de otra forma:

Cuando alguien envíe información a esa dirección, N8N arrancará automáticamente el flujo.

6.1 Añadir el nodo Webhook

Dentro del workflow añadimos un nuevo nodo y buscamos:

Webhook

Lo colocamos como primer nodo del flujo, ya que será el encargado de iniciar todo el proceso.


6.2 Elegir el método HTTP

Un webhook puede recibir peticiones utilizando distintos métodos HTTP, es decir, distintas formas estándar de comunicarse con una URL. Cada método tiene una finalidad diferente y suele utilizarse en contextos concretos.


Métodos HTTP más habituales en Webhooks

  1. GET

Se utiliza normalmente para consultar información o comprobar que una URL responde correctamente.

No suele usarse para enviar datos complejos, ya que la información viaja normalmente en la propia URL mediante parámetros.

Ejemplo:

Usos típicos: pruebas rápidas desde navegador, verificaciones técnicas, consultas simples


  1. POST

Es el método más habitual cuando queremos enviar datos al webhook. La información viaja dentro del cuerpo de la petición (body), normalmente en formato JSON.

Ejemplo:

{  "nombre": "Ana",  "email": "ana@email.com"}

Usos típicos: formularios web, leads comerciales, eventos de Stripe, pedidos online, envío de datos desde apps externas

👉 En este artículo usaremos POST porque es el método más natural para recibir información estructurada.


  1. PUT

Se utiliza normalmente para actualizar información existente. En lugar de crear un nuevo registro, suele indicar que queremos modificar uno que ya existe.

Ejemplo:

Actualizar cliente ID 123

Usos típicos: actualizar datos de usuarios, modificar registros en sistemas externos, sincronizaciones entre plataformas


  1. DELETE

Se utiliza para indicar que queremos eliminar un recurso.

Usos típicos: borrar registros, cancelar elementos, eliminar suscripciones, limpiar datos en sistemas conectados


Qué método elegir en N8N

Depende del tipo de evento que quieras recibir:

Método

Uso habitual

Ejemplo

GET

Consultar / probar

Abrir webhook en navegador

POST

Crear / enviar datos

Formulario enviado

PUT

Actualizar

Cambio de cliente

DELETE

Eliminar

Baja de registro


6.3 Definir el Path

El Path es el nombre final que tendrá nuestra URL del webhook. Es decir, cuando otro sistema quiera activar ese workflow, deberá enviar los datos exactamente a esa dirección.

Por ejemplo:

form-leads

Eso hará que N8N genere una dirección similar a esta:

Este será el endpoint al que otros sistemas enviarán datos.

Conviene que el Path sea: claro, corto, sin espacios y relacionado con la función. Además es mejor evitar nombres confusos (nodo123, aaa,...) porque cuando tengas muchos workflows activos será difícil saber cuál es cuál.


Dentro de tu instancia de N8N, cada webhook necesita un Path distinto. No puedes tener dos workflows activos usando exactamente el mismo path porque habría conflicto. Por eso conviene organizar bien los nombres.


Puedes crear Paths más ordenados usando barras.

Ejemplo:

crm/form-leadsshop/new-orderalerts/server-downmarketing/newsletter-signup

Eso generaría URLs como:

Muy útil cuando empiezas a escalar automatizaciones.


Paneles de configuración de un webhook con icono, texto resaltado en rosa y detalles de URL. Se menciona POST y paths "form-leads".
Configuración nodo Webhook

6.4 Test URL y Production URL

N8N suele mostrar dos direcciones diferentes creadas a partir del PATH:

A. Test URL

Se utiliza mientras estamos construyendo y probando el workflow. Solo funciona cuando el workflow está en modo prueba o esperando ejecución manual.

B. Production URL

Es la dirección definitiva que se utilizará cuando el workflow esté activado. Esta será la URL real para integraciones en producción. La Production URL está pensada para funcionar 24/7, no solo mientras tienes abierto el editor.


Comparativa rápida

Tipo URL

Uso

Necesita workflow activo

Ideal para

Test URL

Pruebas y desarrollo

No

Depurar

Production URL

Uso real

Integraciones finales

6.5 Elegir el modo de respuesta

Cuando un sistema externo llama a un webhook, normalmente espera una respuesta HTTP. Es decir, no solo envía datos: también quiere saber si la operación ha ido bien, si hubo error o qué resultado obtuvo el servidor.

Por eso, además de recibir datos, un webhook también debe responder.

En N8N existen varias formas de hacerlo. Para este artículo utilizaremos la opción:

Response Mode: Using Respond to Webhook Node

Esto significa que el nodo Webhook no responderá automáticamente nada en ese momento, sino que dejará continuar el workflow hasta llegar a un nodo final llamado:

Respond to Webhook

Ese nodo será quien devuelva la respuesta al sistema que hizo la llamada.


El proceso sería así:

Sistema externo
      ↓
Webhook recibe datos
      ↓
Workflow procesa información
      ↓
Google Sheets / Telegram / lógica
      ↓
Respond to Webhook responde

Es decir:

primero trabajamos, luego respondemos.

Esto es muy útil porque nos permite:

  • procesar datos antes de responder

  • guardar información primero

  • devolver mensajes personalizados

  • controlar mejor el flujo completo


Si configuramos el webhook en modo automático, N8N puede responder inmediatamente nada más recibir la petición.

Eso sirve para casos simples, pero tiene limitaciones:

  • no sabes si el resto del workflow funcionó

  • no puedes personalizar la respuesta

  • no puedes devolver datos calculados

  • no puedes esperar a guardar información primero


6.6 Qué datos recibirá el nodo

Cuando alguien haga una petición POST con JSON como este:

{  "nombre": "Ana",  "email": "ana@email.com",  "mensaje": "Quiero más información"}

El nodo Webhook capturará esos datos y los pondrá a disposición del workflow, normalmente estarán dentro del campo:

body

Lo utilizaremos en el siguiente capítulo.


6.7 Qué hemos conseguido ya

Con solo este nodo configurado, ya tenemos algo muy importante:

Hemos creado una URL propia capaz de recibir datos y activar automatizaciones.

Ese es uno de los conceptos más potentes de N8N. En el siguiente apartado veremos cómo enviar datos a esa URL para probar el webhook en funcionamiento.


7. Enviar datos al Webhook para probarlo

Ya tenemos el nodo Webhook configurado. El siguiente paso es comprobar que realmente funciona y que N8N es capaz de recibir datos desde fuera. Para ello necesitamos hacer una petición HTTP a la URL del webhook enviando información de prueba. Dicho de forma sencilla:

vamos a simular que otro sistema nos manda datos.

Este paso es muy importante porque nos permite validar que la URL es correcta, el método HTTP funciona, los datos llegan a N8N, el workflow se activa correctamente, el body contiene la información esperada


7.1 Activar el modo prueba

Antes de enviar datos, debemos dejar el nodo Webhook escuchando en modo test.

Dentro de N8N pulsamos:

Listen for test event

En ese momento, N8N quedará esperando una petición en la Test URL.

Ejemplo:


Pantalla dividida, a la izquierda botón rojo "Listen for test event", a la derecha URL para solicitud POST, fondo oscuro.
Nodo Webhook escuchando

7.2 Método más fácil: usar curl

Una forma rápida y universal de probar un webhook es utilizando curl.

Si nunca lo has usado, no te preocupes: curl es simplemente una herramienta de línea de comandos que permite hacer peticiones HTTP desde una terminal o consola. Dicho de forma sencilla:

curl sirve para “hablar con URLs” desde el teclado.

Es una herramienta muy conocida porque viene disponible en muchos sistemas: Linux, macOS, Windows moderno, servidores y contenedores Docker. Por eso es perfecta para pruebas rápidas.


Con él podemos:

  • abrir páginas web

  • descargar archivos

  • llamar APIs

  • enviar datos JSON

  • probar webhooks

  • automatizar integraciones


Texto explicativo sobre cURL, una herramienta para transferir datos en la línea de comandos. Incluye un ejemplo de comando con colores.
cURL

Por qué usar curl aquí

En lugar de construir un formulario web o usar una aplicación externa, con curl podemos simular en segundos que otro sistema nos envía datos.

Es decir:

vamos a fingir que una web, app o servicio llama a nuestro webhook.

Ejemplo:

curl -X POST https://tu-n8n.com/webhook-test/form-leads \
-H "Content-Type: application/json" \
-d '{
  "nombre": "Ana",
  "email": "ana@email.com",
  "mensaje": "Quiero más información sobre automatización con N8N"
}'

Qué significa cada parte

  • curl: Es el programa que ejecutamos.

  • -X POST: indica el método HTTP que queremos usar.

    • En este caso enviamos datos al webhook.

POST
  • URL del webhook: es la dirección que recibirá la petición.

  • -H "Content-Type: application/json"

    • Añade una cabecera HTTP.

    • Le estamos diciendo al servidor: los datos que voy a enviar están en formato JSON.

  • -d

    • Significa data.

    • Después de -d colocamos el contenido que queremos enviar en el cuerpo de la petición.

    • En este caso:

{  "nombre": "Ana",  "email": "ana@email.com",  "mensaje": "Quiero más información"}

Qué ocurre al ejecutarlo

Cuando lanzamos ese comando:

  1. curl se conecta a la URL

  2. envía una petición POST

  3. manda el JSON

  4. N8N recibe los datos

  5. se activa el workflow

Es decir, el webhook “cobra vida”.


Interfaz de software con pantalla dividida. A la izquierda, opciones de Webhook; a la derecha, JSON de salida con datos de formulario. Colores oscuros.
Probando nodo Webhook

7.3 Alternativa visual: Postman o Thunder Client

Si no te gusta terminal no pasa nada. También puedes usar herramientas gráficas como:

  • Postman

  • Insomnia

  • Thunder Client (VS Code)

Solo necesitas:

  • Método: POST

  • URL del webhook

  • Body en formato JSON

Esto suele ser muy cómodo para pruebas repetidas.


7.4 Qué deberías ver en N8N

Si todo va bien, en cuanto envíes la petición:

  • el workflow se ejecutará

  • el nodo Webhook mostrará datos recibidos

  • aparecerá el body JSON

  • podrás inspeccionar cada campo

Algo similar a esto:

{
  "body": {
    "nombre": "Ana",
    "email": "ana@email.com",
    "mensaje": "Quiero más información sobre automatización con N8N"
  }
}

Si no ocurre nada, revisa:

Posible causa

Qué comprobar

URL incorrecta

Copiar exactamente la Test URL

Método erróneo

Usar POST

No está escuchando

Pulsar Listen for test event

JSON mal formado

Revisar comas y comillas

Firewall / red

Acceso a la URL

NOTA:

  • Si lo ejecutas en Windows ten cuidado con la sintaxis.

    • Si usas CMD usa esto

      • curl -X POST "http://localhost:5678/webhook-test/form-leads" -H "Content-Type: application/json" -d "{\"nombre\":\"Ana\",\"email\":\"ana@email.com\",\"mensaje\":\"Quiero más informacion sobre automatizacion con N8N\"}"

    • Si usas PowerShell usa esto:

      • curl -X POST "http://localhost:5678/webhook-test/form-leads" -H "Content-Type: application/json" -d '{\"nombre\":\"Ana\",\"email\":\"ana@email.com\",\"mensaje\":\"Quiero más información sobre automatización con N8N\"}'

  • Si estas construyendo el workflow y en este momento sólo tienes el nodo Webhook en tu workflow, tendrás que poner en "respond" el valor "Immediately" para la prueba del nodo porque si pones "Using respond to Webhook Node" te dará error


8. Preparar los datos recibidos (Nodo Edit Fields)

Ya hemos comprobado que el webhook funciona y que N8N es capaz de recibir información desde el exterior. El siguiente paso será transformar esos datos para dejarlos limpios, ordenados y listos para utilizarlos en el resto del workflow.

Aunque podríamos enviar directamente la información recibida a Google Sheets o Telegram, lo más recomendable es crear un paso intermedio donde preparemos los datos correctamente.

Para ello utilizaremos el nodo:

Edit Fields (Set)

El nodo Webhook suele entregar la información dentro de una estructura técnica similar a esta:

{
  "body": {
    "nombre": "Ana",
    "email": "ana@email.com",
    "mensaje": "Quiero más información sobre automatización con N8N"
  }
}

Es decir, los datos vienen dentro de:

body

Podemos trabajar así, pero resulta más limpio convertirlo en algo como esto:

{
  "fecha": "2026-04-22 10:35:00",
  "nombre": "Ana",
  "email": "ana@email.com",
  "mensaje": "Quiero más información sobre automatización con N8N"
}

Mucho más cómodo para Google Sheets, Telegram o cualquier nodo posterior.


Añadir el nodo Edit Fields (Set)

Después del nodo Webhook, añadimos el nodo "Edit Fields (Set)" y lo conectamos al flujo.


Ahora vamos a crear 4 campos: fecha, nombre, email y mensaje. Estos datos nos servirán para guardar el registro y generar la notificación.


1 Campo fecha

Añadimos una nueva variable usando una expresión:

{{ $now.format('yyyy-MM-dd HH:mm:ss') }}

Resultado:

2026-04-22 10:35:00

Esto añade trazabilidad: sabremos cuándo llegó cada registro.

2 Campo nombre

Leemos el valor recibido en el webhook:

{{$json.body.nombre}}

3 Campo email

{{$json.body.email}}

4 Campo mensaje

{{$json.body.mensaje}}
Pantalla de configuración de automatización N8N con campos de entrada de fecha, mensaje, nombre y email. Salida JSON visible. Emojis de configuración.
Nodo Edit Fields

Cuando ejecutemos este nodo, la salida será algo parecido a:

{
  "fecha": "2026-04-22 10:35:00",
  "nombre": "Ana",
  "email": "ana@email.com",
  "mensaje": "Quiero más información sobre automatización con N8N"
}

9. Guardar la información en Google Sheets

Ahora que ya tenemos los datos ordenados y preparados, llega uno de los pasos más útiles del workflow: almacenar esa información automáticamente en una hoja de cálculo. Para ello utilizaremos el nodo Google Sheets, que permite conectar N8N con hojas de Google y lo utilizaremos como una base de datos ligera, donde cada petición recibida por el webhook generará un nuevo registro.


Cuando recibimos datos externos mediante webhooks, muchas veces interesa conservarlos para seguimiento comercial, histórico de formularios, leads recibidos, incidencias reportadas, registros de eventos y trazabilidad de procesos

Google Sheets es perfecto para esto porque es visual, fácil de compartir, accesible desde cualquier lugar, no requiere base de datos compleja y se integra muy bien con N8N


Añadir el nodo Google Sheets

Después del nodo Edit Fields (Set) añadimos:

Google Sheets

Ahora vamos a configurarlo

A. Configurar credenciales

Seleccionamos la credencial OAuth2 de Google que ya vimos en artículos anteriores. Ejemplo:

Google Sheets OAuth2 API

Si todavía no la tienes creada, visita nuestro artículo anterior donde se explica en detalle como hacerlo: Serie N8N (XII): Automatizar Google Sheets — guardar datos automáticamente


B Elegir operación

En este caso queremos insertar nuevos registros, así que configuramos:

  • Resource: Sheet Within Document

  • Operation: Append Row (para añadir una nueva fila al final de la tabla cada vez que llegue un webhook)


C Seleccionar hoja de destino

Elegimos la hoja de Google Sheet y la pestaña donde vamos a guardar la información. En nuestro caso:

  • Document: "N8N Leads"

  • Sheet: "Hoja 1"


D Estructura recomendada de la hoja

Conviene tener encabezados claros en la primera fila:

Fecha

Nombre

Email

Mensaje

Así el mapeo será mucho más sencillo.

E Mapear columnas

Ahora conectamos los campos preparados en el nodo anterior:

  • Fecha → {{$json.fecha}}

  • Nombre → {{$json.nombre}}

  • Email → {{$json.email}}

  • Mensaje → {{$json.mensaje}}

Esto hará que cada dato vaya a su columna correspondiente.


Interfaz de n8n muestra datos enviados a Google Sheets: Fecha, Nombre, Email, Mensaje. Conexión webhook y filas editadas, sobre fondo oscuro.
Configuración Nodo Google Sheets

Resultado esperado

Cada vez que alguien envíe datos al webhook, se añadirá una nueva línea:

Fecha

Nombre

Email

Mensaje

2026-04-22 10:35

Ana

Quiero más información

2026-04-22 11:10

Luis

Solicito presupuesto

Así iremos creando un histórico automático.


10. Enviar una notificación por Telegram

Ya hemos conseguido algo muy potente: recibir datos externos mediante un webhook y guardarlos automáticamente en Google Sheets. Pero aún podemos mejorar el flujo añadiendo una capa muy útil en automatización real: enterarnos al instante de que algo ha ocurrido.


Para ello utilizaremos el nodo Telegram, que nos permitirá recibir una alerta automática cada vez que llegue un nuevo registro. De esta forma, el workflow no solo almacenará información, sino que además nos avisará en tiempo real.


Añadir el nodo Telegram

Después del nodo Google Sheets, añadimos:

Telegram

Nota: los detalles de como configurar el nodo de telegram, como crear un bot en Telegram y como obtener el token fue explicado en detalle en el artículo anterior de esta serie de articulos N8N: "https://www.lozkorp.com/single-post/serie-n8n-xi-notificaciones-autom%C3%A1ticas-con-telegram"


A. Configurar credenciales

Seleccionamos la credencial del bot de Telegram que vimos en capítulos anteriores.

Ejemplo:

LozN8NBot

B. Configuración principal

Elegimos:

  • Resource: Message

  • Operation: Send Message

Y en el campo Chat ID ponemos el identificador del chat donde queremos recibir la alerta.

Ejemplo:

123456789

C. Construir el mensaje

Podemos aprovechar los datos ya preparados para enviar una notificación útil y legible.

Ejemplo:

{{ '📩 Nuevo dato recibido por webhook\n\n👤 Nombre: ' + $json.nombre + '\n📧 Email: ' + $json.email + '\n📝 Mensaje: ' + $json.mensaje + '\n📅 Fecha: ' + $json.fecha }}
Interfaz de flujo de trabajo N8N con Webhook, Edit Fields y Append Row. Tabla muestra datos: Fecha, Nombre, Email y Mensaje. Texto visible.
Configuración Nodo Telegram

Resultado esperado

Cuando llegue un nuevo registro, Telegram mostrará algo como esto:

📩 Nuevo dato recibido por webhook
👤 Nombre: Ana
📧 Email: ana@email.com
📝 Mensaje: Quiero más información sobre automatización con N8N
📅 Fecha: 2026-04-22 10:35:00

Nota: para evitar que se añada al mensaje "This message was sent automatically with n8n" añade el campo adicional "Append n8n Attribution" y ponlo en NO


11. Responder al sistema externo (nodo Respond to Webhook)

Ya hemos recibido datos, los hemos procesado, guardado en Google Sheets y enviado una notificación por Telegram. Solo falta un último paso para cerrar correctamente el flujo:

responder al sistema que nos envió la petición.

Este punto es muy importante porque, en la mayoría de integraciones reales, quien llama a un webhook espera una respuesta. No basta con enviar datos; normalmente el sistema externo quiere saber si todo ha ido bien.

Para ello utilizaremos el nodo:

Respond to Webhook

Este nodo será el encargado de devolver la respuesta HTTP final.


Imagina un formulario web, una tienda online o una aplicación externa. Cuando envían datos al webhook suelen esperar algo como: confirmación de recepción, código de éxito, mensaje de error, datos de respuesta o siguiente acción recomendada. Si no reciben nada, pueden interpretar que algo ha fallado.


Añadir el nodo Respond to Webhook

Después del nodo Telegram añadimos:

Respond to Webhook
Flujo de trabajo muestra "Send a text message" y "Respond to Webhook". Panel derecho detalla respuesta JSON con mensaje de éxito. Fondo negro.
Configuración Nodo Respond to Webhook

Configuración básica

El nodo Respond to Webhook permite elegir cómo queremos responder al sistema externo que llamó a nuestro webhook. Esto es importante porque no todos los sistemas esperan el mismo tipo de respuesta. Algunos esperan texto simple, otros JSON estructurado y otros incluso redirecciones o archivos.

Por eso N8N ofrece distintas opciones en el campo:

Respond With

Posibles tipos de respuesta

1. Text

Devuelve texto plano. Se usa para pruebas rápidas, respuestas simples o integraciones muy básicas.

Ejemplo:

OK

o

Datos recibidos correctamente
2. JSON

Devuelve datos estructurados en formato JSON.

Se usa en APIs modernas, formularios web, apps externas, integraciones entre sistemas, automatizaciones profesionales....

Es la opción más habitual. Ejemplo

{  "ok": true,  "message": "Datos recibidos correctamente"}

En este artículo utilizaremos una respuesta sencilla en formato JSON. y escribimos algo como:

{
  "ok": true,
  "message": "Datos recibidos correctamente",
  "timestamp": " $json.fecha "
}
3. Redirect

Redirige al usuario o sistema hacia otra URL.

Muy útil en formularios web.

Ejemplo:

Usuario envía formulario
     ↓
Webhook
     ↓
Redirección a página Gracias
4. Binary File / File

Permite devolver archivos.

Ejemplos:

  • PDF generado automáticamente

  • CSV exportado

  • imagen

  • documento descargable

Casos típicos

Usuario solicita informe
      ↓
Webhook
      ↓
Descarga PDF automática
5. No Response / Custom avanzado

En algunos escenarios especiales puede manejarse la respuesta de forma más técnica o personalizada.

Esto suele usarse en integraciones avanzadas.


Qué verá el sistema externo

Si alguien llama al webhook mediante curl, Postman o una app externa, recibirá algo como:

{  "ok": true,  "message": "Datos recibidos correctamente"}

Eso confirma que la operación terminó correctamente.


Ventaja de responder al final

Como la respuesta se envía al final del workflow, primero se habrá ejecutado todo lo anterior:

  • recepción de datos

  • transformación

  • guardado en Google Sheets

  • notificación Telegram

Solo después responderemos. Eso permite devolver confirmaciones mucho más fiables.


12. Activar el workflow y probar la automatización

Ya tenemos todos los nodos configurados. Nuestro workflow está completo y listo para funcionar, pero antes de ponerlo en marcha de forma permanente conviene hacer una validación final.


Diagrama de flujo en fondo negro con iconos de Webhook, Edit Fields, Google Sheet, Telegram y conexiones que muestran pasos automatizados.
Workflow completo

En automatización profesional siempre es recomendable seguir este orden: primero probar, después activar.

De esta forma detectamos errores antes de conectar sistemas reales al webhook.


Primera prueba recomendada: modo Test

Lo mejor es empezar con la Test URL del webhook.

  • En el nodo Webhook pulsamos: "Listen for test event" y N8N quedará esperando una petición.

  • Enviar datos de prueba: podemos usar curl para enviar datos

  • Si todo va bien:

    • Google Sheets recibe una nueva fila

    • Telegram envia alerta

    • El emisor recibe respuesta JSON


Si algo falla, N8N indicará en qué nodo ocurrió el problema. Errores habituales:

Nodo

Posible causa

Webhook

URL incorrecta o método erróneo

Set

Campo mal referenciado

Google Sheets

Credenciales o columnas

Telegram

Chat ID o token

Respond

JSON mal formado

Pasar a Production

Cuando la prueba funcione correctamente:

  1. Guardamos el workflow

  2. Activamos el interruptor: Active (Publish)

  3. Usamos ya la Production URL:


13. Variaciones sencillas para experimentar

El workflow que hemos construido en este artículo es sencillo, pero representa una estructura extremadamente potente. Una vez que entiendes cómo recibir datos mediante un webhook, procesarlos y lanzar acciones automáticas, se abre un abanico enorme de posibilidades.

La lógica base seguirá siendo la misma:

Evento externo
     ↓
Webhook
     ↓
Procesar
     ↓
Acciones automáticas

Lo que cambia es el tipo de evento y qué hacemos con él.


1 Formularios reales de contacto

En lugar de usar curl, podemos conectar un formulario web real. Ejemplos: Web corporativa, Landing page,

Formulario de presupuesto, Captación de leads


2 Solicitudes internas en empresa

También sirve para automatizar peticiones internas: solicitud de material, alta de usuario, repore de incidencia, petición IT

Empleado envía solicitud
        ↓
Webhook
        ↓
Registro + aviso + tarea automática

3 Tienda online y ecommerce

Un pedido nuevo puede disparar procesos automáticos.

Ejemplos: nuevo pedido, pago recibido, stock bajo, pedido cancelado


4 Alertas técnicas

Muy útil para operaciones e infraestructura. Por ejemplo: servidor caído, CPI alta, backup terminado, error crítico.


5 IoT y sensores

Dispositivos físicos también pueden enviar eventos.

Ejemplos: sensor de temperatura, apertura de puerta, contador industrial, alarma técnica


6 Añadir inteligencia artificial

Más adelante podrás conectar este mismo webhook con IA.

Ejemplo:

Webhook recibe mensaje
        ↓
OpenAI / Claude
        ↓
Clasificación automática
        ↓
Respuesta o acción

7 Añadir lógica condicional

También podrías insertar un nodo IF.

Ejemplo:

Si lead urgente → Telegram inmediato
Si no → solo guardar en Sheets

14. Conclusión: Webhooks como puerta de entrada a la automatización real

En este capítulo hemos dado uno de los pasos más importantes de toda la serie de N8N.

Hasta ahora habíamos trabajado principalmente con automatizaciones internas: tareas manuales, ejecuciones programadas, consultas periódicas o flujos iniciados desde dentro de N8N.

Con los Webhooks cambia completamente el enfoque. Ahora N8N ya no solo ejecuta procesos cuando nosotros se lo pedimos. Ahora también puede recibir eventos desde el exterior y reaccionar en tiempo real.

Ese cambio es enorme.


A lo largo del capítulo hemos visto cómo:

  • crear una URL webhook propia dentro de N8N

  • entender métodos HTTP como POST

  • diferenciar Test URL y Production URL

  • probar el endpoint con curl o Postman

  • recibir datos JSON externos

  • limpiar la información con Edit Fields (Set)

  • guardar registros en Google Sheets

  • avisar automáticamente por Telegram

  • devolver respuestas JSON con Respond to Webhook

Es decir, hemos construido una integración real de principio a fin.


Idea clave para recordar: los triggers programados automatizan tareas repetitivas. Los webhooks automatizan lo que está ocurriendo ahora mismo, y esa diferencia es fundamental.


Si los capítulos anteriores enseñaban a automatizar tareas…este capítulo enseña a automatizar eventos.


🌐 Recursos

📘 Documentación oficial

💙 En Lozkorp, serie N8N

📦 Descargar el workflow de este artículo: LK_n8n_wf_Webhook_Leads_Sheets_Telegram.json


Comentarios


© 2025 by Lozkorp                                                         

bottom of page