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.

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.

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 + EmailO también:
Pago confirmado
↓
Webhook N8N
↓
Factura + Aviso + CRMUna 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:
Recibirá datos enviados desde fuera mediante un webhook.
Limpiará y organizará la información recibida.
Guardará esos datos en Google Sheets.
Enviará una notificación por Telegram.
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 | 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 N8NAdemá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 + EmailTiendas 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 + TelegramPagos 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 + RegistroIntegraciones 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
Qué tienen en común todos estos casos
En todos los ejemplos anteriores ocurre lo mismo:
sucede un evento en una plataforma
se envían datos al webhook
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 WebhookCada 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_TelegramNombrar 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:
WebhookLo 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
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
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.
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 123Usos típicos: actualizar datos de usuarios, modificar registros en sistemas externos, sincronizaciones entre plataformas
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-leadsEso 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-signupEso generaría URLs como:
Muy útil cuando empiezas a escalar automatizaciones.

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 | Sí | 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 NodeEsto 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 WebhookEse 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 respondeEs 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:
bodyLo 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 eventEn ese momento, N8N quedará esperando una petición en la Test URL.
Ejemplo:

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

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.
POSTURL 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:
curl se conecta a la URL
envía una petición POST
manda el JSON
N8N recibe los datos
se activa el workflow
Es decir, el webhook “cobra vida”.

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:
bodyPodemos 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:00Esto 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}}
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 SheetsAhora vamos a configurarlo
A. Configurar credenciales
Seleccionamos la credencial OAuth2 de Google que ya vimos en artículos anteriores. Ejemplo:
Google Sheets OAuth2 APISi 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 | 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.

Resultado esperado
Cada vez que alguien envíe datos al webhook, se añadirá una nueva línea:
Fecha | Nombre | 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:
TelegramNota: 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:
LozN8NBotB. 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:
123456789C. 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 }}
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:00Nota: 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 WebhookEste 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
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 WithPosibles tipos de respuesta
1. Text
Devuelve texto plano. Se usa para pruebas rápidas, respuestas simples o integraciones muy básicas.
Ejemplo:
OKo
Datos recibidos correctamente2. 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 Gracias4. 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ática5. 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.

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:
Guardamos el workflow
Activamos el interruptor: Active (Publish)
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áticasLo 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ática3 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ón7 Añadir lógica condicional
También podrías insertar un nodo IF.
Ejemplo:
Si lead urgente → Telegram inmediato
Si no → solo guardar en Sheets14. 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
Telegram Bots https://core.telegram.org/bots
Documentación del nodo Telegram en N8N https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.telegram/
ZenQuotes API https://zenquotes.io/
💙 En Lozkorp, serie N8N
Serie N8N (I): Automatiza tu mundo. Definición e instalación en local
Serie N8N (II): Interfaz y Configuración – Comprende tu entorno de trabajo
Serie N8N (V): Control de flujo – Condiciones, decisiones y ramificaciones
Serie N8n (VI): Entender los datos – cómo fluye la información en un workflow
Serie N8N (VII): Instalar N8N con Docker – del local al servidor sin miedo
Serie N8N (VIII): Ejecutar workflows en Docker y resolver problemas de acceso a archivos
Serie N8N (IX): Automatizar tareas programadas con Schedule Trigger
Serie N8N (XII): Automatizar Google Sheets — guardar datos automáticamente
📦 Descargar el workflow de este artículo: LK_n8n_wf_Webhook_Leads_Sheets_Telegram.json





















Comentarios