Tu primera automatización con n8n
Alguien rellena el formulario de tu web y, al segundo, te suena Telegram con su nombre, su correo y de dónde vino. Sin abrir el correo, sin revisar nada. Son dos piezas en n8n, y se montan en un rato.
n8n es una herramienta de automatización: conectas cajas (nodos), cada una hace una cosa, y los datos van pasando de una a otra. Aquí solo necesitas dos. Una que escucha cuando llega un lead de tu web, y otra que te avisa por Telegram. Esta es la foto completa:
Por qué vale la pena aprenderlo una vez: un webhook es una puerta de entrada universal. Cualquier cosa que pueda mandar una petición web puede llamar a la puerta, un formulario, otra app, un script. Y el segundo nodo es intercambiable. Aprende la forma webhook-a-acción una vez y puedes cablear casi cualquier "cuando pase X, haz Y" sin montar un backend.
1. El Webhook: la puerta de entrada
El nodo Webhook le da a tu flujo una dirección propia en internet. Cuando tu web envía el formulario a esa dirección (un POST), n8n se entera y arranca el flujo.
Lo único que decides aquí es el método (POST) y la ruta. n8n te da la URL completa arriba; cópiala, la vas a necesitar en el último paso. Deja la autenticación en "None" para la primera prueba, pero ponle una clave antes de usarlo de verdad: una URL abierta la puede llamar cualquiera.
2. El nodo de Telegram: el aviso
La segunda caja coge los datos del lead y te los manda. Antes necesitas un bot de
Telegram (lo creas hablando con @BotFather en Telegram, te da un token)
y guardarlo como credencial en n8n.
{{ $json.body.name }} meten los datos reales del lead dentro del mensaje.
La parte interesante es el texto. Lo que pongas se envía tal cual, pero los trozos
entre llaves dobles se rellenan con los datos que llegaron del formulario:
{{ $json.body.name }} pone el nombre,
{{ $json.body.email }} el correo. Así el mensaje
llega ya con la información, no vacío.
3. Conecta tu web
Falta el último cable: que tu formulario envíe los datos a la URL del webhook. En la web, cuando alguien envía el formulario, haces un POST a esa dirección con los campos en el cuerpo. Eso es todo: la web manda el lead, n8n lo recibe y Telegram te avisa.
Para probarlo sin tocar la web todavía, n8n trae un botón de "Listen for test event": lo pulsas, mandas un POST de prueba a la URL, y ves los datos entrar en vivo.
Cuando algo se rompe
Tropiezos de la primera automatización, y el arreglo:
- El evento de prueba no llega. Estás pegando a la dirección equivocada. n8n tiene una URL de prueba y otra de producción; mientras pruebas, pulsa "Listen for test event" primero y pega a la de prueba.
- Telegram dice "unauthorized", o no llega nada. El token del bot está mal, o nunca le escribiste al bot. Abre un chat con él, manda
/startuna vez, y reenvía. - El mensaje llega vacío. La ruta del campo no coincide con los datos que entraron. Mira lo que recibió n8n y copia la ruta exacta: puede ser
{{ $json.body.name }}o solo{{ $json.name }}. - Va en prueba, muerto en producción. El flujo no está Activo. Activa el toggle, y apunta tu formulario a la URL de producción, no a la de prueba.
Ahora prueba esto
Dos nodos era la lección. El alcance:
- Cambia la segunda caja. Guarda el lead en una hoja de Google, mételo en tu CRM, o mándalo por correo. Mismo webhook, otra acción.
- Añade un filtro. Mete un nodo IF en medio para que solo te avisen los leads que importan.
- Manda un resumen. Junta los leads del día y que una tarea programada mande la lista cada tarde, un mensaje en vez de veinte.
- Encadénalo. Un disparador, varias acciones seguidas: te avisa, etiqueta el lead, y le responde.
Lo que acabas de montar
Una cosa que pasa sola: lead que entra, aviso que sale, sin que tú estés mirando. Y el patrón no es solo para Telegram. Cambia el segundo nodo y el mismo webhook te guarda el lead en una hoja de cálculo, lo mete en tu CRM, o te manda un correo. La primera automatización es la difícil; la segunda ya es cambiar una caja.
Déjame tu correo y te aviso cuando publique el próximo build, con el código y los prompts que usé. Sin spam.
Más tutoriales ↗